[ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
https://bugs.webkit.org/show_bug.cgi?id=127291

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Test: accessibility/aria-flowto.html

Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(setAtkRelationSetFromCoreObject):

Tools:

Implemented AccessibilityUIElement::ariaFlowToElementAtIndex method.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
(AccessibilityUIElement::ariaFlowToElementAtIndex):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):

LayoutTests:

Share aria-flowto.html with other ports. It passes on GTK and EFL.

* accessibility/aria-flowto-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/aria-flowto-expected.txt.
* accessibility/aria-flowto.html: Renamed from LayoutTests/platform/mac/accessibility/aria-flowto.html.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mac production build fix.

Move the shell script build phase to copy jsc into JavaScriptCore.framework
out of the jsc target and in to the All target so that it's not run during
production builds. Xcode appears to the parent directories of paths referenced
in the Output Files of the build phase, which leads to problems when the
SYMROOT for the JavaScriptCore framework and the jsc executables are later merged.

I've also fixed the path to the Resources folder in the script while I'm here.
On iOS the framework bundle is shallow so the correct destination is Resources/
rather than Versions/A/Resources. This is handled by tweaking the
JAVASCRIPTCORE_RESOURCES_DIR configuration setting to be relative rather than
a complete path so we can reuse it in the script. The references in JSC.xcconfig
and ToolExecutable.xcconfig are updated to prepend JAVASCRIPTCORE_FRAMEWORKS_DIR
to preserve their former values.

* Configurations/Base.xcconfig:
* Configurations/JSC.xcconfig:
* Configurations/ToolExecutable.xcconfig:
* JavaScriptCore.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change email address for Siddharth Mathur in contributors.json.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix SVG animations which set rx or ry attributes
https://bugs.webkit.org/show_bug.cgi?id=127337

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Dirk Schulze.

Source/WebCore:

Test: svg/stroke/animated-non-scaling-rxry.html

Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision

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

LayoutTests:

Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision

* svg/stroke/animated-non-scaling-rxry-expected.html: Added.
* svg/stroke/animated-non-scaling-rxry.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The WebCore.vcxproj.filters doesnot apply
https://bugs.webkit.org/show_bug.cgi?id=127338

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-21
Reviewed by Csaba Osztrogonác.

* WebCore.vcxproj/WebCore.vcxproj.filters:
Modified the WebCore.vcxproj.filters so that it is applied when loading
WebCore.vcxproj file.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Allow passing extra data to web extensions
https://bugs.webkit.org/show_bug.cgi?id=125990

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2014-01-21
Reviewed by Carlos Garcia Campos.

Allow passing additional information to the injected bundle. On top
of the string containing the path to the web extensions directory,
a GVariant can be set with additional data using
webkit_web_context_set_web_extensions_initialization_user_data().
Also, a new initialize-web-extensions signal is emitted before
launching a new WebProcess to allow setting different user data
for each process. The GVariant is serialized as a string, passed
to the injected bundle, and the injected bundle deserializes back
the data, which is passed to web extensions which define the
webkit_web_extension_initialize_with_user_data() function (for
backwards compatibility, webkit_web_extension_initialize() is
used as a fallback.)

Source/WebKit2:

* UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
(getInjectedBundleInitializationUserData): Define new callback
function which causes emission of the initialize-web-extensions
signal, and serializes the data to be passed to the web process.
(attachInjectedBundleClientToContext): Set the
getInjectedBundleInitializationUserData() callback.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_class_init): Define the
initialize-web-extensions signal.
(webkit_web_context_set_web_extensions_directory):
Web extensions directory as now member of WebKitWebContextPrivate,
to be able to retrieve it later.
(webkit_web_context_set_web_extensions_initialization_user_data):
New API method to set the user data passed to the web extensions
when initialized.
(webkitWebContextInitializeWebExtensions): Private function used
to trigger emission of the initialize-web-extensions signal.
* UIProcess/API/gtk/WebKitWebContext.h:
Added prototype for new API method
webkit_web_context_set_web_extensions_initialization_user_data().
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
Prototype of the new private function.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
Add new public API bits to the documentation.
* WebProcess/gtk/WebGtkExtensionManager.cpp:
(WebKit::WebGtkExtensionManager::initialize):
Deserialize the data received from the UI process and pass it to
webkit_web_extension_initialize_with_user_data() if available,
keeping webkit_web_extension_initialize() as fallback.

Tools:

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:
(initializeWebExtensions): Handles the initialize-web-extensions
signal, and sets the web extensions directory and the initialization
user data.
(testWebExtensionInitializationUserData): New test case for checking
the user data passed on initialization to web extensions.
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(methodCallCallback): Added implementation for the
GetInitializationUserData D-Bus method, used by
testWebExtensionInitializationUserData().
(webkit_web_extension_initialize_with_user_data): Define the
initialization function with the additional user data parameter.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: If you set a tiled cross-faded-image or a tiled gradient as
a background layer, -webkit-background-blend-mode doesn't work.
The problem consists in the blendMode parameter not being set
for these specific drawing paths.

https://bugs.webkit.org/show_bug.cgi?id=126888
Patch by Mihai Tica <mitica@adobe.com> on 2014-01-21
Reviewed by Dirk Schulze.

Test: css3/compositing/background-blend-mode-tiled-layers.html

* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
* platform/graphics/GradientImage.cpp:
(WebCore::GradientImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
* platform/graphics/ImageBuffer.h: Add a BlendMode parameter to the drawPattern method.
* platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::drawPattern): Add the default BlendMode parameter to the method declaration.
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::drawPattern): Add and use the blendMode parameter for all the code paths.
* platform/graphics/wince/ImageBufferWinCE.cpp:
(WebCore::BufferedImage::drawPattern): Add the default BlendMode parameter to the method declaration.

LayoutTests: If you set a tiled cross-faded-image or a tiled gradient as
a background layer, -webkit-background-blend-mode doesn't work.
https://bugs.webkit.org/show_bug.cgi?id=126888

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

* css3/compositing/background-blend-mode-tiled-layers-expected.html: Added.
* css3/compositing/background-blend-mode-tiled-layers.html: Added.
* platform/efl/TestExpectations: Skip test for efl, blendModes are not implemented.
* platform/mac/TestExpectations: Mark added test as ImageOnlyFailure due to slight differences between the actual result and the blending formula.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Delay initial layer flush during loading on all platforms
https://bugs.webkit.org/show_bug.cgi?id=127347

Reviewed by Andreas Kling.

To reduce unnecessary repaints enable the same behaviour as iOS already has.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
        
    Set the initial state of m_layerFlushThrottlingEnabled correctly.

(WebCore::RenderLayerCompositor::scheduleLayerFlush):
(WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):
* rendering/RenderLayerCompositor.h:
        
    Enable initial layer flush delay on all platforms.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
run-jsc-stress-tests should accept --child-processes option and WEBKIT_TEST_CHILD_PROCESSES env.var
like run_webkit_test does
https://bugs.webkit.org/show_bug.cgi?id=127349

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Csaba Osztrogonác.

* Scripts/run-jsc-stress-tests:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
https://bugs.webkit.org/show_bug.cgi?id=127346

Efl build fix.

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Csaba Osztrogonác.

* rendering/style/StyleRareInheritedData.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r162445.
http://trac.webkit.org/changeset/162445
https://bugs.webkit.org/show_bug.cgi?id=127351

It broke the 32 bit GTK build (Requested by Ossy on #webkit).

* rendering/style/StyleRareInheritedData.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r162354.
http://trac.webkit.org/changeset/162354
https://bugs.webkit.org/show_bug.cgi?id=127354

Appears to have broken accessibility in a non-trivial way
(Requested by ap on #webkit).

* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Fix a c++11 compliance issue for fontconfig
https://bugs.webkit.org/show_bug.cgi?id=127283

Reviewed by Martin Robinson.

fontconfig-2.8.0 is not compliant with C++11. So I propose to apply a
hotfix until bumping fontconfig up.

* gtk/jhbuild.modules:
* gtk/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[SOUP] Implement CUSTOM PROTOCOLS
https://bugs.webkit.org/show_bug.cgi?id=125583

Reviewed by Anders Carlsson.

Add new classes to implement CustomProtocols for soup. The
implementation is the same, but using the CustomProtocol API and
messages. The current implementation can be removed once all ports
using soup switch to using CustomProtocols.

* GNUmakefile.am: Add new include paths.
* GNUmakefile.list.am: Add new files to compilation.
* PlatformGTK.cmake: Add new files to compilation.
* Shared/API/c/soup/WKBaseSoup.h:
* Shared/APIObject.h:
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Added.
(WebKit::generateCustomProtocolID):
(WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
(WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
(WebKit::WebSoupRequestAsyncData::requestFailed):
(WebKit::WebSoupRequestAsyncData::releaseTask):
(WebKit::CustomProtocolManagerImpl::CustomProtocolManagerImpl):
(WebKit::CustomProtocolManagerImpl::~CustomProtocolManagerImpl):
(WebKit::CustomProtocolManagerImpl::registerScheme):
(WebKit::CustomProtocolManagerImpl::supportsScheme):
(WebKit::CustomProtocolManagerImpl::didFailWithError):
(WebKit::CustomProtocolManagerImpl::didLoadData):
(WebKit::CustomProtocolManagerImpl::didReceiveResponse):
(WebKit::CustomProtocolManagerImpl::didFinishLoading):
(WebKit::CustomProtocolManagerImpl::send):
(WebKit::CustomProtocolManagerImpl::finish):
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Added.
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
(WebKit::CustomProtocolManager::CustomProtocolManager):
(WebKit::CustomProtocolManager::initialize):
(WebKit::CustomProtocolManager::registerScheme):
(WebKit::CustomProtocolManager::supportsScheme):
(WebKit::CustomProtocolManager::didFailWithError):
(WebKit::CustomProtocolManager::didLoadData):
(WebKit::CustomProtocolManager::didReceiveResponse):
(WebKit::CustomProtocolManager::didFinishLoading):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/API/C/soup/WKAPICastSoup.h:
* UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp: Copied from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp.
(WKSoupCustomProtocolRequestManagerGetTypeID):
(WKSoupCustomProtocolRequestManagerSetClient):
* UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h: Added.
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
* UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
(WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
(WebKit::CustomProtocolManagerProxy::startLoading):
(WebKit::CustomProtocolManagerProxy::stopLoading):
* UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: Added.
(WebKit::WebSoupCustomProtocolRequestManager::supplementName):
(WebKit::WebSoupCustomProtocolRequestManager::create):
(WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager):
(WebKit::WebSoupCustomProtocolRequestManager::~WebSoupCustomProtocolRequestManager):
(WebKit::WebSoupCustomProtocolRequestManager::initializeClient):
(WebKit::WebSoupCustomProtocolRequestManager::contextDestroyed):
(WebKit::WebSoupCustomProtocolRequestManager::processDidClose):
(WebKit::WebSoupCustomProtocolRequestManager::refWebContextSupplement):
(WebKit::WebSoupCustomProtocolRequestManager::derefWebContextSupplement):
(WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):
(WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol):
(WebKit::WebSoupCustomProtocolRequestManager::startLoading):
(WebKit::WebSoupCustomProtocolRequestManager::stopLoading):
(WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse):
(WebKit::WebSoupCustomProtocolRequestManager::didLoadData):
(WebKit::WebSoupCustomProtocolRequestManager::didFailWithError):
(WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading):
* UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: Added.
(WebKit::WebSoupCustomProtocolRequestManager::registeredSchemesForCustomProtocols):
* UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: Added.
(WebKit::WebSoupCustomProtocolRequestManagerClient::startLoading):
(WebKit::WebSoupCustomProtocolRequestManagerClient::stopLoading):
* UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h: Added.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
* UIProcess/soup/WebContextSoup.cpp:
(WebKit::WebContext::platformInitializeNetworkProcess):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
* WebProcess/soup/WebKitSoupRequestGeneric.cpp:
(webkitSoupRequestGenericSendAsync):
(webkitSoupRequestGenericSendFinish):
* WebProcess/soup/WebKitSoupRequestGeneric.h:
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add &lrm; &rlm; and &nbsp; to WebVTT parser
https://bugs.webkit.org/show_bug.cgi?id=85112

Reviewed by Jer Noble.

Source/WebCore:

No new tests, track-webvtt-tc022-entities.html was updated to test this.

* html/track/WebVTTTokenizer.cpp:
(WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.

LayoutTests:

* media/track/captions-webvtt/tc022-entities.vtt:
* media/track/track-webvtt-tc022-entities-expected.txt:
* media/track/track-webvtt-tc022-entities.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162450 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove PLATFORM(NIX) from WebCore
https://bugs.webkit.org/show_bug.cgi?id=127299

Reviewed by Anders Carlsson.

* editing/Editor.cpp:
(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::copyImage):
* editing/Editor.h:
* html/HTMLCanvasElement.h:
* loader/EmptyClients.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::defaultObjectContentType):
* page/ChromeClient.h:
* page/DragController.cpp:
(WebCore::DragController::startDrag):
* platform/Cursor.h:
* platform/DragData.h:
* platform/DragImage.h:
* platform/FileSystem.h:
* platform/LocalizedStrings.h:
* platform/Widget.h:
* platform/audio/FFTFrame.h:
* platform/audio/HRTFElevation.cpp:
* platform/cairo/WidgetBackingStore.h:
* platform/graphics/ANGLEWebKitBridge.h:
* platform/graphics/FontPlatformData.h:
* platform/graphics/GLContext.cpp:
(WebCore::GLContext::createContextForWindow):
* platform/graphics/GLContext.h:
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
* platform/graphics/OpenGLESShims.h:
* platform/graphics/OpenGLShims.cpp:
(WebCore::getProcAddress):
* platform/graphics/OpenGLShims.h:
* platform/graphics/PlatformLayer.h:
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::createVertexArrayOES):
(WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
(WebCore::Extensions3DOpenGL::isVertexArrayOES):
(WebCore::Extensions3DOpenGL::bindVertexArrayOES):
(WebCore::Extensions3DOpenGL::supportsExtension):
* platform/graphics/opengl/Extensions3DOpenGL.h:
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
* platform/graphics/opengl/Extensions3DOpenGLES.h:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::reshape):
* platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
* platform/graphics/texmap/TextureMapper.h:
* platform/network/ResourceHandle.h:
* plugins/PluginPackage.cpp:
* plugins/PluginView.cpp:
(WebCore::PluginView::PluginView):
* plugins/PluginView.h:
* plugins/PluginViewNone.cpp:
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Change Page, FocusController to use ViewState
https://bugs.webkit.org/show_bug.cgi?id=126533

Reviewed by Tim Horton.

These classes currently maintain a set of separate fields to represent the view state;
combine these into a single field, and allow WebPage to send the combined update rather
than individual changes.

Maintain existing interface for WebKit1 clients.

Source/WebCore: 

* WebCore.exp.in:
    - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
* page/FocusController.cpp:
(WebCore::FocusController::FocusController):
    - Initialize combined m_viewState.
(WebCore::FocusController::setFocused):
    - Calls setViewState.
(WebCore::FocusController::setFocusedInternal):
    - setFocused -> setFocusedInternal.
(WebCore::FocusController::setViewState):
    - Added, update all ViewState flags.
(WebCore::FocusController::setActive):
    - Calls setViewState.
(WebCore::FocusController::setActiveInternal):
    - setActive -> setActiveInternal.
(WebCore::FocusController::setContentIsVisible):
    - Calls setViewState.
(WebCore::FocusController::setContentIsVisibleInternal):
    - setContentIsVisible -> setContentIsVisibleInternal.
* page/FocusController.h:
(WebCore::FocusController::isActive):
(WebCore::FocusController::isFocused):
(WebCore::FocusController::contentIsVisible):
    - Implemented in terms of ViewState.
* page/Page.cpp:
(WebCore::Page::Page):
    - Initialize using PageInitialViewState.
(WebCore::Page::setIsInWindow):
    - Calls setViewState.
(WebCore::Page::setIsInWindowInternal):
    - setIsInWindow -> setIsInWindowInternal.
(WebCore::Page::setIsVisuallyIdleInternal):
    - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
(WebCore::Page::setViewState):
    - Added, update all ViewState flags, including FocusController.
(WebCore::Page::setIsVisible):
    - Calls setViewState.
(WebCore::Page::setIsVisibleInternal):
    - setIsVisible -> setIsVisibleInternal.
(WebCore::Page::visibilityState):
    - m_isVisible -> isVisible()
(WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
    - m_isVisible -> isVisible()
* page/Page.h:
(WebCore::Page::isVisible):
(WebCore::Page::isInWindow):
    - Implemented in terms of ViewState.
(WebCore::Page::scriptedAnimationsSuspended):
    - Combined member fields into ViewState::Flags.

Source/WebKit/mac: 

* WebView/WebView.mm:
(-[WebView _windowWillOrderOnScreen:]):
(-[WebView _windowWillOrderOffScreen:]):
    - remove calls to FocusController::setContentIsVisible, these are redundant
      (this is handled when page visibility is set).

Source/WebKit2: 

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
    - Combined separate calls to Page::setViewState.
(WebKit::WebPage::updateIsInWindow):
    - Simplied from setIsInWindow.
(WebKit::WebPage::setViewState):
    - Combined separate calls to Page::setViewState.
* WebProcess/WebPage/WebPage.h:
    - Declare updateIsInWindow.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Keep CALayer implicit animation disabling code in a single place
https://bugs.webkit.org/show_bug.cgi?id=127355

Reviewed by Simon Fraser.

* WebCore.xcodeproj/project.pbxproj:
Add CALayerWebAdditions.{h,mm}.

* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::commonInit):
Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.

* platform/graphics/mac/CALayerWebAdditions.h: Added.
* platform/graphics/mac/CALayerWebAdditions.mm: Added.
(-[CALayer web_disableAllActions]):
Added. Disable all implicit actions on the layer.

* Shared/mac/RemoteLayerTreePropertyApplier.h:
* Shared/mac/RemoteLayerTreePropertyApplier.mm:
Remove disableActionsForLayer.

* UIProcess/API/mac/WKView.mm:
(-[WKView _rootLayer]):
Disable actions on the root layer. It doesn't need them, and currently
isn't affected by implicit animations, but future patches which animate
the root layer will benefit from this.

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::createLayer):
Use web_disableAllActions instead of disableActionsForLayer.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp.
(PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::hostingContextID):
Use web_disableAllActions instead of disableActionsForLayer.
This requires making this file Obj-C++ but that's OK since it's Mac/iOS only.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Address late review naming comments after r162453.

* UIProcess/API/mac/WKView.mm:
And, fix the build by adding an include I accidentally missed.

* UIProcess/mac/RemoteLayerTreeHost.mm:
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
* platform/graphics/mac/CALayerWebAdditions.h: Removed.
* platform/graphics/mac/CALayerWebAdditions.mm: Removed.
* platform/graphics/mac/WebCoreCALayerExtras.h: Added.
* platform/graphics/mac/WebCoreCALayerExtras.mm: Added.
Rename.

(-[CALayer web_disableAllActions]):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Test that text-decoration-skip: ink inherits as expected
https://bugs.webkit.org/show_bug.cgi?id=127329

Reviewed by Dean Jackson.

Adding a test for text-decoration-skip: ink inheriting

* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-inherit-expected.html: Added.
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-inherit.html: Added.

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