fast/frames/seamless/seamless-nested-crash.html asserts on wk2 only
https://bugs.webkit.org/show_bug.cgi?id=123354

* TestExpectations: Skip for now.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
URTBF from non-Mac platforms after r158028.

* GNUmakefile.list.am:
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(toplevelWindowFocusInEvent):
(toplevelWindowFocusOutEvent):
(toplevelWindowVisibilityEvent):
(webkitWebViewBaseSetToplevelOnScreenWindow):
(webkitWebViewBaseSetFocus):
* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::setActive):
(WebKit::WebView::setFocused):
(WebKit::WebView::setVisible):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
One more URTBF for GTK after r158028.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseMap):
(webkitWebViewBaseUnmap):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge viewInWindowStateDidChange into viewStateDidChange
https://bugs.webkit.org/show_bug.cgi?id=123351

Reviewed by Tim Horton.

* UIProcess/API/mac/WKView.mm:
(-[WKView endDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChangesSync]):
    - viewInWindowStateDidChange -> viewStateDidChange
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewStateDidChange):
    - removed viewInWindowStateDidChange, renamed parameter to viewStateDidChange
* UIProcess/WebPageProxy.h:
    - removed viewInWindowStateDidChange, named parameter to viewStateDidChange



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Apparently we need results in platform/mac-mountainlion/platform/mac/ for MountionLion.

* platform/mac-mountainlion/accessibility/aria-readonly-expected.txt: Added.
* platform/mac-mountainlion/platform/mac/accessibility/form-control-value-settable-expected.txt: Renamed from LayoutTests/platform/mac-mountainlion/accessibility/form-control-value-settable-expected.txt.
* platform/mac-mountainlion/platform/mac/accessibility/press-action-is-first-expected.txt: Renamed from LayoutTests/platform/mac-mountainlion/accessibility/press-action-is-first-expected.txt.
* platform/mac-mountainlion/platform/mac/accessibility/role-subrole-roledescription-expected.txt: Renamed from LayoutTests/platform/mac-mountainlion/accessibility/role-subrole-roledescription-expected.txt.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix or disable some deprecation warnings.

Reviewed by Darin Adler.

* Panels/WebAuthenticationPanel.m:
(-[WebAuthenticationPanel cancel:]): On newer OS versions, use the modern API.
(-[WebAuthenticationPanel logIn:]): Ditto.
(-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]): Ditto. Translate the
response code in to the form that -sheetDidEnd:responseCode:contextInfo: expects.
* WebView/WebClipView.mm:
(-[WebClipView initWithFrame:]): Disable deprecation warnings since it's not obvious
how to avoid calling -releaseGState here.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[MSE] Fix runtime errors caused by mediasource IDL attributes.
https://bugs.webkit.org/show_bug.cgi?id=123352

Reviewed by Eric Carlson.

Due to http://webkit.org/b/123178, MediaSource classes must add a GenerateIsReachable
(and also a JSGenerateToJSObject) attribute to avoid runtime asserts and crashes.

* Modules/mediasource/MediaSource.idl:
* Modules/mediasource/SourceBuffer.idl:
* Modules/mediasource/SourceBufferList.idl:
* Modules/mediasource/WebKitMediaSource.idl:
* Modules/mediasource/WebKitSourceBufferList.idl:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Mavericks results with MountainLion variants.

* platform/mac-mountainlion/canvas/philip/tests/2d.line.join.parallel-expected.txt: Copied from LayoutTests/platform/mac/canvas/philip/tests/2d.line.join.parallel-expected.txt.
* platform/mac-mountainlion/fast/css/line-height-expected.txt: Copied from LayoutTests/platform/mac/fast/css/line-height-expected.txt.
* platform/mac-mountainlion/fast/text/drawBidiText-expected.txt: Copied from LayoutTests/platform/mac/fast/text/drawBidiText-expected.txt.
* platform/mac-mountainlion/fast/text/hyphenate-locale-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.txt.
* platform/mac-mountainlion/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt.
* platform/mac-mountainlion/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt.
* platform/mac-mountainlion/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Added.
* platform/mac-mountainlion/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Added.
* platform/mac/canvas/philip/tests/2d.line.join.parallel-expected.txt:
* platform/mac/fast/css/line-height-expected.txt:
* platform/mac/fast/text/drawBidiText-expected.txt:
* platform/mac/fast/text/hyphenate-locale-expected.txt:
* platform/mac/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
* platform/mac/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] CORS-enabled fetch for shape image values
https://bugs.webkit.org/show_bug.cgi?id=123114

Reviewed by Andreas Kling.

Source/WebCore:

Access to shape images is now controlled by CORS CSS shape per
http://dev.w3.org/csswg/css-shapes/#shape-outside-property.
Previously shape images had to be same-origin.

Shape image URL access is defined by the same logic that defines
canvas tainting: same-origin and data URLs are allowed and images
with a "Access-Control-Allow-Origin:" header that's either "*" or
that matches the document's origin.

A PotentiallyCrossOriginEnabled RequestOriginPolicy was added to
ResourceLoaderOptions, to indicate that a "potentially CORS-enabled fetch"
was to be undertaken. The CSSImageValue::cachedImage() method handles this
option by effectively setting the "Origin:" request header (see
updateRequestForAccessControl() in CrossOriginAccessControl.cpp).
StyleResolver::loadPendingShapeImage() uses the new ResourceLoaderOption.

The static ShapeInsideInfo and ShapeOutsideInfo isEnabledFor() method
now performs the CORS check for image valued shapes. The private
isOriginClean() method from CanvasRenderingContext2D has been moved to
the CachedImage class so that it can be shared by the Canvas and Shape
implementations. It checks the response headers per the CORS spec.

Test: http/tests/security/shape-image-cors.html

* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::cachedImage): Handle the new ResourceLoaderOption.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingShapeImage): Set the new ResourceLoaderOption.
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createPattern): Use the CachedImage::isOriginClean().
* loader/ResourceLoaderOptions.h: Added PotentiallyCrossOriginEnabled to RequestOriginPolicy.
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::isOriginClean): Migrated from CanvasRenderingContext2D.
* loader/cache/CachedImage.h:
* rendering/shapes/ShapeInfo.cpp:
(WebCore::::checkImageOrigin): Do the CORS check and log an error message if neccessary.
* rendering/shapes/ShapeInfo.h:
* rendering/shapes/ShapeInsideInfo.cpp:
(WebCore::ShapeInsideInfo::isEnabledFor): Call checkImageOrigin() for images.
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::isEnabledFor): Ditto.

LayoutTests:

Verify that images not allowed by CORS don't affect the layout
and that same-origin images, data URLs, and images with a
"Access-Control-Allow-Origin: *" header do define the layout.
Added a simple PHP script that optionally adds the allow origin header.

Replaced and renamed the original shape same-origin-only test.

* http/tests/security/resources/image-access-control.php: Added.
* http/tests/security/shape-image-cors-expected.html: Added.
* http/tests/security/shape-image-cors.html: Added.
* http/tests/security/shape-inside-image-origin-expected.txt: Removed.
* http/tests/security/shape-inside-image-origin.html: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
https://bugs.webkit.org/show_bug.cgi?id=123111

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* WebCore.exp.in:

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/cf:

* WebCoreSupport/WebInspectorClientCF.cpp:

Source/WebKit/ios:

iOS does not have a local inspector, only remote. So give it a custom
implementation separate from the WebKit/mac WebInspectorClient
implementation which handles an attaching/detaching local inspector.

* WebKit.xcodeproj/project.pbxproj:
* ios/WebCoreSupport/WebInspectorClientIOS.mm: Added.
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::inspectorDestroyed):
(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::bringFrontendToFront):
(WebInspectorClient::closeInspectorFrontend):
(WebInspectorClient::didResizeMainFrame):
(WebInspectorClient::highlight):
(WebInspectorClient::hideHighlight):
(WebInspectorClient::didSetSearchingForNode):
(WebInspectorClient::sendMessageToFrontend):
(WebInspectorClient::sendMessageToBackend):
(WebInspectorClient::setupRemoteConnection):
(WebInspectorClient::teardownRemoteConnection):
(WebInspectorClient::hasLocalSession):
(WebInspectorClient::canBeRemotelyInspected):
(WebInspectorClient::inspectedWebView):
(WebInspectorFrontendClient::WebInspectorFrontendClient):
(WebInspectorFrontendClient::attachAvailabilityChanged):
(WebInspectorFrontendClient::frontendLoaded):
(WebInspectorFrontendClient::localizedStringsURL):
(WebInspectorFrontendClient::bringToFront):
(WebInspectorFrontendClient::closeWindow):
(WebInspectorFrontendClient::disconnectFromBackend):
(WebInspectorFrontendClient::attachWindow):
(WebInspectorFrontendClient::detachWindow):
(WebInspectorFrontendClient::setAttachedWindowHeight):
(WebInspectorFrontendClient::setAttachedWindowWidth):
(WebInspectorFrontendClient::setToolbarHeight):
(WebInspectorFrontendClient::inspectedURLChanged):
(WebInspectorFrontendClient::updateWindowTitle):
(WebInspectorFrontendClient::save):
(WebInspectorFrontendClient::append):

Source/WebKit/mac:

The actual implementation at the WebCoreSupport/WebInspectorClient level
is the same as INSPECTOR_SERVER. Give debuggable pages a pageIdentifer.

* Configurations/FeatureDefines.xcconfig:
* Misc/WebKitLogging.h:
Misc.

* WebCoreSupport/WebInspectorClient.h:
(WebInspectorClient::pageId):
(WebInspectorClient::setPageId):
Give WebInspectorClient's a page identifier.

* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::inspectorDestroyed):
(WebInspectorClient::sendMessageToFrontend):
(WebInspectorClient::sendMessageToBackend):
(WebInspectorClient::setupRemoteConnection):
(WebInspectorClient::teardownRemoteConnection):
(WebInspectorClient::hasLocalSession):
(WebInspectorClient::canBeRemotelyInspected):
(WebInspectorClient::inspectedWebView):
A WebInspectorClient can be either local or remote. Add handling
for remote connections.

* WebInspector/remote/WebInspectorClientRegistry.h: Added.
* WebInspector/remote/WebInspectorClientRegistry.mm: Added.
(+[WebInspectorClientRegistry sharedRegistry]):
(-[WebInspectorClientRegistry init]):
(-[WebInspectorClientRegistry _getNextAvailablePageId]):
(-[WebInspectorClientRegistry registerClient:]):
(-[WebInspectorClientRegistry unregisterClient:]):
(-[WebInspectorClientRegistry clientForPageId:]):
(-[WebInspectorClientRegistry inspectableWebViews]):
Registry for all potentially debuggable pages. All WebInspectorClient instances.

* WebInspector/remote/WebInspectorRelayDefinitions.h: Added.
Constants (message keys) shared between WebKit and the XPC process.

* WebInspector/remote/WebInspectorServer.h: Added.
* WebInspector/remote/WebInspectorServer.mm: Added.
(-[WebInspectorServer init]):
(-[WebInspectorServer dealloc]):
(-[WebInspectorServer start]):
(-[WebInspectorServer stop]):
(-[WebInspectorServer isEnabled]):
(-[WebInspectorServer xpcConnection]):
(-[WebInspectorServer setupXPCConnectionIfNeeded]):
(-[WebInspectorServer pushListing]):
(-[WebInspectorServer hasActiveDebugSession]):
(-[WebInspectorServer setHasActiveDebugSession:]):
(-[WebInspectorServer xpcConnection:receivedMessage:userInfo:]):
(-[WebInspectorServer xpcConnectionFailed:]):
(-[WebInspectorServer didRegisterClient:]):
(-[WebInspectorServer didUnregisterClient:]):
Singleton to start/stop remote inspection. Handles the connection to the XPC
and hands off connections to the connection controller.

* WebInspector/remote/WebInspectorServerWebViewConnection.h: Added.
* WebInspector/remote/WebInspectorServerWebViewConnection.mm: Added.
(-[WebInspectorServerWebViewConnection initWithController:connectionIdentifier:destination:identifier:]):
(-[WebInspectorServerWebViewConnection setupChannel]):
(-[WebInspectorServerWebViewConnection dealloc]):
(-[WebInspectorServerWebViewConnection connectionIdentifier]):
(-[WebInspectorServerWebViewConnection identifier]):
(-[WebInspectorServerWebViewConnection clearChannel]):
(-[WebInspectorServerWebViewConnection sendMessageToFrontend:]):
(-[WebInspectorServerWebViewConnection sendMessageToBackend:]):
(-[WebInspectorServerWebViewConnection receivedData:]):
(-[WebInspectorServerWebViewConnection receivedDidClose:]):
An individual remote debug session connection.

* WebInspector/remote/WebInspectorServerWebViewConnectionController.h: Added.
* WebInspector/remote/WebInspectorServerWebViewConnectionController.mm: Added.
(-[WebInspectorServerWebViewConnectionController initWithServer:]):
(-[WebInspectorServerWebViewConnectionController dealloc]):
(-[WebInspectorServerWebViewConnectionController closeAllConnections]):
(-[WebInspectorServerWebViewConnectionController _listingForWebView:pageId:registry:]):
(-[WebInspectorServerWebViewConnectionController _pushListing:]):
(-[WebInspectorServerWebViewConnectionController pushListing:]):
(-[WebInspectorServerWebViewConnectionController pushListing]):
(-[WebInspectorServerWebViewConnectionController _receivedSetup:]):
(-[WebInspectorServerWebViewConnectionController _receivedData:]):
(-[WebInspectorServerWebViewConnectionController _receivedDidClose:]):
(-[WebInspectorServerWebViewConnectionController _receivedGetListing:]):
(-[WebInspectorServerWebViewConnectionController _receivedIndicate:]):
(-[WebInspectorServerWebViewConnectionController _receivedConnectionDied:]):
(-[WebInspectorServerWebViewConnectionController receivedMessage:userInfo:]):
(-[WebInspectorServerWebViewConnectionController connectionClosing:]):
(-[WebInspectorServerWebViewConnectionController sendMessageToFrontend:userInfo:]):
ConnectionController:
  - Holds all the current ongoing remote debug connections.
  - Simplifies multi-threaded work on iOS.
  - Dispatches incoming messages from the remote connection.

* WebInspector/remote/WebInspectorRemoteChannel.h: Added.
* WebInspector/remote/WebInspectorRemoteChannel.mm: Added.
(+[WebInspectorRemoteChannel createChannelForPageId:connection:]):
(-[WebInspectorRemoteChannel initWithRemote:local:]):
(-[WebInspectorRemoteChannel closeFromLocalSide]):
(-[WebInspectorRemoteChannel closeFromRemoteSide]):
(-[WebInspectorRemoteChannel sendMessageToFrontend:]):
(-[WebInspectorRemoteChannel sendMessageToBackend:]):
Thin interface between the remote connection and web inspector client.
This simplifies breaking the connection from either side, e.g. the
page closing, or the remote connection disconnecting.

* WebInspector/remote/WebInspectorXPCWrapper.h: Added.
* WebInspector/remote/WebInspectorXPCWrapper.m: Added.
(-[WebInspectorXPCWrapper initWithConnection:]):
(-[WebInspectorXPCWrapper close]):
(-[WebInspectorXPCWrapper dealloc]):
(-[WebInspectorXPCWrapper _deserializeMessage:]):
(-[WebInspectorXPCWrapper _handleEvent:]):
(-[WebInspectorXPCWrapper sendMessage:userInfo:]):
(-[WebInspectorXPCWrapper available]):
* WebKit.exp:
XPC Connection wrapper handling a simple message format.

* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate init]):
(-[WebViewPrivate dealloc]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView sharedWebInspectorServer]):
(+[WebView _enableRemoteInspector]):
(+[WebView _disableRemoteInspector]):
(+[WebView _disableAutoStartRemoteInspector]):
(+[WebView _isRemoteInspectorEnabled]):
(+[WebView _hasRemoteInspectorSession]):
(-[WebView canBeRemotelyInspected]):
(-[WebView allowsRemoteInspection]):
(-[WebView setAllowsRemoteInspection:]):
(-[WebView setIndicatingForRemoteInspector:]):
(-[WebView setRemoteInspectorUserInfo:]):
(-[WebView remoteInspectorUserInfo]):
Remote inspector private API.
  - Enable / disable globally
  - Allow / disallow per webview
  - Optionally attach a userInfo dictionary on the WebView that is published with listing.
  - Indicate a WebView (implementation to land later)

(-[WebView _didCommitLoadForFrame:]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidReceiveTitle):
Pages changed, pushed page listing.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

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