Zero size gradient should paint nothing on canvas
https://bugs.webkit.org/show_bug.cgi?id=102654

Patch by Rashmi Shyamasundar <rashmi.s2@samsung.com> on 2013-02-01
Reviewed by Dirk Schulze.

Source/WebCore:

The functions fill(), fillText(), stroke(), strokeRect() and strokeText()
should paint nothing on canvas when the canvas fillStyle/strokeStyle
is set to a zero size gradient.

Tests: fast/canvas/canvas-fill-zeroSizeGradient.html
       fast/canvas/canvas-fillRect-zeroSizeGradient.html
       fast/canvas/canvas-fillText-zeroSizeGradient.html
       fast/canvas/canvas-stroke-zeroSizeGradient.html
       fast/canvas/canvas-strokeRect-zeroSizeGradient.html
       fast/canvas/canvas-strokeText-zeroSizeGradient.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::fill):
(WebCore::CanvasRenderingContext2D::stroke):
(WebCore::CanvasRenderingContext2D::strokeRect):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

LayoutTests:

The functions fill(), fillText(), stroke(), strokeRect() and strokeText()
should paint nothing on canvas when the canvas fillStyle/strokeStyle
is set to a zero size gradient.

* fast/canvas/canvas-fill-zeroSizeGradient-expected.txt: Added.
* fast/canvas/canvas-fill-zeroSizeGradient.html: Added.
* fast/canvas/canvas-fillRect-zeroSizeGradient-expected.txt: Added.
* fast/canvas/canvas-fillRect-zeroSizeGradient.html: Added.
* fast/canvas/canvas-fillText-zeroSizeGradient-expected.txt: Added.
* fast/canvas/canvas-fillText-zeroSizeGradient.html: Added.
* fast/canvas/canvas-stroke-zeroSizeGradient-expected.txt: Added.
* fast/canvas/canvas-stroke-zeroSizeGradient.html: Added.
* fast/canvas/canvas-strokeRect-zeroSizeGradient-expected.txt: Added.
* fast/canvas/canvas-strokeRect-zeroSizeGradient.html: Added.
* fast/canvas/canvas-strokeText-zeroSizeGradient-expected.txt: Added.
* fast/canvas/canvas-strokeText-zeroSizeGradient.html: Added.
* fast/canvas/script-tests/canvas-fill-zeroSizeGradient.js: Added.
* fast/canvas/script-tests/canvas-fillRect-zeroSizeGradient.js: Added.
* fast/canvas/script-tests/canvas-fillText-zeroSizeGradient.js: Added.
* fast/canvas/script-tests/canvas-stroke-zeroSizeGradient.js: Added.
* fast/canvas/script-tests/canvas-strokeRect-zeroSizeGradient.js: Added.
* fast/canvas/script-tests/canvas-strokeText-zeroSizeGradient.js: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: make console object state hint non-active
https://bugs.webkit.org/show_bug.cgi?id=108642

Reviewed by Vsevolod Vlasov.

Otherwise it seems like an active element user could click.

* inspector/front-end/inspector.css:
(.object-info-state-note):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Build webkit with enable_web_intents set to 0.
https://bugs.webkit.org/show_bug.cgi?id=108408

Reviewed by Tony Chang.

I'll then make chromium build fine with that, then switch
enable_web_intents to 0, roll that into webkit, and then
actually remove the code hidden behind this flag.

Source/WebCore:

* bindings/v8/custom/V8IntentCustom.cpp:

Source/WebKit/chromium:

The features.gypi bit depends on https://codereview.chromium.org/12143002/
and will disable web intents support on android. Since common.gypi
sets enable_web_intents to 0 explicitly, it seems this is currently on
by accident anyway.

While it looks like this CL just removes ENABLE_WEB_INTENTS=1 from
features.gypi completely, it's still set further down the file if
enable_web_intents is on.

* WebKit.gyp:
* features.gypi:
* src/WebFrameImpl.cpp:

Tools:

* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::registerIntentService):
(WebTestRunner::WebTestProxyBase::dispatchIntent):
* DumpRenderTree/chromium/WebViewHost.cpp:
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cached main resources report a zero identifer on 304s
https://bugs.webkit.org/show_bug.cgi?id=108402

Reviewed by Adam Barth.

Source/WebCore:

Test: http/tests/cache/iframe-304-crash.html

* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::responseReceived): Throughout, check m_identifierForLoadWithoutResourceLoader
    instead of !loader() to determine whether MainResourceLoader needs to synthesize resource load callbacks.
(WebCore::MainResourceLoader::dataReceived):
(WebCore::MainResourceLoader::didFinishLoading):

LayoutTests:

* http/tests/cache/iframe-304-crash-expected.txt: Added.
* http/tests/cache/iframe-304-crash.html: Added.
* http/tests/cache/resources/iframe304.php: Added.
* platform/chromium/TestExpectations: New test requires main resource caching, which isn't supported on chromium at the moment.
* platform/mac/TestExpectations: New test requires main resource caching, which isn't supported on mac at the moment.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Grid Layout] computePreferredLogicalWidths doesn't handle minmax tracks
https://bugs.webkit.org/show_bug.cgi?id=108403

Reviewed by Ojan Vafai.

Source/WebCore:

Test: fast/css-grid-layout/grid-preferred-logical-widths.html

The code before this change was only handling minmax() with 2 fixed widths.
The new code was updated to remove this artificial limitation and we now
support all combination of minmax().

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computePreferredLogicalWidths):
Updated to use computePreferredTrackWidth..

(WebCore::RenderGrid::computePreferredTrackWidth):
Added this helper function that implements the core of the preferred width
computation.

* rendering/RenderGrid.h: Added computePreferredTrackWidth.

LayoutTests:

* fast/css-grid-layout/grid-preferred-logical-widths-expected.txt: Added.
* fast/css-grid-layout/grid-preferred-logical-widths.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Windows build fix. FloatSize.cpp was not included in the project.

* WebCore.vcproj/WebCore.vcproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Smart link can erroneously move caret after an URL when typing immediately before it
https://bugs.webkit.org/show_bug.cgi?id=92812

Reviewed by Enrica Casucci.

Source/WebCore: 

The bug was caused by smart link being triggered even when a user finished typing a word
immediately before an URL. We already had a logic to avoid smart-linking an URL when the caret
was after the URL but we were missing a check for when the caret is before the URL.

Fixed the bug by adding this check.

Test: editing/inserting/smart-link-when-caret-is-moved-before-URL.html

* editing/Editor.cpp:
(WebCore::Editor::markAndReplaceFor):

LayoutTests: 

Add a regression for typing immediately before an URL while smart link is enabled.
WebKit should not be moving the caret erroneously.

* editing/inserting/smart-link-when-caret-is-moved-before-URL-expected.txt: Added.
* editing/inserting/smart-link-when-caret-is-moved-before-URL.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Message decoding functions should take a MessageDecoder reference
https://bugs.webkit.org/show_bug.cgi?id=108669

Reviewed by Andreas Kling.

Message encoding functions already take a reference instead of a pointer, so
make the decoding functions take a reference as well.

* Platform/CoreIPC/ArgumentCoder.h:
(CoreIPC::ArgumentCoder::decode):
* Platform/CoreIPC/ArgumentCoders.cpp:
(CoreIPC::::decode):
(CoreIPC::decodeStringText):
* Platform/CoreIPC/ArgumentCoders.h:
(CoreIPC::SimpleArgumentCoder::decode):
* Platform/CoreIPC/ArgumentDecoder.h:
(CoreIPC::ArgumentDecoder::decode):
* Platform/CoreIPC/Arguments.h:
(CoreIPC::Arguments0::decode):
(CoreIPC::Arguments1::decode):
(CoreIPC::Arguments2::decode):
(CoreIPC::Arguments3::decode):
(CoreIPC::Arguments4::decode):
(CoreIPC::Arguments5::decode):
(CoreIPC::Arguments6::decode):
(CoreIPC::Arguments7::decode):
(CoreIPC::Arguments8::decode):
(CoreIPC::Arguments10::decode):
* Platform/CoreIPC/Attachment.cpp:
(CoreIPC::Attachment::decode):
* Platform/CoreIPC/Attachment.h:
(Attachment):
* Platform/CoreIPC/DataReference.cpp:
(CoreIPC::DataReference::decode):
* Platform/CoreIPC/DataReference.h:
(DataReference):
* Platform/CoreIPC/StringReference.cpp:
(CoreIPC::StringReference::decode):
* Platform/CoreIPC/StringReference.h:
(StringReference):
* Platform/CoreIPC/mac/MachPort.h:
(CoreIPC::MachPort::decode):
* Platform/SharedMemory.h:
(Handle):
* Platform/mac/SharedMemoryMac.cpp:
(WebKit::SharedMemory::Handle::decode):
* PluginProcess/PluginCreationParameters.cpp:
(WebKit::PluginCreationParameters::decode):
* PluginProcess/PluginCreationParameters.h:
(PluginCreationParameters):
* Shared/DictionaryPopupInfo.cpp:
(WebKit::DictionaryPopupInfo::decode):
* Shared/DictionaryPopupInfo.h:
(DictionaryPopupInfo):
* Shared/EditorState.cpp:
(WebKit::EditorState::decode):
* Shared/EditorState.h:
(EditorState):
* Shared/FontInfo.cpp:
(WebKit::FontInfo::decode):
* Shared/FontInfo.h:
(FontInfo):
* Shared/LayerTreeContext.h:
(LayerTreeContext):
* Shared/Network/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::decode):
* Shared/Network/NetworkProcessCreationParameters.h:
(NetworkProcessCreationParameters):
* Shared/Network/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::decode):
* Shared/Network/NetworkResourceLoadParameters.h:
(NetworkResourceLoadParameters):
* Shared/OriginAndDatabases.cpp:
(WebKit::OriginAndDatabases::decode):
* Shared/OriginAndDatabases.h:
(OriginAndDatabases):
* Shared/PlatformPopupMenuData.cpp:
(WebKit::PlatformPopupMenuData::decode):
* Shared/PlatformPopupMenuData.h:
(PlatformPopupMenuData):
* Shared/Plugins/NPIdentifierData.cpp:
(WebKit::NPIdentifierData::decode):
* Shared/Plugins/NPIdentifierData.h:
(NPIdentifierData):
* Shared/Plugins/NPVariantData.cpp:
(WebKit::NPVariantData::decode):
* Shared/Plugins/NPVariantData.h:
(NPVariantData):
* Shared/Plugins/PluginProcessCreationParameters.cpp:
(WebKit::PluginProcessCreationParameters::decode):
* Shared/Plugins/PluginProcessCreationParameters.h:
(PluginProcessCreationParameters):
* Shared/PrintInfo.cpp:
(WebKit::PrintInfo::decode):
* Shared/PrintInfo.h:
(PrintInfo):
* Shared/SandboxExtension.h:
(Handle):
(HandleArray):
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::HandleArray::decode):
* Shared/SecurityOriginData.cpp:
(WebKit::SecurityOriginData::decode):
* Shared/SecurityOriginData.h:
(SecurityOriginData):
* Shared/SessionState.cpp:
(WebKit::SessionState::decode):
* Shared/SessionState.h:
(SessionState):
* Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::Handle::decode):
* Shared/ShareableBitmap.h:
(Handle):
* Shared/ShareableResource.cpp:
(WebKit::ShareableResource::Handle::decode):
* Shared/ShareableResource.h:
(Handle):
* Shared/SharedWorkerProcessCreationParameters.cpp:
(WebKit::SharedWorkerProcessCreationParameters::decode):
* Shared/SharedWorkerProcessCreationParameters.h:
(SharedWorkerProcessCreationParameters):
* Shared/StatisticsData.cpp:
(WebKit::StatisticsData::decode):
* Shared/StatisticsData.h:
(StatisticsData):
* Shared/StringPairVector.h:
(WebKit::StringPairVector::decode):
* Shared/UpdateInfo.cpp:
(WebKit::UpdateInfo::decode):
* Shared/UpdateInfo.h:
(UpdateInfo):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageDecoder::baseDecode):
* Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::decode):
* Shared/WebContextMenuItemData.h:
(WebContextMenuItemData):
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::::decode):
(CoreIPC::decodeImage):
* Shared/WebCoreArgumentCoders.h:
* Shared/WebEvent.cpp:
(WebKit::WebEvent::decode):
* Shared/WebEvent.h:
(WebEvent):
(WebMouseEvent):
(WebWheelEvent):
(WebKeyboardEvent):
(WebGestureEvent):
(WebPlatformTouchPoint):
(WebTouchEvent):
* Shared/WebGeolocationPosition.cpp:
(WebKit::WebGeolocationPosition::Data::decode):
* Shared/WebGeolocationPosition.h:
(Data):
* Shared/WebGestureEvent.cpp:
(WebKit::WebGestureEvent::decode):
* Shared/WebHitTestResult.cpp:
(WebKit::WebHitTestResult::Data::decode):
* Shared/WebHitTestResult.h:
(Data):
* Shared/WebKeyboardEvent.cpp:
(WebKit::WebKeyboardEvent::decode):
* Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::decode):
* Shared/WebNavigationDataStore.h:
(WebKit::WebNavigationDataStore::decode):
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
* Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::decode):
* Shared/WebPageGroupData.h:
(WebPageGroupData):
* Shared/WebPlatformTouchPoint.cpp:
(WebKit::WebPlatformTouchPoint::decode):
* Shared/WebPopupItem.cpp:
(WebKit::WebPopupItem::decode):
* Shared/WebPopupItem.h:
* Shared/WebPreferencesStore.cpp:
(WebKit::WebPreferencesStore::decode):
* Shared/WebPreferencesStore.h:
(WebPreferencesStore):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
(WebProcessCreationParameters):
* Shared/WebTouchEvent.cpp:
(WebKit::WebTouchEvent::decode):
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::decode):
* Shared/cf/ArgumentCodersCF.cpp:
(CoreIPC::decode):
* Shared/cf/ArgumentCodersCF.h:
(CoreIPC):
* Shared/mac/ArgumentCodersMac.h:
(CoreIPC):
* Shared/mac/ArgumentCodersMac.mm:
(CoreIPC::decode):
* Shared/mac/AttributedString.h:
(AttributedString):
* Shared/mac/AttributedString.mm:
(WebKit::AttributedString::decode):
* Shared/mac/ColorSpaceData.h:
(ColorSpaceData):
* Shared/mac/ColorSpaceData.mm:
(WebKit::ColorSpaceData::decode):
* Shared/mac/LayerTreeContextMac.mm:
(WebKit::LayerTreeContext::decode):
* Shared/mac/ObjCObjectGraphCoders.h:
(WebContextObjCObjectGraphDecoder):
(InjectedBundleObjCObjectGraphDecoder):
* Shared/mac/ObjCObjectGraphCoders.mm:
(WebKit::ObjCObjectGraphDecoder::baseDecode):
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
(WebKit::WebContextObjCObjectGraphDecoder::decode):
(WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
* Shared/mac/PlatformCertificateInfo.h:
(PlatformCertificateInfo):
* Shared/mac/PlatformCertificateInfo.mm:
(WebKit::PlatformCertificateInfo::decode):
* Shared/mac/RemoteLayerTreeTransaction.h:
(LayerProperties):
(RemoteLayerTreeTransaction):
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::RemoteLayerTreeTransaction::decode):
* Shared/mac/SandboxExtensionMac.mm:
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::HandleArray::decode):
* Shared/mac/SecItemRequestData.cpp:
(WebKit::SecItemRequestData::decode):
* Shared/mac/SecItemRequestData.h:
* Shared/mac/SecItemResponseData.cpp:
(WebKit::SecItemResponseData::decode):
* Shared/mac/SecItemResponseData.h:
(SecItemResponseData):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(CoreIPC::::decodePlatformData):
(CoreIPC::::decode):
* UIProcess/WebContextUserMessageCoders.h:
(WebKit::WebContextUserMessageDecoder::decode):
* WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
(WebKit::InjectedBundleUserMessageDecoder::decode):
* WebProcess/Plugins/Plugin.cpp:
(WebKit::Plugin::Parameters::decode):
* WebProcess/Plugins/Plugin.h:
(Parameters):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Speculative Windows build fix. 

* platform/ScrollAnimator.h:
(WebCore):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove call to SecurityOrigin::canAccessDatabase from IDB constructor.
https://bugs.webkit.org/show_bug.cgi?id=108477

Reviewed by Adam Barth.

Source/WebCore:

This change removes the 'SecurityOrigin::canAccessDatabase' check from
the constructor for the 'indexedDB' property on both DOMWindow and
WorkerContext. After the patch for http://wkbug.com/94171 this check
is redundant, as all the entry points to IDB are now gated on access
being granted.

As a side-effect, dropping the check in WorkerContextIndexedDatabase
allows us to stop holding a pointer to the ScriptExecutionContext we're
extending, which can only be a good thing.

The tests in storage/indexeddb should continue to pass.

* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::indexedDB):
    Drop the SecurityOrigin::canAccessDatabase check.
* Modules/indexeddb/WorkerContextIndexedDatabase.cpp:
(WebCore::WorkerContextIndexedDatabase::WorkerContextIndexedDatabase):
(WebCore::WorkerContextIndexedDatabase::from):
    Drop the ScriptExecutionContext parameter from the class's
    constructor and callsites.
(WebCore::WorkerContextIndexedDatabase::indexedDB):
    Drop the SecurityOrigin::canAccessDatabase check.
* Modules/indexeddb/WorkerContextIndexedDatabase.h:
(WorkerContextIndexedDatabase):
    Drop the stored pointer to ScriptExecutionContext, as we no longer
    need it in ::indexedDB.

LayoutTests:

* http/tests/security/no-indexeddb-from-sandbox-expected.txt:
* http/tests/security/no-indexeddb-from-sandbox.html:
    This test expected the 'webkitIndexedDB' property to be missing
    entirely inside a sandbox. The expectation has been updated to
    expect 'webkitIndexedDB.open()' to throw a SECURITY_ERR.
* platform/efl/TestExpectations:
* platform/mac-snowleopard/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
    This test was accidentally passing on a variety of platforms that
    don't yet implement IndexedDB. Now that failure is distinguishable
    we should skip it on a variety of platforms.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Add WTFURL source files to the build
https://bugs.webkit.org/show_bug.cgi?id=108215

Reviewed by Benjamin Poulain.

.: 

* Source/autotools/symbols.filter: Force the export of the KURL::string() symbol.
This is required when using the WTFURL backend but otherwise doesn't affect the build.

Source/WebCore: 

* platform/KURLWTFURL.cpp:
(WebCore): Only use the stub implementation of the fileSystemPath method for the
Apple ports, other ports should for now still rely on their platform-specific implementations.

Source/WTF: 

The WTFURL implementation sources are all still guarded by the USE(WTFURL) guard,
meaning that the GTK port still uses the default KURL backend. To use the WTFURL
backend instead, one would have to define WTF_USE_WTFURL in Platform.h.

* GNUmakefile.am: List the directories from which source headers will be included.
Plenty of WTFURL code currently just includes the required header by name rather
than specifying the header path as relative to Source/WTF. In the future all the inclusions
should probaby be changed to include the header through the path relative to Source/WTF.
* GNUmakefile.list.am: Add build targets for the WTFURL source files.
* wtf/url/api/ParsedURL.cpp: Specify the complete path to the required headers and
reorder the inclusions.
* wtf/url/src/URLCanon.h: Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] InputHandler status is not restored when page history goes back
https://bugs.webkit.org/show_bug.cgi?id=108448

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2013-02-01
Reviewed by Yong Li.

PR288406 Internally reviewed by Mike Fenton

When webpage goes back, it restores the old frame's selection and focused node,
but we don't save the InputHandler's status, it becomes non-input mode when page
goes back. When it restores the focus, since the new focus node is same as the old
document focused node, webcore will not notify client to update the input handler.

This patch updates the input handler's status by notifying it focus node changed.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::restoreViewState):
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::restoreViewState):
(WebKit):
* WebKitSupport/InputHandler.h:
(InputHandler):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[canvas] Add more constructors to Path
https://bugs.webkit.org/show_bug.cgi?id=108587

Patch by Dirk Schulze <krit@webkit.org> on 2013-01-31
Reviewed by Dean Jackson.

Source/WebCore:

Add more constructors to Path object to make it possible
to copy Path objects and parse SVG strings into a Path
object that can be used on the canvas context afterwards.

Test: fast/canvas/canvas-path-constructors.html

* html/canvas/DOMPath.h: New constructors for Path.
(WebCore::DOMPath::create):
(WebCore::DOMPath::DOMPath):
* html/canvas/DOMPath.idl: Ditto.

LayoutTests:

Add tests for new constructors of Path objects.
Since the feature is behind a flag, the test is skipped on
all platforms for now.

* fast/canvas/canvas-path-constructors-expected.txt: Added.
* fast/canvas/canvas-path-constructors.html: Added.
* fast/canvas/script-tests/canvas-path-constructors.js: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Another speculative windows build fix.

* platform/ScrollAnimator.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Zooming in during page load of non-scalable webpage results in fixed magnification
https://bugs.webkit.org/show_bug.cgi?id=108252

Patch by Jacky Jiang  <zhajiang@rim.com>.
Reviewed by Yong Li.
Internally reviewed by Konrad Piascik.

PR: 284828
We got float layoutSize(342.284122, 521.448467) and
m_maximumScale(2.243750) after computing viewport meta based on the
device pixel ratio and laid out the contents at IntSize(342, 521).
Therefore, zoomToFitScale(2.245681) would be a bit larger than
m_maximumScale based on that contents size and resulted in
maximumScale()!=minimumScale(), which made the non-scalable page
scalable.
Return zoomToFitScale for maximumScale() in such kind of case.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::maximumScale):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WTR needs an implementation of setAutomaticLinkDetectionEnabled
https://bugs.webkit.org/show_bug.cgi?id=87162

Skip a test on wk2 added in r14618 that uses setAutomaticLinkDetectionEnabled.

* platform/wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix test scripts for EWS bots to get them running once and for all.
https://bugs.webkit.org/show_bug.cgi?id=108422

Reviewed by Timothy Horton.

Disabling --quiet option on Windows for now because that fails when we try to use /dev/null.
runtests.py was not passing in a configuration to run-webkit-tests which causes DRT to build in release by default.
However, we build in Debug only on the EWS Windows bots, which caused the build to fail.

* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.options):
(RunTests.run):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Skip more test in preparation for Win EWS bots (round 2).
https://bugs.webkit.org/show_bug.cgi?id=108249

* platform/win/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r141281): Navigating to this HTTP Live Streaming (application/vnd.apple.mpegurl) URL downloads a file instead of playing it in the browser
https://bugs.webkit.org/show_bug.cgi?id=108674
<rdar://problem/13133595>

Reviewed by Eric Carlson.

When passed a HashSet of available MIME types to fill out, QTKit was overwriting the contents, which were
AVFoundation's supported types. Instead, it should be appending to the list of supported types.

* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::concatenateHashSets): Added static utility function.
(WebCore::MediaPlayerPrivateQTKit::getSupportedTypes): Concatenate instead of overwriting the passed in MIME types.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141630 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Re-try enabling Win-EWS tests for the third time. 
https://bugs.webkit.org/show_bug.cgi?id=107968

* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(WinEWS):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141631 268f45cc-cd09-0410-ab3c-d52691b4dbfc