[CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
https://bugs.webkit.org/show_bug.cgi?id=127350

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-22
Reviewed by Dirk Schulze.

Source/WebCore:

The graphics context of the SVG inherits the blend mode set
on the background layer. Fix consists in drawing the SVG
in a transparency layer.

Test: css3/compositing/background-blend-mode-svg.html

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.

LayoutTests:

* css3/compositing/background-blend-mode-svg-expected.html: Added.
* css3/compositing/background-blend-mode-svg.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162517 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
https://bugs.webkit.org/show_bug.cgi?id=127426

Reviewed by Anders Carlsson.
        
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollLayerPosition):
(WebCore::RenderLayerCompositor::frameViewDidScroll):

    Factor scroll layer position update to a function.

(WebCore::RenderLayerCompositor::ensureRootLayer):
        
    Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
    directly. This avoid unthrottled layer flush that is done when the view actually scrolls.

* rendering/RenderLayerCompositor.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=127380
Add more methods to WKWebProcessPlugInNodeHandle.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-01-22
Reviewed by Sam Weinig.

Add a static method that creates a WKWebProcessPlugInNodeHandle from a JSValue* and a JSContext*.  Also
add a method to return the iframe's content frame from a WKWebProcessPlugInNodeHandle.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]):
(-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
https://bugs.webkit.org/show_bug.cgi?id=127343

Patch by Mihai Maerean <mmaerean@adobe.com> on 2014-01-22
Reviewed by Sam Weinig.

RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
contexts which create layers.

No new tests, no functional change.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::hasCompositingRegionDescendant):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
* rendering/RenderNamedFlowFragment.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162523 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix for iOS clients of WebUIDelegatePrivate.h.

* WebView/WebUIDelegatePrivate.h: Ensure that ENABLE_DASHBOARD_SUPPORT is defined on iOS.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Show the Resource and Record selection path in the navigation bar for Timeline views.

https://bugs.webkit.org/show_bug.cgi?id=127367

Reviewed by Joseph Pecoraro.

* UserInterface/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.LayoutTimelineView.prototype._dataGridNodeSelected):
* UserInterface/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):
* UserInterface/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
(WebInspector.OverviewTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):
* UserInterface/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected):
* UserInterface/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._timelineViewSelectionPathComponentsDidChange):
(WebInspector.TimelineContentView.prototype._showTimelineView):
* UserInterface/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype.treeElementForDataGridNode):
(WebInspector.TimelineDataGrid.prototype.dataGridNodeForTreeElement):
* UserInterface/TimelineView.js:
(WebInspector.TimelineView.prototype.get selectionPathComponents):
(WebInspector.TimelineView.prototype.treeElementPathComponentSelected):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remember the Timeline Overview zoom and selection between sessions.

https://bugs.webkit.org/show_bug.cgi?id=127369

Reviewed by Joseph Pecoraro.

* UserInterface/TimelineOverview.js:
(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.set secondsPerPixel):
(WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162528 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unnecessary include in Noncopyable.h
https://bugs.webkit.org/show_bug.cgi?id=127406

Reviewed by Anders Carlsson.

* wtf/Noncopyable.h: We don't need Compiler.h as of r162198.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[curl] Improve detecting and handling of SSL client certificate
https://bugs.webkit.org/show_bug.cgi?id=125006

Patch by Robert Sipka <sipka@inf.u-szeged.hu> on 2014-01-22
Reviewed by Brent Fulgham.

Add client certificate handling.

* platform/network/ResourceHandle.h:
* platform/network/curl/ResourceError.h:
(WebCore::ResourceError::hasSSLConnectError):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::setClientCertificateInfo):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::initializeHandle):
* platform/network/curl/SSLHandle.cpp:
(WebCore::addAllowedClientCertificate):
(WebCore::setSSLClientCertificate):
* platform/network/curl/SSLHandle.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac][WK2] Unable to play video protected by session cookies
https://bugs.webkit.org/show_bug.cgi?id=127207

Reviewed by Sam Weinig.

Recent changes in our underlying media frameworks caused our shimmed methods
in CookieStorageShim to stop being called. Insert an objective-c shim in addition
to our original shim to intercept pulling cookies out of cookie storage.

* Shared/mac/CookieStorageShim.mm: Renamed from Source/WebKit2/Shared/mac/CookieStorageShim.cpp.
(WebKit::CookieStorageShim::initialize): Insert the shim.
(-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):
    Pass through to webKitCookieStorageCopyRequestHeaderFieldsForURL().
* WebKit2.xcodeproj/project.pbxproj: Rename CookieStorageShim.cpp -> .mm.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed EFL gardening

Add some http/tests/websocket/tests/hybi tests to skipped list as they crash
generating thousands lines of error messages.

* platform/efl/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162532 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r162441): [GTK] ResourceLoader is broken when there aren't user extensions
https://bugs.webkit.org/show_bug.cgi?id=127422

Reviewed by Anders Carlsson.

* WebProcess/gtk/WebGtkExtensionManager.cpp:
(WebKit::WebGtkExtensionManager::initialize): Always create the
WebKitWebExtension object since it's used internally to implement
the ResourceLoader client.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
https://bugs.webkit.org/show_bug.cgi?id=127409

Reviewed by Timothy Hatcher.

* bindings/js/ScriptDebugServer.h:
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::ScriptDebugServer):
Remove m_recompileTimer and the recompile soon function.
We can just recompile immediately in all existing cases.

* bindings/js/PageScriptDebugServer.h:
* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::addListener):
(WebCore::PageScriptDebugServer::removeListener):
(WebCore::PageScriptDebugServer::recompileAllJSFunctions):
(WebCore::PageScriptDebugServer::didAddFirstListener):
(WebCore::PageScriptDebugServer::didRemoveLastListener):
Add a "didAddFirstListener" to match "didRemoveLastListener".
Only recompile functions when we attach the debugger and when
we detach the last listener.

* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::addListener):
(WebCore::WorkerScriptDebugServer::removeListener):
(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
Same thing. Also rearrange the functions to read better.

* inspector/InspectorProfilerAgent.cpp:
Use the direct recompile function instead of the removed "soon" version.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Avoid a circular dependency when building webkitenumtypes.h
https://bugs.webkit.org/show_bug.cgi?id=127199

Reviewed by Daniel Bates.

* PlatformGTK.cmake: Create a new list of headers consisting of all installed headers
except webkitenumtypes.h. Use this list when generating webkitenumtypes.h.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK][CMake] Add support for building the NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=127195

Reviewed by Daniel Bates.

.:

* Source/cmake/OptionsGTK.cmake: Turn on the network process and give it
a name like the WebProcess.

Source/WebKit2:

* CMakeLists.txt: Add shared network process build instructions.
* PlatformEfl.cmake: Move build instructions to the platform-independent file.
* PlatformGTK.cmake: Add some files to the source lists.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactor calculation of hasRx and hasRy values in SVGPathData
https://bugs.webkit.org/show_bug.cgi?id=127423

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-22
Reviewed by Darin Adler.

This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337

* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromRectElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
https://bugs.webkit.org/show_bug.cgi?id=127119

Reviewed by Mario Sanchez Prada.

Source/WebCore:

At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
ACCESSIBILITY is not enabled, fixing that.
Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.

* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::AXObjectCache):
* accessibility/AccessibilityObject.h:

Source/WebKit/gtk:

Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).

* webkit/webkitwebview.cpp:
(webkit_web_view_class_init):

Source/WebKit2:

Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):

Tools:

Guarding ACCESSIBILITY code in DumpRenderTree and WebKitTestRunner with HAVE(ACCESSIBILITY).

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
* DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
(webViewWindowObjectCleared):
(main):
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::platformName):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::isIndeterminate):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162538 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
https://bugs.webkit.org/show_bug.cgi?id=127430

Reviewed by Eric Carlson.

When other registered media engines cannot load a URL, the engine selection
will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
the URL. Instead of ASSERTing here, simply reject the URL by setting the
network state to FormatError.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add WKProcessClass class
https://bugs.webkit.org/show_bug.cgi?id=127433
<rdar://problem/15882582>

Reviewed by Dan Bernstein.

Add a stubbed out WKProcessClass class.

* Shared/API/Cocoa/WKFoundation.h:
* UIProcess/API/Cocoa/WKProcessClass.h: Added.
* UIProcess/API/Cocoa/WKProcessClass.mm: Added.
(-[WKProcessClass initWithConfiguration:]):
(-[WKProcessClass configuration]):
* UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
* WebKit2.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION: fast/js/dfg-* typed array tests frequently time out on debug bots
https://bugs.webkit.org/show_bug.cgi?id=126166

Rubber-stamped by Filip Pizlo.

* TestExpectations: Skipped these tests in debug builds.



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