Timeline



May 9, 2014:

11:48 PM Changeset in webkit [168573] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] Remove a deprecated bundle form delegate method now that no one implements it
https://bugs.webkit.org/show_bug.cgi?id=132769

Reviewed by Sam Weinig.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):

10:14 PM Changeset in webkit [168572] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Fix bugs exposed by r168556
https://bugs.webkit.org/show_bug.cgi?id=132768

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-09
Reviewed by Ryosuke Niwa.

Fix two bugs exposed by r168556.
1) We were only changing the page scale factor when the scale was not adjusted by live

resize. The idea was that the scale would either be the same (responsive content)
or that it would be defined by the next viewContentRectUpdate.

Now that we also send resize and scroll events, we must always update the scale since
it affects some APIs observable from JavaScript (like scrolling bounds).

2) Internally, Page's scaleFactor is stored as a float and not double. The rounding error

were causing us to send DynamicViewportUpdateChangedTarget() in cases were there is no change
of target.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::withinEpsilon):
(WebKit::WebPage::dynamicViewportSizeUpdate):

9:51 PM Changeset in webkit [168571] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Close icondatabase when EwkFaviconDatabase is destroyed
https://bugs.webkit.org/show_bug.cgi?id=132767

Reviewed by Gyuyoung Kim.

IconDatabase should be closed explicitly.

  • UIProcess/API/efl/ewk_favicon_database.cpp:

(EwkFaviconDatabase::~EwkFaviconDatabase):

7:20 PM Changeset in webkit [168570] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[fullscreen] cursor should auto-hide when over video
https://bugs.webkit.org/show_bug.cgi?id=132758

Unreviewed followup based on test failure.

  • css/fullscreen.css: Append the previous rule - video children of fullscreen elements.
7:18 PM Changeset in webkit [168569] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Another build fix.

  • mac/MigrateHeadersToWebKit2.make:

Don't migrate the WKPreferences.h header, WebKit2 provides its own header.

7:09 PM Changeset in webkit [168568] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebKit2

[iOS][WK2] Reset the scroll position on the first frame after didCommitLoad
https://bugs.webkit.org/show_bug.cgi?id=132765

Reviewed by Tim Horton.

Since WebCore does not update our scroll view on load, we need to do that ourself.

In case where we need to restore the state from the history, RemoteLayerTreeDrawingAreaProxy
will always invoke the scrolling after didCommitLayerTree() (since r167916).
Consequently, it is now safe again to reset the scroll position ourself on the first frame.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLoadForMainFrame]):
(-[WKWebView _didCommitLayerTree:WebKit::]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _didCommitLoadForMainFrame]):

6:53 PM Changeset in webkit [168567] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.2

New Tag.

6:49 PM Changeset in webkit [168566] by andersca@apple.com
  • 54 edits
    1 add in trunk/Source/WebKit2

Update availability macros
https://bugs.webkit.org/show_bug.cgi?id=132763
<rdar://problem/15311800>

Reviewed by Dan Bernstein.

  • Configurations/WebKit.xcconfig:
  • Shared/API/Cocoa/WKBrowsingContextHandle.h:
  • Shared/API/Cocoa/WKFoundation.h:
  • Shared/API/Cocoa/_WKFrameHandle.h:
  • Shared/API/Cocoa/_WKRemoteObjectInterface.h:
  • Shared/API/Cocoa/_WKRemoteObjectRegistry.h:
  • UIProcess/API/Cocoa/WKBackForwardList.h:
  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKBackForwardListPrivate.h:
  • UIProcess/API/Cocoa/WKBrowsingContextController.h:
  • UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
  • UIProcess/API/Cocoa/WKConnection.h:
  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKNavigation.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/WKNavigationData.h:
  • UIProcess/API/Cocoa/WKNavigationDelegate.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/WKNavigationResponse.h:
  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKProcessGroup.h:
  • UIProcess/API/Cocoa/WKProcessPool.h:
  • UIProcess/API/Cocoa/WKScriptMessage.h:
  • UIProcess/API/Cocoa/WKScriptMessageHandler.h:
  • UIProcess/API/Cocoa/WKTypeRefWrapper.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUserContentController.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

(NS_OPTIONS):
(NS_ENUM):

  • UIProcess/API/Cocoa/WKWindowFeatures.h:
  • UIProcess/API/Cocoa/_WKActivatedElementInfo.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/_WKDownload.h:
  • UIProcess/API/Cocoa/_WKElementAction.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKScriptWorld.h:
  • UIProcess/API/Cocoa/_WKThumbnailView.h:
  • UIProcess/API/Cocoa/_WKVisitedLinkProvider.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMText.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
  • mac/rewrite-availability-macros.sh: Added.
6:30 PM Changeset in webkit [168565] by Joseph Pecoraro
  • 19 edits in trunk/Source

Web Inspector: Allow Remote Inspector to entitlement check UIProcess through WebProcess
https://bugs.webkit.org/show_bug.cgi?id=132409

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:
Proxy applications are applications which hold WebViews for other
applications. The WebProcess (Web Content Service) is a proxy application.
For legacy reasons we were supporting a scenario where proxy applications
could potentially host WebViews for more then one other application. That
was never the case for WebProcess and it is now a scenario we don't need
to worry about supporting.

With this change, a proxy application more naturally only holds WebViews
for a single parent / host application. The proxy process can set the
parent pid / audit_token data on the RemoteInspector singleton, and
that data will be sent on to webinspectord later on to be validated.
In the WebProcess<->UIProcess relationship that information is known
and set immediately. In the Legacy iOS case that information is set
soon after, but not immediately known at the point the WebView is created.

This allows us to simplify the RemoteInspectorDebuggable interface.
We no longer need a pid per-Debuggable.

  • inspector/remote/RemoteInspector.h:
  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::RemoteInspector):
(Inspector::RemoteInspector::setParentProcessInformation):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::listingForDebuggable):
(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):
Handle new proxy application setup message, and provide an API
for a proxy application to set the parent process information.

  • inspector/remote/RemoteInspectorConstants.h:

New setup and response message for proxy applications to pass
their parent / host application information to webinspectord.

  • inspector/remote/RemoteInspectorDebuggable.cpp:

(Inspector::RemoteInspectorDebuggable::info):

  • inspector/remote/RemoteInspectorDebuggable.h:

(Inspector::RemoteInspectorDebuggableInfo::RemoteInspectorDebuggableInfo):
(Inspector::RemoteInspectorDebuggableInfo::hasParentProcess): Deleted.
pid per debuggable is no longer needed.

Source/WebCore:

  • inspector/InspectorClient.h:

(WebCore::InspectorClient::parentProcessIdentifier): Deleted.

  • page/PageDebuggable.cpp:

(WebCore::PageDebuggable::parentProcessIdentifier): Deleted.

  • page/PageDebuggable.h:

pid per debuggable is no longer needed.

Source/WebKit/mac:
Simplify the legacy iOS UIWebViewController case by passing on
the host process pid and audit_token.

  • WebView/WebView.mm:

(-[WebView _setHostApplicationProcessIdentifier:auditToken:]):
(-[WebView setHostApplicationBundleId:name:]): Deleted.
(-[WebView hostApplicationBundleId]): Deleted.
(-[WebView hostApplicationName]): Deleted.

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:

(-[WebViewPrivate dealloc]):

  • WebView/WebViewPrivate.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebInspectorClient.h:
  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::parentProcessIdentifier): Deleted.
pid per debuggable is no longer needed.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
Immediately pass the parent process pid and audit_token on
to the RemoteInspector singleton when the process is created
so that it can be sent to webinspectord.

6:23 PM Changeset in webkit [168564] by rniwa@webkit.org
  • 2 edits in trunk/PerformanceTests

DYEBench should show 95th percentile right next to the mean with ±
https://bugs.webkit.org/show_bug.cgi?id=132729

Reviewed by Darin Adler.

Before this patch, Full.html showed the 95th percentile delta for the arthemtic mean in a separate row
but this was confusing for some people. Show it right next to mean in the same row separated by ±.

  • DoYouEvenBench/Full.html:
6:11 PM Changeset in webkit [168563] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (WebKit2): Tapping in search field at wikipedia.org doesn’t bring up the keyboard.
https://bugs.webkit.org/show_bug.cgi?id=132761
<rdar://problem/16857491>

Reviewed by Benjamin Poulain.

The interactionAssistant accessor should never create an instance of
UIWKTextInteractionAssistant, but simply return the value of _textInteractionAssistant.
The text interaction assistant should only be created when needed so that the rest of
the code could reliably check if we are interacting with text or not.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView interactionAssistant]):

6:10 PM Changeset in webkit [168562] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Fix some issues with scrolling tree logging
https://bugs.webkit.org/show_bug.cgi?id=132762

Reviewed by Tim Horton.

Only dump viewport constraints when they change, and dump the primary layer on
scrolling nodes.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::RemoteScrollingTreeTextStream::dump): Dump the primary layer.

5:59 PM CommitQueue edited by clopez@igalia.com
Fix URL for commit queue status (diff)
5:38 PM Changeset in webkit [168561] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[fullscreen] cursor should auto-hide when over video
https://bugs.webkit.org/show_bug.cgi?id=132758

Reviewed by Brent Fulgham.

Cursors were not auto-hiding over fullscreen video. There was
a small error in the CSS we load for fullscreen content.

  • css/fullscreen.css: Don't hide when video is a child of the fullscreen element - hide when it *is* the fullscreen element.

(video:-webkit-full-screen):
(:-webkit-full-screen video:hover): Deleted.

5:11 PM Changeset in webkit [168560] by Simon Fraser
  • 5 edits in trunk/Source/WebKit2

[iOS WK2] Fixed elements can go outside the document on pinching
https://bugs.webkit.org/show_bug.cgi?id=132759
<rdar://problem/16870835>

Reviewed by Benjamin Poulain.

Constrain the rect used to position fixed position objects when pinching (when
the scale goes below the minimumScale). Do so in such a way that there's a smooth
transition between rubber-banding and pinching.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateScrollViewBackground]): Use a nicer form for std::max<>.
(-[WKWebView _updateVisibleContentRects]): Pass the minimum scale.

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _updateVisibleContentRects]): Ditto.

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(adjustedUnexposedEdge): Helper to adjust the left/top.
(adjustedUnexposedMaxEdge): Helper to adjust the right/bottom.
(fixedPositionRectFromExposedRect):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:minimumScale:inStableState:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]): Deleted.

5:08 PM Changeset in webkit [168559] by Alan Bujtas
  • 7 edits in trunk/Source

Subpixel rendering[iOS]: Top bar on apple.com/support jiggles when the swoosh animates.
https://bugs.webkit.org/show_bug.cgi?id=132750
<rdar://problem/16803281>

Reviewed by Simon Fraser.

This patch ensures that GraphicsLayer and RemoteLayerBackingStore have the same dimensions.

Remove integral enclosing when we set the size on RemoteLayerBackingStore. It makes the layer's size
different from the backingstore when the passed value is fractional.
We scale and integral round this value to size the shareable bitmap later. Rounding ensures that
the final size value matches what we calculated at GraphicsLayerCA::updateGeometry()

Currently not testable.

Source/WebCore:

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment): include device scale factor to be able calculate the final content scale.

  • platform/graphics/ca/GraphicsLayerCA.h:

Source/WebKit2:

  • Shared/mac/RemoteLayerBackingStore.h:

(WebKit::RemoteLayerBackingStore::size):

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::ensureBackingStore):
(WebKit::RemoteLayerBackingStore::setNeedsDisplay): use enclosing here to ensure we cover the entire backing store.
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::updateBackingStore):

5:06 PM Changeset in webkit [168558] by mhahnenberg@apple.com
  • 4 edits in trunk/Source

JSDOMWindow should disable property caching after a certain point
https://bugs.webkit.org/show_bug.cgi?id=132751

Reviewed by Filip Pizlo.

Source/JavaScriptCore:
This is part of removing HasImpureGetOwnPropertySlot from JSDOMWindow. After the lookup in the static
hash table for JSDOMWindow fails we want to disable property caching even if the code that follows thinks
that it has provided a cacheable value.

  • runtime/PropertySlot.h:

(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::isCacheable):
(JSC::PropertySlot::disableCaching):

Source/WebCore:
No new tests.

This is part of removing HasImpureGetOwnPropertySlot from JSDOMWindow. After the lookup in the static
hash table for JSDOMWindow fails we want to disable property caching even if the code that follows thinks
that it has provided a cacheable value.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

4:13 PM Changeset in webkit [168557] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the export file after r168556

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-09

  • WebCore.exp.in: I forgot to fix the export file before landing.
4:08 PM Changeset in webkit [168556] by benjamin@webkit.org
  • 16 edits in trunk/Source

[iOS][WK2] Set up the resize events
https://bugs.webkit.org/show_bug.cgi?id=132726

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-09
Reviewed by Darin Adler and Simon Fraser.

Source/WebCore:
Let the WebKit2 layer override the size used for resize events.

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::sizeForResizeEvent):
(WebCore::FrameView::sendResizeEventIfNeeded):
(WebCore::FrameView::setCustomSizeForResizeEvent):

  • page/FrameView.h:

Source/WebKit2:
Wire the UI Process updates to FrameView to send the resize events appropriately.

  • Shared/VisibleContentRectUpdateInfo.cpp:

(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):

  • Shared/VisibleContentRectUpdateInfo.h:

(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::isChangingObscuredInsetsInteractively):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateVisibleContentRects]):

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:isChangingObscuredInsetsInteractively:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]): Deleted.
Pass down the status of the content insets with the view update to main frame's FrameView
when needed.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):
On live resize, send the resize event, then the scroll events (if needed).

Since JavaScript now gets two chances to change the content (resize event + scroll event),
we query the actual scroll offset and scale for the DynamicViewportUpdateChangedTarget.

(WebKit::WebPage::viewportConfigurationChanged):
Define the custom size on load before the app gets a chance to send different rects.
If for some reason the app changes its mind about the insets, the content will be notified with a resize event.

(WebKit::WebPage::updateVisibleContentRects):
Send the resize event when the insets are stable.
Also move the scroll event after the resize event for consistency with live resize.

2:25 PM Changeset in webkit [168555] by benjamin@webkit.org
  • 11 edits in trunk

[iOS] Switch geolocation to an explicit authorization query model
https://bugs.webkit.org/show_bug.cgi?id=132717

Source/WebKit/ios:
<rdar://problem/16762390>

Reviewed by Sam Weinig.

WebGeolocationCoreLocationProvider is the general WebKit wrapper for CoreLocation.

The old model was to start WebGeolocationCoreLocationProvider and have the start fail or succeed.
The new model is to explicitely ask for authorization through "requestGeolocationAuthorization", and
listen to "geolocationAuthorizationGranted" and "geolocationAuthorizationDenied".

We assume the client of WebGeolocationCoreLocationProvider is well behaved and ask for authorization
before invoking "start".
If "start" is called and the authorization is not granted, we assume geolocation was reset since
the last time authorization was requested, and we reset the client.

WebGeolocationProviderIOS has been adapted to that model. Instead of doing the "warmup" sequence
to get the authorization, it queries WebGeolocationCoreLocationProvider explicitly.

  • Misc/WebGeolocationCoreLocationProvider.h:
  • Misc/WebGeolocationCoreLocationProvider.mm:

(-[WebGeolocationCoreLocationProvider createLocationManager]):
(-[WebGeolocationCoreLocationProvider dealloc]):
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
(isAuthorizationGranted):
(-[WebGeolocationCoreLocationProvider start]):
(-[WebGeolocationCoreLocationProvider stop]):
(-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):
(-[WebGeolocationCoreLocationProvider setEnableHighAccuracy:]):
(-[WebGeolocationCoreLocationProvider handleExternalAuthorizationStatusChange:]): Deleted.

  • Misc/WebGeolocationProviderIOS.mm:

(-[WebGeolocationProviderIOS suspend]):
(-[WebGeolocationProviderIOS resume]):
(-[WebGeolocationProviderIOS registerWebView:]):
(-[WebGeolocationProviderIOS unregisterWebView:]):
(-[WebGeolocationProviderIOS setEnableHighAccuracy:]):
(-[WebGeolocationProviderIOS initializeGeolocationForWebView:listener:]):
(-[WebGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WebGeolocationProviderIOS geolocationAuthorizationDenied]):
(-[WebGeolocationProviderIOS stopTrackingWebView:]):
(-[WebGeolocationProviderIOS resetGeolocation]):
(-[_WebCoreLocationUpdateThreadingProxy geolocationAuthorizationGranted]):
(-[_WebCoreLocationUpdateThreadingProxy geolocationAuthorizationDenied]):
(-[_WebCoreLocationUpdateThreadingProxy positionChanged:WebCore::]):
(-[_WebCoreLocationUpdateThreadingProxy errorOccurred:]):
(-[_WebCoreLocationUpdateThreadingProxy resetGeolocation]):
(-[WebGeolocationProviderIOS _startCoreLocationDelegate]): Deleted.
(-[WebGeolocationProviderIOS _stopCoreLocationDelegateIfNeeded]): Deleted.
(-[WebGeolocationProviderIOS cancelWarmUpForWebView:]): Deleted.
(-[WebGeolocationProviderIOS geolocationDelegateStarted]): Deleted.
(-[WebGeolocationProviderIOS geolocationDelegateUnableToStart]): Deleted.
(-[_WebCoreLocationUpdateThreadingProxy geolocationDelegateStarted]): Deleted.
(-[_WebCoreLocationUpdateThreadingProxy geolocationDelegateUnableToStart]): Deleted.

Source/WebKit/mac:

Reviewed by Sam Weinig.

Since there is no warmup code, WebGeolocationPolicyListener no longer need to know about the provider,
which is awesome :)

  • WebCoreSupport/WebGeolocationClient.mm:

(-[WebGeolocationPolicyListener initWithGeolocation:forWebView:]):
(-[WebGeolocationPolicyListener deny]):
(-[WebGeolocationProviderInitializationListener initializationAllowedWebView:]):
(-[WebGeolocationProviderInitializationListener initializationDeniedWebView:]):
(-[WebGeolocationPolicyListener initWithGeolocation:forWebView:provider:]): Deleted.
(-[WebGeolocationProviderInitializationListener initializationAllowedWebView:provider:]): Deleted.
(-[WebGeolocationProviderInitializationListener initializationDeniedWebView:provider:]): Deleted.

  • WebView/WebViewPrivate.h:

Source/WebKit2:

Reviewed by Sam Weinig.

Switch WKGeolocationProviderIOS to use the new API of WebGeolocationCoreLocationProvider.

On WebKit2, the whole logic to track requesters is in WebGeolocationManagerProxy.

Without the warmup sequence, WKGeolocationProviderIOS becomes really dumb: it just provides
the two step authorization and forward the start/stop messages to the WebGeolocationCoreLocationProvider.

  • UIProcess/ios/WKGeolocationProviderIOS.mm:

(-[WKGeolocationProviderIOS _stopUpdating]):
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:window:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS geolocationAuthorizationDenied]):
(-[WKWebAllowDenyPolicyListener initWithPermissionRequestProxy:]):
(-[WKWebAllowDenyPolicyListener deny]):
(-[WKGeolocationProviderIOS _stopUpdatingIfPossible]): Deleted.
(-[WKGeolocationProviderIOS geolocationDelegateStarted]): Deleted.
(-[WKGeolocationProviderIOS geolocationDelegateUnableToStart]): Deleted.
(-[WKGeolocationProviderIOS permissionDenied:]): Deleted.
(-[WKWebAllowDenyPolicyListener initWithProvider:permissionRequestProxy:]): Deleted.

Tools:

Reviewed by Sam Weinig.

  • DumpRenderTree/mac/MockGeolocationProvider.mm:

(-[MockGeolocationProvider initializeGeolocationForWebView:listener:]):
(-[MockGeolocationProvider cancelWarmUpForWebView:]): Deleted.

2:24 PM Changeset in webkit [168554] by ap@apple.com
  • 6 edits in trunk

REGRESSION (r168518): Multiple tests for workers in blobs assert
https://bugs.webkit.org/show_bug.cgi?id=132728

Reviewed by Geoffrey Garen.

Source/WebCore:
Change File serialization to include name, so that we don't have to regenerate anything
on a secondary thread after deserialization.

Files and Blobs can't be stored persistently, because URLs are transient (IndexedDB
has an explicit check, and fails if there were any blob URLs). API doesn't have the
check, but given that anyone who tried to use these to serialize a File would fail,
it seems OK to change the format.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readFile):

  • fileapi/File.cpp:

(WebCore::File::File):

  • fileapi/File.h:

LayoutTests:

  • platform/mac/TestExpectations: Unskip the tests.
2:20 PM Changeset in webkit [168553] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Expose functions necessary for copying favicon between IconDatabases.
https://bugs.webkit.org/show_bug.cgi?id=132709

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2014-05-09
Reviewed by Brady Eidson.

  • UIProcess/API/C/WKIconDatabase.cpp:

(WKIconDatabaseSetIconURLForPageURL):
Add C API wrapper for WebIconDatabase::setIconURLForPageURL().

(WKIconDatabaseCopyIconURLForPageURL):
Add C API wrapper for WebIconDatabase::synchronousIconURLForPageURL().

  • UIProcess/API/C/WKIconDatabase.h:

Added declarations for wrapper functions above.

2:01 PM Changeset in webkit [168552] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS DRT build by including CG headers in WKPreferences.h, which uses CGFloat.

  • UIProcess/API/Cocoa/WKPreferences.h:
1:57 PM Changeset in webkit [168551] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit2

{TelephoneNumber, Selection}ControllerMac implementations dosn't handle tiled drawing properly.
https://bugs.webkit.org/show_bug.cgi?id=132746
<rdar://problem/16789588>

Reviewed by Tim Horton.

Don't try to draw the detector UI if no part of the selection bounds are inside
the current tile. Don't limit the detector UI to the bounds of this tile, or else
it will attempt to squeeze itself into the possibly small space available. Let it
draw as if it had the whole screen, and rely on the context clip region to
avoid overdrawing.

  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:

(WebKit::TelephoneNumberOverlayController::drawRect): Correct tiled drawing behavior.

  • WebProcess/WebPage/mac/SelectionOverlayControllerMac.mm:

(WebKit::SelectionOverlayController::drawRect): Ditto.

1:48 PM Changeset in webkit [168550] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Production build fix.

Reviewed by Dan Bernstein.

  • Configurations/BaseTarget.xcconfig:

Add SDKROOT in front of UMBRELLA_FRAMEWORKS_DIR for OS X Production builds.

1:28 PM Changeset in webkit [168549] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

8.8% spent in Object.prototype.hasOwnProperty() on sbperftest.
<https://webkit.org/b/132749>

Leverage the fast-resolve-to-AtomicString optimization for JSRopeString
in Object.prototype.* by using JSString::toIdentifier() in the cases where
we are converting JSString -> String -> Identifier.

This brings time spent in hasOwnProperty() from 8.8% to 1.3% on
"The Great HTML5 Gaming Performance Test: 2014 edition"
<http://www.scirra.com/demos/c2/sbperftest/>

Reviewed by Oliver Hunt.

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):

1:26 PM Changeset in webkit [168548] by mhahnenberg@apple.com
  • 11 edits in trunk/Source

JSDOMWindow should have a WatchpointSet to fire on window close
https://bugs.webkit.org/show_bug.cgi?id=132721

Reviewed by Filip Pizlo.

Source/JavaScriptCore:
This patch allows us to reset the inline caches that assumed they could skip
the first part of JSDOMWindow::getOwnPropertySlot that checks if the window has
been closed. This is part of getting rid of HasImpureGetOwnPropertySlot on JSDOMWindow.

PropertySlot now accepts a WatchpointSet which the inline cache code can look for
to see if it should create a new Watchpoint for that particular inline cache site.

  • bytecode/Watchpoint.h:
  • jit/Repatch.cpp:

(JSC::generateByIdStub):
(JSC::tryBuildGetByIDList):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):

  • runtime/PropertySlot.h:

(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::watchpointSet):
(JSC::PropertySlot::setWatchpointSet):

Source/WebCore:
No new tests.

This patch allows us to reset the inline caches that assumed they could skip
the first part of JSDOMWindow::getOwnPropertySlot that checks if the window has
been closed. This is part of getting rid of HasImpureGetOwnPropertySlot on JSDOMWindow.

JSDOMWindowBase now has a WatchpointSet that the underlying DOMWindow fires when its
frame is cleared. In getOwnPropertySlot, we now pass this WatchpointSet to PropertySlot
which will shepherd it back up to the code that generates the inline cache (and the
Watchpoint for clearing it).

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::frameDestroyed):

1:25 PM Changeset in webkit [168547] by dfarler@apple.com
  • 3 edits in trunk/Tools

com.apple.iphonesimulator.startSession needs to pass "RuntimeIdentifier"
https://bugs.webkit.org/show_bug.cgi?id=132718

Reviewed by David Kilzer.

The simulator may not be able to look up runtimes by SDK paths
and instead will map SDK versions to runtimes instead. In
com.apple.iphonesimulator.startSession notifications,
'runtimeIdentifier' (SDK version string) is preferred over
'sdkRoot' (SDK path) anyway. Include the 'runtimeIdentifier' key
when creating a new DRT or WKTR simulator session.

IPhoneSimulatorNotification.pm filters out keys for this
notification's userInfo with a hard-coded list. There's no harm
in including extra key-value pairs in an NSNotification userInfo
dictionary anyway and the simulator may again change its
userInfo schema for this notification.

  • DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm:

(postStartSessionNotification):

  • Scripts/old-run-webkit-tests:

(installAndLaunchDumpToolAppUsingNotification):

1:16 PM Changeset in webkit [168546] by andersca@apple.com
  • 2 edits in trunk/Tools

Another build fix.

  • Scripts/build-webkit:

WebKit2 should always be built for OS X and iOS.

12:36 PM Changeset in webkit [168545] by andersca@apple.com
  • 2 edits in trunk/Tools

Follow-up build fix.

  • Scripts/build-webkit:

WebKit2 should no longer be built before WebKit.

12:31 PM Changeset in webkit [168544] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Flush RemoteLayerBackingStore contexts on a secondary queue
https://bugs.webkit.org/show_bug.cgi?id=132667
<rdar://problem/15349483>

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
Address a missed review comment about a missing std::move.

12:05 PM Changeset in webkit [168543] by commit-queue@webkit.org
  • 13 edits
    1 copy
    29 adds in trunk

ASSERTION FAILED: object->style()->overflowX() == object->style()->overflowY()
https://bugs.webkit.org/show_bug.cgi?id=121682

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-09
Reviewed by Dirk Schulze.

Source/WebCore:
Add more overflow freedom to the SVG element:
-overflow-x and overflow-y for controlling each scrollbar independently is now supported
-overflow:scroll will display scrollbars regardless of the svg overflowing or not (as required by CSS)
-overflow:hidden will cause overflow to be clipped away and scrollbars to be hidden

Merged from Blink r172126 by <ed@opera.com>

Tests: svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg

svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg
svg/animations/animate-viewport-overflow-2.html
svg/animations/animate-viewport-overflow.html
svg/in-html/overflow-repaint.html
svg/in-html/overflow-svg-root-attr.html
svg/in-html/overflow-svg-root-style.html
svg/in-html/overflow-svg-root.html
svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg
svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg
svg/overflow/overflow-scroll-on-outermost-svg-element.svg
svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg
svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg
svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg
svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • page/FrameView.cpp:

(WebCore::FrameView::applyOverflowToViewport):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::shouldApplyViewportClip):
(WebCore::RenderSVGRoot::paintReplaced):
(WebCore::RenderSVGRoot::computeFloatRectForRepaint):

  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::isOverflowHidden):

LayoutTests:
Merge Blink r172126 by Erik Dahlström.

  • platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
  • platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png:
  • platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
  • platform/mac/svg/text/non-bmp-positioning-lists-expected.txt: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.png: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.png: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg: Added.
  • svg/animations/animate-viewport-overflow-2-expected.txt: Added.
  • svg/animations/animate-viewport-overflow-2.html: Added.
  • svg/animations/animate-viewport-overflow-expected.txt: Added.
  • svg/animations/animate-viewport-overflow.html: Added.
  • svg/in-html/overflow-repaint-expected.txt: Added.
  • svg/in-html/overflow-repaint.html: Added.
  • svg/in-html/overflow-svg-root-attr-expected.html: Added.
  • svg/in-html/overflow-svg-root-attr.html: Added.
  • svg/in-html/overflow-svg-root-expected.html: Added.
  • svg/in-html/overflow-svg-root-style-expected.html: Added.
  • svg/in-html/overflow-svg-root-style.html: Added.
  • svg/in-html/overflow-svg-root.html: Added.
  • svg/overflow/overflow-on-outermost-svg-element-horizontal-auto-expected.html: Added.
  • svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg: Added.
  • svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.txt:
  • svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png:
  • svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt: Copied from LayoutTests/platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt.
  • svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml:
  • svg/overflow/overflow-on-outermost-svg-element-vertical-auto-expected.html: Added.
  • svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg: Added.
  • svg/overflow/overflow-scroll-on-outermost-svg-element-expected.txt: Added.
  • svg/overflow/overflow-scroll-on-outermost-svg-element.svg: Added.
  • svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg: Added.
  • svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg: Added.
  • svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg: Added.
  • svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg: Added.
11:47 AM Changeset in webkit [168542] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r168448): fast/multicol/newmulticol/first-letter-create.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=132744

11:39 AM Changeset in webkit [168541] by andersca@apple.com
  • 236 edits
    7 copies
    2 adds
    1 delete in trunk

Rename WebKit2.framework to WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=132743
<rdar://problem/15920046>

Reviewed by Dan Bernstein.

.:

  • Source/Makefile:

Build WebKit.xcodeproj before WebKit2.xcodeproj.

  • WebKit.xcworkspace/xcshareddata/xcschemes/:

Ditto.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Remove the WebKit framework, it lives inside WebKit2 now.

Source/WebKit2:

  • Configurations/BaseLegacyProcess.xcconfig:

Change INSTALL_PATH to WebKit.framework.

  • Configurations/BaseTarget.xcconfig:

Change WEBKIT2_FRAMEWORKS_DIR to WEBKIT_FRAMEWORKS_DIR and add WEBKIT_LEGACY_PRIVATE_HEADERS_DIR.

  • Configurations/BaseXPCService.xcconfig:

Change WebKit2.framework to WebKit.framework.

  • Configurations/WebKit.xcconfig: Copied from Source/WebKit2/Configurations/WebKit2.xcconfig.

New configuration file for WebKit.framework. Re-export WebKitLegacy.framework.

  • Configurations/WebKit2.xcconfig:

New configuration file for the WebKit2 shim framework. Re-export WebKit.framework.

  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:

Update DYLD_INSERT_LIBRARIES to refer to WebKit.framework.

  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:

Update DYLD_INSERT_LIBRARIES to refer to WebKit.framework.

  • Shared/API/Cocoa/WKBrowsingContextHandle.h:
  • Shared/API/Cocoa/WKRenderingProgressEvents.h:

Update header imports.

  • Shared/API/Cocoa/WebKit.h: Renamed from Source/WebKit/mac/WebKitLegacy/WebKit.h.

New umbrella header. Imports the modern WebKit API as well as the legacy API.

  • Shared/API/Cocoa/WebKit.m: Renamed from Source/WebKit/mac/WebKitLegacy/WebKit.m.

Export install name symbols on iOS.

  • Shared/API/Cocoa/WebKitPrivate.h: Renamed from Source/WebKit/mac/WebKitLegacy/WebKitPrivate.h.

New umbrella SPI header. Imports the modern WebKit SPI.

  • Many headers:

Change WebKit2 includes to WebKit includes.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:

(WebKit::XPCServiceEventHandler):
Change bundle identifiers from com.apple.WebKit2 to com.apple.WebKit.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):
Change bundle identifier from com.apple.WebKit2 to com.apple.WebKit.

  • UIProcess/API/Cocoa/WKPreferences.h:

Stop including WKPreferencesRef.h, we have a WebKit2 header that handles this workaround for us now.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::addDYLDEnvironmentAdditions):
(WebKit::connectToService):
(WebKit::createProcess):
(WebKit::ProcessLauncher::launchProcess):
Change bundle identifiers from com.apple.WebKit2 to com.apple.WebKit.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::createPropertyListFile):
Change bundle identifiers from com.apple.WebKit2 to com.apple.WebKit.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultDiskCacheDirectory):
Change bundle identifier from com.apple.WebKit2 to com.apple.WebKit.

  • WebKit2.xcodeproj/project.pbxproj:

Copy the python message scripts to the WebKit2 framework.
Rename WebKit2.framework to WebKit.framework everywhere.
Add a new WebKit2 target that builds the shim WebKit2 framework.
Move the build script phase that migrates WebKitLegacy headers to WebKit.
Add a new build script phase that adds forwarding headers from WebKit2 to WebKit.

  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:

Update DYLD_INSERT_LIBRARIES to refer to WebKit.framework.

  • mac/MigrateHeadersFromWebKitLegacy.make: Renamed from Source/WebKit/mac/WebKitLegacy/MigrateHeadersFromWebKitLegacy.make.

Move the makefile that migrates WebKitLegacy headers here. On OS X, it copies the header contents and on iOS it creates forarding headers.

  • mac/MigrateHeadersToWebKit2.make:

New makefile that creates forwarding headers for the WebKit2 shim framework.

  • mac/WKPreferences.h: Added.

Add WebKit2/WKPreferences.h header that imports WebKit2/WKPreferencesref.h.

  • mac/WebKit2.m:

Skeleton for the WebKit2 shim framework.

  • mac/Info-WebKit2.plist: Added.

New Info.plist file for the WebKit2 shim framework.

Tools:

  • Scripts/check-for-inappropriate-files-in-framework:

Use PRODUCT_NAME instead of PROJECT_NAME when matching frameworks.
Change WebKit2 to WebKit.

  • Scripts/check-for-webkit-framework-include-consistency:

Change WebKit to WebKitLegacy.

11:20 AM Changeset in webkit [168540] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix build warning (uninitialized variable) in DFGFixupPhase.cpp
https://bugs.webkit.org/show_bug.cgi?id=132331

Patch by Tanay C <tanay.c@samsung.com> on 2014-05-09
Reviewed by Darin Adler.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):

11:19 AM Changeset in webkit [168539] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168499.

11:17 AM Changeset in webkit [168538] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-538.34-branch

Merged r168460.

9:55 AM Changeset in webkit [168537] by Manuel Rego Casasnovas
  • 2 edits in trunk/Tools

Remove GTK+ WK1 EWS from build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=132732

Reviewed by Alexey Proskuryakov.

GTK+ WK1 EWS was removed in r166427, so it shouldn't appear in the dashboard.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js:

(EWS): Remove GTK+ WK1 EWS.

9:44 AM Changeset in webkit [168536] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[MSE][Mac] Destroy the AVStreamDataParser when the SourceBuffer is removed from its MediaSource.
https://bugs.webkit.org/show_bug.cgi?id=132710

Reviewed by Eric Carlson.

The AVStreamDataParser should be destroyed when the SourceBuffer is removed, so that subsequent
SourceBuffers can utilize resources released by the parser on destruction.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(-[WebAVStreamDataParserListener invalidate]):
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]): Protect against _parent being invalidated.
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC): Call destroyParser();.
(WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::destroyParser): Call -[WebAVStreamDataParserListener invalidate].

9:29 AM Changeset in webkit [168535] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Crash when enabling DFG JIT.
https://bugs.webkit.org/show_bug.cgi?id=132683

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-09
Reviewed by Geoffrey Garen.

On windows, using register GPRInfo::regT0 as parameter to e.g. JIT::storeDouble(..., GPRInfo::regT0)),
results in a call to JIT::storeDouble(FPRegisterID src, const void* address),
where the address parameter gets the value of GPRInfo::regT0, which is 0 (eax on Windows).
This causes the register to be written to address 0, hence the crash.

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit): Use address in regT0 as parameter.

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit): Ditto.

9:15 AM Changeset in webkit [168534] by abucur@adobe.com
  • 4 edits in trunk/Source/WebCore

[CSS Regions] 1-2% performance regression in html5-full-render after r168286
https://bugs.webkit.org/show_bug.cgi?id=132672

Reviewed by Mihnea Ovidenie.

The patch optimizes the search of regions when there's a single region in the chain.
There's no need to execute advanced search logic, we can directly return that region.

Tests: No function change, no tests.

  • rendering/RenderBlock.cpp:

(WebCore::canComputeRegionRangeForBox):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::regionAtBlockOffset):
(WebCore::RenderFlowThread::hasCachedRegionRangeForBox): Renamed from hasRegionRangeForBox to
better suggest what the function does.
(WebCore::RenderFlowThread::getRegionRangeForBox):
(WebCore::RenderFlowThread::hasRegionRangeForBox): Deleted.

  • rendering/RenderFlowThread.h:
8:54 AM Changeset in webkit [168533] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[EME] Call suspendIfNeeded() in the MediaKeySession create() method to avoid an ASSERT.
https://bugs.webkit.org/show_bug.cgi?id=132712

Reviewed by Eric Carlson.

All ActiveDOMObject subclasses must call suspendIfNeeded() immediately after creation.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::MediaKeySession):

8:08 AM Changeset in webkit [168532] by commit-queue@webkit.org
  • 3 edits
    2 adds
    3 deletes in trunk/LayoutTests

[CSS Blending] Move background-blend-mode tests from fast/repaint to css3/blending and remove the -webkit- prefix
https://bugs.webkit.org/show_bug.cgi?id=132741

Patch by Ion Rosca <Ion Rosca> on 2014-05-09
Reviewed by Mihnea Ovidenie.

Remove the -webkit prefix from comments:

  • css3/blending/background-blend-mode-property-expected.txt:
  • css3/blending/script-tests/background-blend-mode-property.js:

Move the background-blend-mode test from fast/repaint to css3/blending.
This is not required to be a repaint test. It works well as a regular reftest too.

  • css3/blending/background-blend-mode-image-color-dynamic-expected.html: Added.
  • css3/blending/background-blend-mode-image-color-dynamic.html: Added.
  • fast/repaint/background-blend-mode-image-color-dynamic-expected.html: Removed.
  • fast/repaint/background-blend-mode-image-color-dynamic.html: Removed.
  • fast/repaint/resources/ducky.png: Removed.
7:59 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
(diff)
7:56 AM Changeset in webkit [168531] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Unreviewed. Another attempt to fix Windows build after r168528.

  • platform/graphics/win/FontWin.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):

7:42 AM Changeset in webkit [168530] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r167094): JSC crashes on ARM Traditional
https://bugs.webkit.org/show_bug.cgi?id=132738

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-09
Reviewed by Zoltan Herczeg.

PC is two instructions ahead of the current instruction
on ARM Traditional, so the distance is 8 bytes not 2.

  • llint/LowLevelInterpreter.asm:
7:35 AM Changeset in webkit [168529] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for Win after r168528.

  • platform/graphics/win/FontWin.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):

7:20 AM Changeset in webkit [168528] by Alan Bujtas
  • 18 edits
    5 adds in trunk

REGRESSION (r168095): 1-pixel gap between adjacent selection inlines
https://bugs.webkit.org/show_bug.cgi?id=132474
<rdar://problem/16797394>

Reviewed by David Hyatt.

This patch changes text selection rectangle calculation from integral to device
pixel snapping. It ensures that selection rect painting matches box boundaries for inline elements.
Directional rounding (horizontal only atm) is moved out from Font class and now accessible
to all the painting code. RTL snapping strategy is changed from floor to round to match ltr behavior.
However this patch does not address all the integral snapping across inline elements. There are
a few places where we still calculate enclosing rects where snapping is sufficient.

Source/WebCore:
Test: fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines.html

  • platform/LayoutUnit.h:

(WebCore::roundToDevicePixel): added fudge factor to change rounding direction as directed.

  • platform/graphics/Font.cpp:

(WebCore::Font::adjustSelectionRectForText):
(WebCore::Font::selectionRectForText): Deleted.

  • platform/graphics/Font.h:
  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::adjustSelectionRectForSimpleText): removed directional rounding.
(WebCore::Font::selectionRectForSimpleText): Deleted.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawHighlightForText): Deleted.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/LayoutPoint.h:

(WebCore::roundedForPainting):

  • platform/graphics/LayoutRect.h:

(WebCore::directionalPixelSnappedForPainting): Snap top right corner for rtl direction.

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::selectionRectForComplexText): Deleted.

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::adjustSelectionRectForComplexText): removed directional rounding.
(WebCore::Font::selectionRectForComplexText): Deleted.

  • platform/graphics/win/FontWin.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::selectionRectForComplexText): Deleted.

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::selectionRect):
(WebCore::EllipsisBox::paintSelection):

  • rendering/InlineTextBox.cpp:

(WebCore::integralEnclosingRectForSelection): helper to address enclosing empty rect problem.
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::positionForOffset):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::selectionRectForTextFragment):

LayoutTests:

  • fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines-expected.html: Added.
  • fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines.html: Added.
  • platform/mac/editing/selection/mixed-editability-10-expected.txt: progression.
  • platform/mac/fast/forms/cursor-at-editable-content-boundary-expected.txt: progression.
  • platform/mac/platform/mac/editing/input/caret-primary-bidi-expected.txt: Added. change in rounding strategy.
  • platform/mac/svg/text/caret-in-svg-text-expected.txt: Added. progression + change in rounding strategy.
6:34 AM Changeset in webkit [168527] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Add new u-szeged contributors.

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-09
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/config/contributors.json:
5:49 AM Changeset in webkit [168526] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

REGRESSION(CMAKE): [GTK] run-gtk-tests doesn't set the right injected bundle path
https://bugs.webkit.org/show_bug.cgi?id=132736

Reviewed by Philippe Normand.

There are two problems, the path returned by common.library_build_path() is wrong when
common.binary_build_path() has previously been called, and the test is still looking for
the .la instead of .so

  • TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:

(TestWebKitAPI::Util::createInjectedBundlePath): Use .so instead
of .la as extension of the injected bundle library.

  • gtk/common.py:

(binary_build_path): Remove unused global variable and add a new
one for binary_build_dir instead of sharing the same global
variable for library_build_path and binary_build_path.

5:49 AM Changeset in webkit [168525] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Make generate-forwarding-headers.pl work after WebKit2.framework -> WebKit.framework rename
https://bugs.webkit.org/show_bug.cgi?id=132733

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-09
Reviewed by Csaba Osztrogonác.

Rewrite framework's directory name to WebKit2 if the framework is WebKit (former WebKit2)
and then collect headers inside the fixed framework directory and generate forwarding
headers point to the fixed directory.

Leave WebKit2 in @frameworks list during the transition. It can be removed
once <WebKit2/foo.h> style includes were renamed to <WebKit/foo.h> everywhere.

  • Scripts/generate-forwarding-headers.pl:

(collectFameworkHeaderPaths):
(createForwardingHeadersForFramework):

3:58 AM Changeset in webkit [168524] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk
ASSERTION FAILED: !m_code
m_code == defaultExceptionCode

in WebCore::constructQualifiedName
https://bugs.webkit.org/show_bug.cgi?id=132343

'Remove bad assertion in SVGSMILElement's constructQualifiedName() by passing
IGNORE_EXCEPTION instead ASSERT_NO_EXCEPTION to Document::parseQualifiedName().
The constructQualifiedName() function handles parseQualifiedName() failures
propertly by returning early so there is no reason to assert on parsing
failures.'

Blink merge: http://src.chromium.org/viewvc/blink?view=revision&revision=173564
Based on the patch made by Christophe Dumez <ch.dumez@samsung.com>.

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-05-09
Reviewed by Dirk Schulze.

Source/WebCore:
Test: svg/custom/bad-attributeName-crash.html

  • svg/animation/SVGSMILElement.cpp:

(WebCore::constructQualifiedName):

LayoutTests:

  • svg/custom/bad-attributeName-crash-expected.txt: Added.
  • svg/custom/bad-attributeName-crash.html: Added.
12:10 AM Changeset in webkit [168523] by berto@igalia.com
  • 4 edits in trunk/Source

jsmin.py license header confusing, mentions non-free license
https://bugs.webkit.org/show_bug.cgi?id=123665

Reviewed by Darin Adler.

Pull the most recent version from upstream, which has a clear
license.

Source/JavaScriptCore:

  • inspector/scripts/jsmin.py:

Source/WebInspectorUI:

  • Scripts/jsmin.py:

May 8, 2014:

11:19 PM Changeset in webkit [168522] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r168518): Multiple tests for workers in blobs assert
https://bugs.webkit.org/show_bug.cgi?id=132728

  • platform/mac/TestExpectations: Skipped for now.
11:01 PM Changeset in webkit [168521] by rniwa@webkit.org
  • 4 edits
    72 adds in trunk/PerformanceTests

DYEBench should use TodoMVC to test FlightJS for consistency
https://bugs.webkit.org/show_bug.cgi?id=132727

Reviewed by Andreas Kling.

Add a test suite for the FlightJS version of TodoMVC, and disable FlightJS-MailClient by default.

I initially intended to include a wider variety of demo apps in DYEBench
but that's not happening any time soon so let us use TodoMVC for all frameworks for now.

We can add more demo apps in v2.

  • DoYouEvenBench/Full.html: Increment the version to 0.10.
  • DoYouEvenBench/InteractiveRunner.html: Don't check disabled suites by default.
  • DoYouEvenBench/resources/tests.js:
  • DoYouEvenBench/resources/todomvc/dependency-examples: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/.gitignore: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/.jshintrc: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/app.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data/stats.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data/todos.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/main.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/store.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/utils.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates/stats.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates/todo.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower.json: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/depot: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/jquery: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/index.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/karma.conf.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/package.json: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/readme.md: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/.jshintrc: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/mock: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/test-main.js: Added.
10:32 PM Changeset in webkit [168520] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Enable MEDIA_STREAM for EFL port
https://bugs.webkit.org/show_bug.cgi?id=132648

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-05-08
Reviewed by Gyuyoung Kim.

Tools:
Script modified to enable MEDIA_STREAM for EFL build.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:
Updated webaudio test case expectation after enabling MEDIA_STREAM

  • platform/efl/TestExpectations:
10:20 PM Changeset in webkit [168519] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

Multiple (stacked) cues when shuttling through video while playing closed captions
https://bugs.webkit.org/show_bug.cgi?id=132715
<rdar://problem/16795782>

Reviewed by Eric Carlson.

Tests: media/track/track-in-band-cues-added-once.html

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::hasCue): Revise to use a relaxed time equality.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::isEqual): Ditto.
(WebCore::TextTrackCue::hasEquivalentStartTime): Added.

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::startTimeVariance): Added.

  • html/track/TextTrackCueGeneric.h:
  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::isEqual): Do not call the VTTCue::isEqual method from
this class, since cueType() will not equal VTTCue, and the equality will fail.

9:37 PM Changeset in webkit [168518] by ap@apple.com
  • 15 edits
    2 adds in trunk/Source

Automatically zip document bundles used via File API
https://bugs.webkit.org/show_bug.cgi?id=132713
<rdar://problem/13397892>

Reviewed by Anders Carlsson.

Source/WebCore:
Tests: fast/files/filereader-zip-bundle.html

http/tests/local/fileapi/upload-zip-bundle-as-blob.html

  • FileMac.mm: Added.

(WebCore::File::shouldReplaceFile):
(WebCore::File::computeNameAndContentTypeForReplacedFile):
Added code that decides what to do with a bundle. We need this to happen in
WebProcess, because HTML5 dropzone depends on this, it needs to know file type
even before a File object can be created.

  • WebCore.exp.in: Export new functions.
  • WebCore.xcodeproj/project.pbxproj: Added new files.
  • dom/DataTransfer.cpp: (WebCore::DataTransfer::hasFileOfType): Updated for File

interface change.

  • fileapi/File.h:
  • fileapi/File.cpp:

(WebCore::File::File):
(WebCore::File::computeNameAndContentType):
(WebCore::File::contentTypeForFile):
(WebCore::File::contentTypeFromFilePathOrName): Deleted.
Make it possible for a subclass to affect file name and content type calculation.

  • platform/network/BlobDataFileReference.cpp:

(WebCore::BlobDataFileReference::BlobDataFileReference):
(WebCore::BlobDataFileReference::~BlobDataFileReference):
(WebCore::BlobDataFileReference::path):
(WebCore::BlobDataFileReference::size):
(WebCore::BlobDataFileReference::expectedModificationTime):
(WebCore::BlobDataFileReference::startTrackingModifications):

  • platform/network/BlobDataFileReference.h:

(WebCore::BlobDataFileReference::path): Deleted.
(WebCore::BlobDataFileReference::BlobDataFileReference): Deleted.
Use original or replaced file, as appropriate.

  • platform/network/mac/BlobDataFileReferenceMac.mm: Added.

(WebCore::BlobDataFileReference::generateReplacementFile): Implements generateReplacementFile().

  • platform/network/FormData.h: Added a FIXME.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Always use Blob code path

for blobs, don't unwrap them into a file path.

Source/WebKit2:

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: NetworkProcess

now uses FileCoordination (WebProcess already had this allowed).

  • Shared/BlobDataFileReferenceWithSandboxExtension.h: Added final to the class.

Source/WTF:

  • wtf/FeatureDefines.h: Added ENABLE_FILE_REPLACEMENT for Mac.
9:11 PM Changeset in webkit [168517] by fpizlo@apple.com
  • 1 copy in branches/ftlopt

Create a branch for risky FTL enhancements

9:02 PM Changeset in webkit [168516] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

8:59 PM Changeset in webkit [168515] by Lucas Forschler
  • 1 copy in tags/Safari-538.34.1

New Tag.

7:26 PM Changeset in webkit [168514] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Occasional crash under AsyncScrollingCoordinator::frameViewRootLayerDidChange() on history navigation
https://bugs.webkit.org/show_bug.cgi?id=132723

Reviewed by Sam Weinig.

Crash reports suggest that when we call AsyncScrollingCoordinator::frameViewRootLayerDidChange()
from HistoryController::restoreScrollPositionAndViewState(), the FrameView may not have a
scrolling node ID, which suggests that either the FrameView doesn't have a RenderView,
or compositing hasn't happened yet.

So if we enter AsyncScrollingCoordinator::frameViewRootLayerDidChange()
and the FrameView has no scrollLayerID, just return. We'll fix things up
when compositing kicks in later.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):

6:08 PM Changeset in webkit [168513] by Simon Fraser
  • 4 edits in trunk/Source

[iOS WK2] Bottom-relative position:fixed elements are misplaced on page load
https://bugs.webkit.org/show_bug.cgi?id=132719
<rdar://problem/16860837>

Reviewed by Benjamin Poulain.

Source/WebCore:

Add a couple of functions, and sort.

  • WebCore.exp.in:

Source/WebKit2:

If we haven't received visible rects from the web process, compute the
fixed position rect, but only after scale has been set.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::viewportConfigurationChanged):

6:06 PM Changeset in webkit [168512] by jer.noble@apple.com
  • 15 edits in trunk/Source

[Mac, iOS] Add source application accounting to AVURLAsset.
https://bugs.webkit.org/show_bug.cgi?id=132637

Reviewed by Eric Carlson.

Source/WebCore:
Properly account for the application responisble for data loading by passing the source
application identifier through to AVFoundation through AVURLAsset options.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::sourceApplicationIdentifier):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerSourceApplicationIdentifier):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):

  • platform/network/NetworkingContext.h:

Source/WebKit/mac:
Add accessor for sourceApplicationIdentifier.

  • WebCoreSupport/WebFrameNetworkingContext.h:
  • WebCoreSupport/WebFrameNetworkingContext.mm:

(WebFrameNetworkingContext::sourceApplicationIdentifier):

Source/WebKit2:
Add accessor for sourceApplicationIdentifier.

  • NetworkProcess/RemoteNetworkingContext.h:
  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::sourceApplicationIdentifier):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::sourceApplicationIdentifier):

5:30 PM Changeset in webkit [168511] by dfarler@apple.com
  • 2 edits in trunk/Tools

old-run-webkit-tests: update strings for simulator devices and app name
https://bugs.webkit.org/show_bug.cgi?id=132687

Reviewed by Darin Adler.

iPhone Retina (4-inch) -> iPhone 5
iPhone Retina (4-inch 64-bit) -> iPhone 5s

  • Scripts/old-run-webkit-tests:

(installAndLaunchDumpToolAppUsingNotification):
(openIPhoneSimulator):
(quitIPhoneSimulator):
quit iOS Simulator, not iPhone Simulator.

5:22 PM Changeset in webkit [168510] by mhahnenberg@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Base case for get-by-id inline cache doesn't check for HasImpureGetOwnPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=132695

Reviewed by Filip Pizlo.

We check in the case where we're accessing something other than the base object (e.g. the prototype),
but we fail to do so for the base object.

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):

  • jsc.cpp: Added some infrastructure to support this test. We don't currently trigger this bug anywhere in WebKit

because all of the values that are returned that could be impure are set to uncacheable anyways.
(WTF::ImpureGetter::ImpureGetter):
(WTF::ImpureGetter::createStructure):
(WTF::ImpureGetter::create):
(WTF::ImpureGetter::finishCreation):
(WTF::ImpureGetter::getOwnPropertySlot):
(WTF::ImpureGetter::visitChildren):
(WTF::ImpureGetter::setDelegate):
(GlobalObject::finishCreation):
(functionCreateImpureGetter):
(functionSetImpureGetterDelegate):

  • tests/stress/impure-get-own-property-slot-inline-cache.js: Added.

(foo):

5:22 PM Changeset in webkit [168509] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Flush RemoteLayerBackingStore contexts on a secondary queue
https://bugs.webkit.org/show_bug.cgi?id=132667
<rdar://problem/16861454>

Rubber-stamped by Simon Fraser.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
Add a null check to fix a crash on layers which lose backing store.

5:21 PM Changeset in webkit [168508] by jer.noble@apple.com
  • 11 edits in trunk/Source/WebCore

[MSE][Mac] Move AVStreamDataParser off-main-thread.
https://bugs.webkit.org/show_bug.cgi?id=132698

Reviewed by Eric Carlson.

-[AVStreamDataParser appendStreamData:] can casue the main thread to hang when a
large amount of media data is appended at once. Move the actual parsing of data
to a background (synchronous) dispatch queue, and split SourceBuffer::appendBufferTimerFired
into two functions, the latter of which will be called after the background queue
completes.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::appendBufferTimerFired): Split into sourceBufferPrivateAppendComplete.
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Split from appendBufferTimerFired.

  • Modules/mediasource/SourceBuffer.h:
  • platform/graphics/SourceBufferPrivate.h:
  • platform/graphics/SourceBufferPrivateClient.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]): Re-dispatch to the

web thread.

(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]): Ditto.
(WebCore::globalDataParserQueue): Added.
(WebCore::SourceBufferPrivateAVFObjC::append): Dispatch to the globalDataParserQueue.
(WebCore::SourceBufferPrivateAVFObjC::appendCompleted): Added.

  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::append): Adopt sourceBufferPrivateAppendComplete.

  • platform/mock/mediasource/MockSourceBufferPrivate.h:

Update SourceBufferPrivateGStreamer to match the new append return value:

  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::append):

  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
5:07 PM Changeset in webkit [168507] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.76-branch/Source

Versioning.

5:02 PM Changeset in webkit [168506] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.76.4

Versioning.

5:00 PM Changeset in webkit [168505] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.76-branch/Source

Versioning.

4:38 PM Changeset in webkit [168504] by commit-queue@webkit.org
  • 7 edits in trunk

Unreviewed, rolling out r168498.
https://bugs.webkit.org/show_bug.cgi?id=132714

broke Mavericks WK2 (Requested by litherum on #webkit).

Reverted changeset:

"http/tests/security/xss-DENIED-xsl-document-redirect.xml
fails with NetworkProcess"
https://bugs.webkit.org/show_bug.cgi?id=132523
http://trac.webkit.org/changeset/168498

4:25 PM Changeset in webkit [168503] by Lucas Forschler
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

4:23 PM Changeset in webkit [168502] by Lucas Forschler
  • 1 copy in tags/Safari-537.75.15

New Tag.

4:02 PM Changeset in webkit [168501] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit/mac

Merged r168500.

3:42 PM Changeset in webkit [168500] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Use a different install name for WebKitLegacy.framework for staged framework builds
https://bugs.webkit.org/show_bug.cgi?id=132711
<rdar://problem/16850620>

Reviewed by Dan Bernstein.

  • Configurations/WebKitLegacy.xcconfig:
3:29 PM Changeset in webkit [168499] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r168053): Phone number detection boxes are wrong when scrolled
https://bugs.webkit.org/show_bug.cgi?id=132706
-and corresponding-
<rdar://problem/16787957>

Reviewed by Tim Horton.

We need to paint the boxes in Document coordinates. Range::boundingRect() was
giving us a point that took scroll position into account, and that’s not what we
want. Here we use Range::textQuads() instead so that we can get something in
Document coordinates, and then we need to convert that up to the main Document’s
coordinates.

  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:

(WebKit::textQuadsToBoundingRectForRange):
(WebKit::TelephoneNumberOverlayController::drawRect):

The telephone click function wants a point in Window coordinates.
(WebKit::TelephoneNumberOverlayController::mouseEvent):

3:03 PM Changeset in webkit [168498] by mmaxfield@apple.com
  • 7 edits in trunk

http/tests/security/xss-DENIED-xsl-document-redirect.xml fails with NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=132523

Reviewed by Alexey Proskuryakov.

Source/WebCore:
We should not manufacture a response in the event of an error during a
synchronous XHR. In addition, this test removes one place that is
sensitive to such a manufactured response.

Updates test expectations.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not
manufacture a response

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not
manufacture a response

  • xml/XSLTProcessorLibxslt.cpp:

(WebCore::docLoaderFunc): Only use the response's URL if no error
occurred.

LayoutTests:
Two tests have been rebaselined, and re-enable test that now passes

  • fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt: The test describes

that success causes an ErrorHandler to run, but there was no ErrorHandler line in the
expected output. This now gets printed.

  • http/tests/security/xss-DENIED-xsl-document-redirect-expected.txt: Expecting logging

output on failed redirection

  • platform/mac-wk2/TestExpectations: Re-enable test that now passes.
2:51 PM Changeset in webkit [168497] by fpizlo@apple.com
  • 5 edits in trunk/Source

deleteAllCompiledCode() shouldn't use the suspension worklist
https://bugs.webkit.org/show_bug.cgi?id=132708

Reviewed by Mark Hahnenberg.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::setOptimizationThresholdBasedOnCompilationResult):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::isStillValid):

  • heap/Heap.cpp:

(JSC::Heap::deleteAllCompiledCode):

2:29 PM Changeset in webkit [168496] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] WebKit should listen to critical memory warnings.
<https://webkit.org/b/132704>
<rdar://problem/16857112>

Listen for DISPATCH_MEMORYSTATUS_PRESSURE_CRITICAL in addition to
DISPATCH_MEMORYSTATUS_PRESSURE_WARN, since we may only get the critical
notification on some systems.

Reviewed by Gavin Barraclough.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

2:20 PM Changeset in webkit [168495] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: InspectorDOMAgent::getAccessibilityPropertiesForNode should gracefully handle bad node
https://bugs.webkit.org/show_bug.cgi?id=132697

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-05-08
Reviewed by Timothy Hatcher.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
Gracefully handle no node.

2:07 PM Changeset in webkit [168494] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Console error when launching Web Inspector "Mode htmlmixed failed to advance stream"
https://bugs.webkit.org/show_bug.cgi?id=132703

Patch by Jono Wells <jonowells@apple.com> on 2014-05-08
Reviewed by Timothy Hatcher.

The CodeMirror 4 update brought with it a change in the XML mode that
causes our XML mode extension to fail to consume empty paired quotes
correctly.

  • UserInterface/Views/CodeMirrorAdditions.js:

Updated extendedXMLToken() to properly handle empty paired quotes.

1:56 PM Changeset in webkit [168493] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS WebKit2] Flush RemoteLayerBackingStore contexts on a secondary queue
https://bugs.webkit.org/show_bug.cgi?id=132667
<rdar://problem/15349483>

Reviewed by Darin Adler.

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::takeFrontContextPendingFlush):
(WebKit::RemoteLayerBackingStore::flush): Deleted.
Add takeFrontContextPendingFlush, which returns the painted-but-not-yet-flushed front context,
and drops our reference to it. This needs to be called on all backing store between paints.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:

(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::hasFlushed):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::~RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::BackingStoreFlusher):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::flush):
(WebKit::flushBackingStoreChangesInTransaction): Deleted.
Flush backing store and send the layer tree commit to the UI process from a dispatch queue.
We will only ever have a single commit in flight at a time, and there's a new
RELEASE_ASSERT to ensure that is the case.
We package up the commit on the main thread; the queue calls CGContextFlush
on all of the newly painted contexts and then tosses the commit over to the UI process.
This is a win in many cases because the Web process main thread can go ahead
and do other non-painting tasks while the queue is blocked on painting.

1:41 PM Changeset in webkit [168492] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit/mac

Merged r168482.

1:39 PM Changeset in webkit [168491] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch

Merged r168477.

1:34 PM Changeset in webkit [168490] by matthew_hanson@apple.com
  • 6 edits
    1 delete in branches/safari-537.76-branch

Rollout r168034.

1:28 PM Changeset in webkit [168489] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[wk2] Don't use the XPC-based plugin process for Adobe Reader
https://bugs.webkit.org/show_bug.cgi?id=132701
<rdar://problem/16792692>

Reviewed by Anders Carlsson.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::shouldUseXPC):
Rename the debugging default to a more modern and accurate name.
Don't use XPC for Adobe Reader.

(WebKit::PluginProcessProxy::platformGetLaunchOptions):
Move the check for plugins that need an executable heap into shouldUseXPC.

1:20 PM Changeset in webkit [168488] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r168471): Update the builder names on the scheduler list.
https://bugs.webkit.org/show_bug.cgi?id=132699

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-08
Reviewed by Martin Robinson.

On r168471 I missed to update the builder names for the GTK build
bots on the AnyBranchScheduler type scheduler list of bots.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
1:10 PM Changeset in webkit [168487] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Remove an incorrect assertion on asynchronous touch dispatch
https://bugs.webkit.org/show_bug.cgi?id=132660

Reviewed by Enrica Casucci.

This assertion no longer make sense after r168393. Now the asynchronous behavior is maintained
until the last finger leaves the screen.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleTouchEventAsynchronously):

12:52 PM Changeset in webkit [168486] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

12:40 PM Changeset in webkit [168485] by Lucas Forschler
  • 1 copy in branches/safari-538.34-branch

New Branch.

12:40 PM Changeset in webkit [168484] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Selecting frame in debugger sidebar doesn't reveal code
https://bugs.webkit.org/show_bug.cgi?id=132112

Patch by Jono Wells <jonowells@apple.com> on 2014-05-08
Reviewed by Joseph Pecoraro.

WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar was checking
only one of the two content trees in the DebuggerSidebarPanel instance. Added
base getter elementIsSelected to NavigationSidebarPanel and extended it in
DebuggerSidebarPanel.

  • UserInterface/Base/Main.js:

(WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): modified logic to check selectedSidebarPanel.elementIsSelected.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel.prototype.get elementIsSelected): Checks breakpoint and call stack trees.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.get elementIsSelected): Base implementation.

12:19 PM Changeset in webkit [168483] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS build after r168476.

  • platform/graphics/mac/GraphicsContextMac.mm:

(WebCore::GraphicsContext::drawFocusRing):

12:15 PM Changeset in webkit [168482] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Wrap a new class definition with has_include()
<rdar://problem/16852395> and https://bugs.webkit.org/show_bug.cgi?id=132694

Reviewed by Tim Horton.

  • Misc/WebSharingServicePickerController.mm:
12:14 PM Changeset in webkit [168481] by Bem Jones-Bey
  • 15 edits
    4 adds in trunk

[CSS Shapes] Shapes do not resolve dimensions specified in viewport units
https://bugs.webkit.org/show_bug.cgi?id=124052

Reviewed by Dirk Schulze.

Source/WebCore:
Viewport unit resolution doesn't work unless the RenderView is passed
down into the floatValueForLength methods. All this does is plumb down
a RenderView in all of these cases.

Tests: css3/masking/clip-path-polygon-viewport-units.html

fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units.html

  • css/BasicShapeFunctions.cpp:

(WebCore::floatValueForCenterCoordinate):

  • css/BasicShapeFunctions.h:
  • css/LengthFunctions.cpp:

(WebCore::floatSizeForLengthSize):

  • css/LengthFunctions.h:
  • rendering/ClipPathOperation.h:

(WebCore::ShapeClipPathOperation::pathForReferenceRect):
(WebCore::BoxClipPathOperation::pathForReferenceRect):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape):

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::computedShape):

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShapeCircle::floatValueForRadiusInBox):
(WebCore::BasicShapeCircle::path):
(WebCore::BasicShapeEllipse::floatValueForRadiusInBox):
(WebCore::BasicShapeEllipse::path):
(WebCore::BasicShapePolygon::path):
(WebCore::floatSizeForLengthSize):
(WebCore::BasicShapeInset::path):

  • rendering/style/BasicShapes.h:
  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

LayoutTests:

  • css3/masking/clip-path-polygon-viewport-units-expected.html: Added.
  • css3/masking/clip-path-polygon-viewport-units.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units.html: Added.
12:07 PM Changeset in webkit [168480] by fpizlo@apple.com
  • 7 edits
    1 add in trunk/Source/JavaScriptCore

SSA conversion should delete PhantomLocals for captured variables
https://bugs.webkit.org/show_bug.cgi?id=132693

Reviewed by Mark Hahnenberg.

  • dfg/DFGCommon.cpp:

(JSC::DFG::startCrashing): Parallel JIT and a JIT bug means that we man dump IR in parallel. This is the workaround. This patch uses it in all of the places where we dump IR and crash.

  • dfg/DFGCommon.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::injectTypeConversionsForEdge): Use the workaround.

  • dfg/DFGLivenessAnalysisPhase.cpp:

(JSC::DFG::LivenessAnalysisPhase::run): Use the workaround.

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run): Fix the bug - it's true that PhantomLocal for captured variables doesn't need anything done to it, but it's wrong that we didn't delete it outright.

  • dfg/DFGValidate.cpp: Use the workaround.
  • tests/stress/phantom-local-captured-but-not-flushed-to-ssa.js: Added.

(foo):
(bar):

12:03 PM Changeset in webkit [168479] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Cue display events may not be registered during page load.
https://bugs.webkit.org/show_bug.cgi?id=132696
<rdar://problem/16652874>

Reviewed by Eric Carlson.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleTextTrackAdd): Don't register
for 'cuechange' events anymore.
(Controller.prototype.handleTextTrackRemove): Ditto.
(Controller.prototype.updateCaptionContainer): Reduce CSS
churn by not adding/removing 'Hidden' class every time a
new cue is processed. Only do this when transitioning
track display state.
(Controller.prototype.handleTextTrackCueChange): Deleted.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateTextTrackDisplay): Call
'updateTextTrackContainer' directory when processing cues,
rather than trampolining through the JS layer.

11:33 AM Changeset in webkit [168478] by ap@apple.com
  • 20 edits
    2 adds in trunk/Source

Make BlobDataFileReference manage its sandbox extension
https://bugs.webkit.org/show_bug.cgi?id=132689

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in: Export symbols that are now needed in WebKit2 to subclass BlobDataFileReference.
  • fileapi/ThreadableBlobRegistry.cpp: (WebCore::ThreadableBlobRegistry::registerFileBlobURL):
  • platform/network/BlobData.cpp: (WebCore::BlobData::appendFile):
  • platform/network/BlobData.h: (WebCore::BlobDataItem::BlobDataItem):
  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.cpp: (WebCore::BlobRegistryImpl::registerFileBlobURL):
  • platform/network/BlobRegistryImpl.h:

BlobRegistry now takes a BlobDataFileReference and not a path, so that WebKit2
could pass objects that include sandbox extensions.

  • platform/network/BlobDataFileReference.h:
  • platform/network/BlobDataFileReference.cpp:

(WebCore::BlobDataFileReference::~BlobDataFileReference): Added a virtual destructor.
(WebCore::BlobDataFileReference::size): We now record the size and modification time right away, no need to lazily calculate them.
(WebCore::BlobDataFileReference::expectedModificationTime): Ditto.
(WebCore::BlobDataFileReference::startTrackingModifications): Record time and size
(since it's a single call). However, size calculation will become complicated again soon.
(WebCore::BlobDataFileReference::prepareForFileAccess): A hook for subclasses.
(WebCore::BlobDataFileReference::revokeFileAccess): Ditto.
(WebCore::BlobDataFileReference::computeFileSystemData): Deleted.

Source/WebKit2:

  • CMakeLists.txt:
  • PlatformGTK.cmake:
  • WebKit2.xcodeproj/project.pbxproj:

Added BlobDataFileReferenceWithSandboxExtension.

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::registerFileBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURLForSlice):
(WebKit::NetworkBlobRegistry::unregisterBlobURL):
(WebKit::NetworkBlobRegistry::connectionToWebProcessDidClose):
(WebKit::NetworkBlobRegistry::filesInBlob):
(WebKit::NetworkBlobRegistry::sandboxExtensions): Deleted.

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:

We no longer track sandbox extensions here. Instead, provide a way to get files
for a blob, which contain extensions and can allow access to themselves.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::consumeSandboxExtensions):
(WebKit::NetworkResourceLoader::invalidateSandboxExtensions):

  • NetworkProcess/NetworkResourceLoader.h:

Allow/revoke access to files in blob, just like we do for explicitly passed extensions.

  • Shared/BlobDataFileReferenceWithSandboxExtension.cpp: Added.

(WebKit::BlobDataFileReferenceWithSandboxExtension::BlobDataFileReferenceWithSandboxExtension):
(WebKit::BlobDataFileReferenceWithSandboxExtension::~BlobDataFileReferenceWithSandboxExtension):
(WebKit::BlobDataFileReferenceWithSandboxExtension::prepareForFileAccess):
(WebKit::BlobDataFileReferenceWithSandboxExtension::revokeFileAccess):

  • Shared/BlobDataFileReferenceWithSandboxExtension.h: Added.

(WebKit::BlobDataFileReferenceWithSandboxExtension::create):
A subclass of BlobDataFileReference that also contains a sandbox extension. NetworkProcess
always uses it in BlobRegistryImpl.

  • WebProcess/FileAPI/BlobRegistryProxy.cpp: (WebKit::BlobRegistryProxy::registerFileBlobURL):
  • WebProcess/FileAPI/BlobRegistryProxy.h:

Updated for BlobRegistry interface changes. BlobRegistryProxy doesn't really need
a BlobDataFileReference here, as it only uses a path, but it needs to implement the same interface
as BlobRegistryImpl.

11:24 AM Changeset in webkit [168477] by beidson@apple.com
  • 5 edits in trunk

"shouldKeepCurrentBackForwardListItemInList" API should pass clientInfo to the callback
<rdar://problem/16855357> and https://bugs.webkit.org/show_bug.cgi?id=132692

Reviewed by Tim Horton.

Source/WebKit2:

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/C/WKPageLoaderClient.h:

Tools:

  • TestWebKitAPI/Tests/WebKit2/ShouldKeepCurrentBackForwardListItemInList.cpp:

(TestWebKitAPI::shouldKeepCurrentBackForwardListItemInList):

10:57 AM Changeset in webkit [168476] by cabanier@adobe.com
  • 5 edits
    2 adds in trunk

Add support for drawFocusIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=132584

Reviewed by Dirk Schulze.

Source/WebCore:
The drawFocusIfNeeded API will draw a focus ring if the element that is passed
in is focused and a child element of the canvas.

Test: fast/canvas/draw-focus-if-needed.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawFocusIfNeeded):

  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasRenderingContext2D.idl:

LayoutTests:

  • fast/canvas/draw-focus-if-needed-expected.txt: Added.
  • fast/canvas/draw-focus-if-needed.html: Added.
10:50 AM Changeset in webkit [168475] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r168471): Duplicate builddirs broke the build master.
https://bugs.webkit.org/show_bug.cgi?id=132688

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-08
Reviewed by Carlos Garcia Campos.

Rename the builddirs of the new GTK bots introduced on r168471 to
be unique. Otherwise the master will break.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
10:32 AM Changeset in webkit [168474] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] webkitdom script assumes mkdir only fails because the directory already exists
https://bugs.webkit.org/show_bug.cgi?id=132674

Reviewed by Philippe Normand.

Only ignore mkdir failure when exception is raised because the
file already exists and it's a directory.

  • gtk/webkitdom.py:

(write_doc_files):

9:42 AM Changeset in webkit [168473] by Antti Koivisto
  • 6 edits in trunk/Source

[iOS WebKit2] Can't activate text fields on Facebook
https://bugs.webkit.org/show_bug.cgi?id=132682

Reviewed by Enrica Casucci.

Source/WebCore:

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::fired):

The isDocument() test here had reversed in the merge breaking content change observer callback.

Source/WebKit2:

  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::observedContentChange):

Implement content change observer callback.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):

If the event gets canceled by a potential change (a started short-duration timer)
save the position and node so we can continue later.

(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):

If it turns out the observed timer changed nothing continue the click event.

(WebKit::WebPage::completeSyntheticClick):

Factored click event dispatch part of handleSyntheticClick here.

9:19 AM Changeset in webkit [168472] by commit-queue@webkit.org
  • 30 edits in trunk/LayoutTests

[CSS Blending] Removing -webkit- prefixes for mix-blend-mode and isolation from layout tests.
https://bugs.webkit.org/show_bug.cgi?id=132680

Patch by Ion Rosca <Ion Rosca> on 2014-05-08
Reviewed by Mihnea Ovidenie.

  • css3/blending/blend-mode-accelerated-parent-overflow-hidden.html:
  • css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html:
  • css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending.html:
  • css3/blending/blend-mode-isolation-flags-append-stacking-context-blending.html:
  • css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending.html:
  • css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending.html:
  • css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation.html:
  • css3/blending/blend-mode-isolation-flags-turn-off-blending.html:
  • css3/blending/blend-mode-isolation-flags-turn-off-stacking-context.html:
  • css3/blending/blend-mode-isolation-flags-turn-on-blending.html:
  • css3/blending/blend-mode-isolation-flags-turn-on-stacking-context.html:
  • css3/blending/blend-mode-isolation-overflow-hidden.html:
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html:
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html:
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html:
  • css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html:
  • css3/blending/blend-mode-overflow.html:
  • css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html:
  • css3/blending/repaint/blend-mode-turn-off-isolation.html:
  • css3/blending/svg-blend-color-burn.html:
  • css3/blending/svg-blend-darken.html:
  • css3/blending/svg-blend-difference.html:
  • css3/blending/svg-blend-exclusion.html:
  • css3/blending/svg-blend-layer-mask.html:
  • css3/blending/svg-blend-lighten.html:
  • css3/blending/svg-blend-normal.html:
  • css3/blending/svg-blend-overlay.html:
  • css3/blending/svg-isolation-default.html:
  • css3/blending/svg-isolation-simple.html:
9:08 AM Changeset in webkit [168471] by commit-queue@webkit.org
  • 10 edits in trunk/Tools

[WK2][GTK] Split the 64-bit GTK buildbots in Build and Test.
https://bugs.webkit.org/show_bug.cgi?id=131358

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-08
Reviewed by Carlos Garcia Campos.

Current 64-bit GTK build bots (Release and Debug) not only test
the build, but run all tests. Split each one of the bots in
BuildOnly and TestWebKit2.

This will allow us to have a better overview of the status of
the GTK port.

Original patch from Sergio Villar Senin <svillar@igalia.com>

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

  • Scripts/webkitpy/port/builders.py:
  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaselineTest.test_baseline_directory):

  • TestResultServer/static-dashboards/builders.jsonp:
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(resetGlobals):

  • TestResultServer/static-dashboards/loader_unittests.js:
5:26 AM Changeset in webkit [168470] by commit-queue@webkit.org
  • 122 edits
    5 adds in trunk/LayoutTests

[EFL] Rebaseline after enabling new multi-column mode (r168046)
https://bugs.webkit.org/show_bug.cgi?id=132679

Unreviewed gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-08

  • platform/efl/css3/unicode-bidi-isolate-basic-expected.png:
  • platform/efl/css3/unicode-bidi-isolate-basic-expected.txt:
  • platform/efl/fast/block/float/float-not-removed-from-next-sibling4-expected.png:
  • platform/efl/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
  • platform/efl/fast/line-grid/line-grid-inside-columns-expected.png:
  • platform/efl/fast/line-grid/line-grid-inside-columns-expected.txt:
  • platform/efl/fast/line-grid/line-grid-into-columns-expected.txt:
  • platform/efl/fast/multicol/block-axis-horizontal-bt-expected.png:
  • platform/efl/fast/multicol/block-axis-horizontal-bt-expected.txt:
  • platform/efl/fast/multicol/block-axis-horizontal-tb-expected.png:
  • platform/efl/fast/multicol/block-axis-horizontal-tb-expected.txt:
  • platform/efl/fast/multicol/block-axis-vertical-lr-expected.png:
  • platform/efl/fast/multicol/block-axis-vertical-lr-expected.txt:
  • platform/efl/fast/multicol/block-axis-vertical-rl-expected.txt:
  • platform/efl/fast/multicol/border-padding-pagination-expected.png:
  • platform/efl/fast/multicol/border-padding-pagination-expected.txt:
  • platform/efl/fast/multicol/client-rects-expected.png:
  • platform/efl/fast/multicol/client-rects-expected.txt:
  • platform/efl/fast/multicol/client-rects-spanners-complex-expected.txt: Added.
  • platform/efl/fast/multicol/client-rects-spanners-expected.txt: Added.
  • platform/efl/fast/multicol/column-break-with-balancing-expected.txt:
  • platform/efl/fast/multicol/column-count-with-rules-expected.txt:
  • platform/efl/fast/multicol/column-rules-expected.png:
  • platform/efl/fast/multicol/column-rules-expected.txt:
  • platform/efl/fast/multicol/column-rules-stacking-expected.txt:
  • platform/efl/fast/multicol/columns-shorthand-parsing-expected.txt:
  • platform/efl/fast/multicol/float-avoidance-expected.txt:
  • platform/efl/fast/multicol/float-multicol-expected.txt:
  • platform/efl/fast/multicol/float-paginate-complex-expected.txt:
  • platform/efl/fast/multicol/float-paginate-empty-lines-expected.txt:
  • platform/efl/fast/multicol/float-paginate-expected.txt:
  • platform/efl/fast/multicol/layers-in-multicol-expected.txt:
  • platform/efl/fast/multicol/layers-split-across-columns-expected.txt:
  • platform/efl/fast/multicol/margin-collapse-expected.txt:
  • platform/efl/fast/multicol/max-height-columns-block-expected.png:
  • platform/efl/fast/multicol/max-height-columns-block-expected.txt:
  • platform/efl/fast/multicol/nested-columns-expected.png:
  • platform/efl/fast/multicol/nested-columns-expected.txt:
  • platform/efl/fast/multicol/newmulticol/client-rects-expected.txt: Added.
  • platform/efl/fast/multicol/overflow-across-columns-expected.png:
  • platform/efl/fast/multicol/overflow-across-columns-expected.txt:
  • platform/efl/fast/multicol/overflow-across-columns-percent-height-expected.png:
  • platform/efl/fast/multicol/overflow-across-columns-percent-height-expected.txt:
  • platform/efl/fast/multicol/overflow-unsplittable-expected.png:
  • platform/efl/fast/multicol/overflow-unsplittable-expected.txt:
  • platform/efl/fast/multicol/paginate-block-replaced-expected.txt:
  • platform/efl/fast/multicol/pagination/BottomToTop-bt-expected.txt:
  • platform/efl/fast/multicol/pagination/BottomToTop-lr-expected.txt:
  • platform/efl/fast/multicol/pagination/BottomToTop-rl-expected.txt:
  • platform/efl/fast/multicol/pagination/BottomToTop-tb-expected.txt:
  • platform/efl/fast/multicol/pagination/LeftToRight-bt-expected.txt:
  • platform/efl/fast/multicol/pagination/LeftToRight-lr-expected.txt:
  • platform/efl/fast/multicol/pagination/LeftToRight-rl-expected.txt:
  • platform/efl/fast/multicol/pagination/LeftToRight-tb-expected.txt:
  • platform/efl/fast/multicol/pagination/RightToLeft-bt-expected.txt:
  • platform/efl/fast/multicol/pagination/RightToLeft-lr-expected.txt:
  • platform/efl/fast/multicol/pagination/RightToLeft-rl-expected.txt:
  • platform/efl/fast/multicol/pagination/RightToLeft-tb-expected.txt:
  • platform/efl/fast/multicol/pagination/TopToBottom-bt-expected.txt:
  • platform/efl/fast/multicol/pagination/TopToBottom-lr-expected.txt:
  • platform/efl/fast/multicol/pagination/TopToBottom-rl-expected.txt:
  • platform/efl/fast/multicol/pagination/TopToBottom-tb-expected.txt:
  • platform/efl/fast/multicol/positioned-split-expected.txt:
  • platform/efl/fast/multicol/positive-leading-expected.png:
  • platform/efl/fast/multicol/positive-leading-expected.txt:
  • platform/efl/fast/multicol/scrolling-column-rules-expected.txt: Added.
  • platform/efl/fast/multicol/scrolling-overflow-expected.png:
  • platform/efl/fast/multicol/scrolling-overflow-expected.txt:
  • platform/efl/fast/multicol/shrink-to-column-height-for-pagination-expected.txt:
  • platform/efl/fast/multicol/single-line-expected.txt:
  • platform/efl/fast/multicol/span/anonymous-before-child-parent-crash-expected.png:
  • platform/efl/fast/multicol/span/anonymous-before-child-parent-crash-expected.txt:
  • platform/efl/fast/multicol/span/anonymous-split-block-crash-expected.png:
  • platform/efl/fast/multicol/span/anonymous-split-block-crash-expected.txt:
  • platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png:
  • platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt:
  • platform/efl/fast/multicol/span/clone-flexbox-expected.txt:
  • platform/efl/fast/multicol/span/clone-summary-expected.txt:
  • platform/efl/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
  • platform/efl/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
  • platform/efl/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
  • platform/efl/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
  • platform/efl/fast/multicol/span/span-as-nested-columns-child-expected.txt:
  • platform/efl/fast/multicol/span/span-as-nested-inline-block-child-expected.txt:
  • platform/efl/fast/multicol/span/span-margin-collapsing-expected.txt:
  • platform/efl/fast/multicol/table-margin-collapse-expected.txt:
  • platform/efl/fast/multicol/table-vertical-align-expected.txt:
  • platform/efl/fast/multicol/unsplittable-inline-block-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/border-padding-pagination-expected.png:
  • platform/efl/fast/multicol/vertical-lr/border-padding-pagination-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/column-count-with-rules-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/column-rules-expected.png:
  • platform/efl/fast/multicol/vertical-lr/column-rules-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-avoidance-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-multicol-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-paginate-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/nested-columns-expected.png:
  • platform/efl/fast/multicol/vertical-lr/nested-columns-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/unsplittable-inline-block-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/border-padding-pagination-expected.png:
  • platform/efl/fast/multicol/vertical-rl/border-padding-pagination-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/column-count-with-rules-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/column-rules-expected.png:
  • platform/efl/fast/multicol/vertical-rl/column-rules-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-avoidance-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-paginate-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/nested-columns-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/rule-style-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/unsplittable-inline-block-expected.txt:
  • platform/efl/fast/overflow/paged-x-div-expected.txt:
  • platform/efl/fast/overflow/paged-x-div-with-column-gap-expected.txt:
  • platform/efl/fast/overflow/paged-x-on-root-expected.png:
  • platform/efl/fast/overflow/paged-x-on-root-expected.txt:
  • platform/efl/fast/overflow/paged-x-with-column-gap-expected.png:
  • platform/efl/fast/overflow/paged-x-with-column-gap-expected.txt:
  • platform/efl/fast/overflow/paged-y-div-expected.txt:
  • platform/efl/fast/overflow/paged-y-on-root-expected.png:
  • platform/efl/fast/overflow/paged-y-on-root-expected.txt:
  • platform/efl/fast/repaint/multicol-repaint-expected.png:
  • platform/efl/fast/repaint/multicol-repaint-expected.txt:
3:59 AM Changeset in webkit [168469] by svillar@igalia.com
  • 58 edits in trunk/Source/WebCore

Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in svg/
https://bugs.webkit.org/show_bug.cgi?id=132647

Reviewed by Darin Adler.

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::isSupportedAttribute):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::isSupportedAttribute):

  • svg/SVGAnimateTransformElement.cpp:

(WebCore::SVGAnimateTransformElement::isSupportedAttribute):

  • svg/SVGAnimatedLength.cpp:

(WebCore::sharedSVGLength):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::isSupportedAttribute):

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::isSupportedAttribute):

  • svg/SVGClipPathElement.cpp:

(WebCore::SVGClipPathElement::isSupportedAttribute):

  • svg/SVGComponentTransferFunctionElement.cpp:

(WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):

  • svg/SVGCursorElement.cpp:

(WebCore::SVGCursorElement::isSupportedAttribute):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::instancesForElement):
(WebCore::SVGElement::childShouldCreateRenderer):

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::isSupportedAttribute):

  • svg/SVGFEBlendElement.cpp:

(WebCore::SVGFEBlendElement::isSupportedAttribute):

  • svg/SVGFEColorMatrixElement.cpp:

(WebCore::SVGFEColorMatrixElement::isSupportedAttribute):

  • svg/SVGFEComponentTransferElement.cpp:

(WebCore::SVGFEComponentTransferElement::isSupportedAttribute):

  • svg/SVGFECompositeElement.cpp:

(WebCore::SVGFECompositeElement::isSupportedAttribute):

  • svg/SVGFEConvolveMatrixElement.cpp:

(WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):

  • svg/SVGFEDiffuseLightingElement.cpp:

(WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):

  • svg/SVGFEDisplacementMapElement.cpp:

(WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):

  • svg/SVGFEDropShadowElement.cpp:

(WebCore::SVGFEDropShadowElement::isSupportedAttribute):

  • svg/SVGFEGaussianBlurElement.cpp:

(WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::isSupportedAttribute):

  • svg/SVGFELightElement.cpp:

(WebCore::SVGFELightElement::isSupportedAttribute):

  • svg/SVGFEMergeNodeElement.cpp:

(WebCore::SVGFEMergeNodeElement::isSupportedAttribute):

  • svg/SVGFEMorphologyElement.cpp:

(WebCore::SVGFEMorphologyElement::isSupportedAttribute):

  • svg/SVGFEOffsetElement.cpp:

(WebCore::SVGFEOffsetElement::isSupportedAttribute):

  • svg/SVGFESpecularLightingElement.cpp:

(WebCore::SVGFESpecularLightingElement::isSupportedAttribute):

  • svg/SVGFETileElement.cpp:

(WebCore::SVGFETileElement::isSupportedAttribute):

  • svg/SVGFETurbulenceElement.cpp:

(WebCore::SVGFETurbulenceElement::isSupportedAttribute):

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::isSupportedAttribute):
(WebCore::SVGFilterElement::childShouldCreateRenderer):

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::isSupportedAttribute):

  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::isSupportedAttribute):

  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::isSupportedAttribute):

  • svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::isSupportedAttribute):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::isSupportedAttribute):

  • svg/SVGLength.cpp:

(WebCore::SVGLength::lengthModeForAnimatedLengthAttribute):

  • svg/SVGLineElement.cpp:

(WebCore::SVGLineElement::isSupportedAttribute):

  • svg/SVGLinearGradientElement.cpp:

(WebCore::SVGLinearGradientElement::isSupportedAttribute):

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::isSupportedAttribute):

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::isSupportedAttribute):

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::isSupportedAttribute):

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::isSupportedAttribute):

  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::isSupportedAttribute):

  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::isSupportedAttribute):

  • svg/SVGRadialGradientElement.cpp:

(WebCore::SVGRadialGradientElement::isSupportedAttribute):

  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::isSupportedAttribute):

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::isSupportedAttribute):

  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::isSupportedAttribute):

  • svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::isSupportedAttribute):

  • svg/SVGSymbolElement.cpp:

(WebCore::SVGSymbolElement::isSupportedAttribute):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::isSupportedAttribute):

  • svg/SVGTests.cpp:

(WebCore::SVGTests::attributeToPropertyMap):

  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::textLengthAnimated):
(WebCore::SVGTextContentElement::isSupportedAttribute):

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::isSupportedAttribute):

  • svg/SVGTextPositioningElement.cpp:

(WebCore::SVGTextPositioningElement::isSupportedAttribute):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::isSupportedAttribute):
(WebCore::isDisallowedElement):

  • svg/SVGViewElement.cpp:

(WebCore::SVGViewElement::isSupportedAttribute):

3:35 AM Changeset in webkit [168468] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[CSS Blending] Replacing Unisolated with NotIsolated in variables and methods names
https://bugs.webkit.org/show_bug.cgi?id=132677

Patch by Ion Rosca <Ion Rosca> on 2014-05-08
Reviewed by Dirk Schulze.

No new tests required.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants):
(WebCore::RenderLayer::dirtyAncestorChainHasBlendingDescendants):
(WebCore::RenderLayer::updateDescendantDependentFlags):
hasUnisolatedBlendingDescendants -> hasNotIsolatedBlendingDescendants
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::updateStackingContextsAfterStyleChange):

  • rendering/RenderLayer.h:

m_hasUnisolatedBlendingDescendants -> m_hasNotIsolatedBlendingDescendants
m_hasUnisolatedBlendingDescendantsStatusDirty -> m_hasNotIsolatedBlendingDescendantsStatusDirty
hasUnisolatedBlendingDescendants() -> hasNotIsolatedBlendingDescendants()
hasUnisolatedBlendingDescendantsStatusDirty() -> hasNotIsolatedBlendingDescendantsStatusDirty()
m_hasUnisolatedCompositedBlendingDescendants -> m_hasNotIsolatedCompositedBlendingDescendants
hasUnisolatedCompositedBlendingDescendants() -> hasNotIsolatedCompositedBlendingDescendants()
setHasUnisolatedCompositedBlendingDescendants() -> setHasNotIsolatedCompositedBlendingDescendants

  • rendering/RenderLayerCompositor.cpp:

(WebCore::CompositingState::CompositingState):
m_hasUnisolatedCompositedBlendingDescendants -> m_hasNotIsolatedCompositedBlendingDescendants
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

3:28 AM Changeset in webkit [168467] by calvaris@igalia.com
  • 7 edits
    5 adds
    1 delete in trunk

[GTK] Enable skipped http/tests/media/hls/video-controls-live-stream.html
https://bugs.webkit.org/show_bug.cgi?id=132329

Reviewed by Eric Carlson.

Source/WebCore:
GTK port needed to define what happened with live stream media
controls. Now we disable and dim the timeline and tweak the
timers.

Test: http/tests/media/hls/video-controls-live-stream.html.

  • Modules/mediacontrols/mediaControlsGtk.js:

(ControllerGtk.prototype.configureControls): Moved logic from
setControlsType and changed to use an early return.
(ControllerGtk.prototype.reconnectControls): Redefined to just
configure the controls.
(ControllerGtk.prototype.handlePlay): If stream is live we don't
activate the current time just in case.
(ControllerGtk.prototype.updateDuration): Calls the superclass and
sets timeline.max to 0.
(ControllerGtk.prototype.setControlsType): Deleted.
(ControllerGtk.prototype.setIsLive): Configures controls and
disables the timeline if stream is live.

  • css/mediaControlsGtk.css:

(audio::-webkit-media-controls-timeline[disabled])
(video::-webkit-media-controls-timeline[disabled]): Dimmed the
timeline by setting opacity to 0.3.

LayoutTests:
Tweaked test, created GTK results, unskipped in GTK and moved the
current general expectations to be mac only.

  • http/tests/media/hls/video-controls-live-stream-expected.txt:

Moved.

  • http/tests/media/hls/video-controls-live-stream.html: Dump tree

and check status of the timelime.

  • media/media-controls.js:

(dumpMediaControlsTree): Added to dump the shadow dom tree.

  • platform/gtk/TestExpectations: Unskipped video-controls-live-stream.
  • platform/gtk/http/tests/media/hls/video-controls-live-stream-expected.txt: Added.
  • platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:

Moved from
LayoutTests/http/tests/media/hls/video-controls-live-stream-expected.txt
and rebaselined.

1:42 AM Changeset in webkit [168466] by mihnea@adobe.com
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Regions] Content overflowing a fixed positioned region is clipped
https://bugs.webkit.org/show_bug.cgi?id=118607

Reviewed by Andrei Bucur.

Fixed by the overflow in regions work, add test to prevent future regressions.

  • fast/regions/fixed-pos-region-overflow-content-expected.html: Added.
  • fast/regions/fixed-pos-region-overflow-content.html: Added.
1:16 AM Changeset in webkit [168465] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

[CSS Blending] Changing isolation CSS property should not trigger repaint in RenderStyle::changeRequiresLayerRepaint
https://bugs.webkit.org/show_bug.cgi?id=131436

Patch by Ion Rosca <Ion Rosca> on 2014-05-08
Reviewed by Dirk Schulze.

Source/WebCore:
The isolation:isolate property will create a stacking context. This is done in
StyleResolver::adjustRenderStyle where z-index is forced to 0.
If the element is already a stacking context for any other reason,
changing the isolation flag should not have any effect.

Tests: css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html

css3/blending/repaint/blend-mode-turn-off-isolation.html

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayerRepaint):
do not request repaint if isolation has changed.

LayoutTests:

  • css3/blending/repaint/blend-mode-turn-off-isolation-expected.txt: Added.
  • css3/blending/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt: Added.
  • css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html: Added.
  • css3/blending/repaint/blend-mode-turn-off-isolation.html: Added.
1:05 AM Changeset in webkit [168464] by Manuel Rego Casasnovas
  • 4 edits
    2 adds in trunk

REGRESSION (r167652): SelectionState is not set properly for non leaf objects in pages with regions
https://bugs.webkit.org/show_bug.cgi?id=132493

Reviewed by David Hyatt.

Source/WebCore:
Non selection leaf elements were not included in the selection ranges,
that was causing that their selection state was not set properly and
when one of the element was removed as it was marked as SelectionNone
current selection was not removed.

Due to this fix, the regression detected in bug #131982 arose again.
Reverted changes from r167675 and reopened bug as previous fix was not
right. Updated TestExpectations accordingly.

Test: fast/regions/selection/crash-select-all.html

  • rendering/RenderView.cpp:

(WebCore::RenderView::splitSelectionBetweenSubtrees): We need to include
non selection leafs in the range, otherwise we won't be marking
selection state of some elements properly.

LayoutTests:

fast/regions/cssom/region-range-for-box-crash.html as crashing on
debug due to regression detected in bug #131982.

  • fast/regions/selection/crash-select-all-expected.txt: Added.
  • fast/regions/selection/crash-select-all.html: Added.
12:57 AM Changeset in webkit [168463] by zoltan@webkit.org
  • 3 edits
    4 adds in trunk

[CSS Shapes] Can't select content within the area of the floating box when clip-path is applied
https://bugs.webkit.org/show_bug.cgi?id=131375

Reviewed by Dirk Schulze.

Source/WebCore:
According to http://www.w3.org/TR/css-masking-1/, the clipped part of the element should
not have pointer event dispatching. So add this logic to RenderBlock::nodeAtPoint. This
fixes the bug as it disallows selection on any clipped parts.

I implemented the proper selection for the various CSS box types and added testing
for them. Also, I made and run performance tests for exposing mouse events over the
clipped/non-clipped area, which results can be seen in bugzilla.

Based on the patch made by Rob Buis <rob.buis@samsung.com>
Blink revision: http://src.chromium.org/viewvc/blink?view=revision&revision=172619

Tests: fast/masking/clip-path-selection.html

fast/shapes/shape-outside-floats/shape-outside-clip-path-selection.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::nodeAtPoint):

LayoutTests:

  • fast/masking/clip-path-selection-expected.txt: Added.
  • fast/masking/clip-path-selection.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-clip-path-selection-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-clip-path-selection.html: Added.

May 7, 2014:

10:42 PM Changeset in webkit [168462] by commit-queue@webkit.org
  • 10 edits
    12 adds in trunk

[CSS Blending] Blending doesn't work if the parent stacking context is not a self painting layer
https://bugs.webkit.org/show_bug.cgi?id=130891

Patch by Ion Rosca <Ion Rosca> on 2014-05-07
Reviewed by Dean Jackson.

Source/WebCore:
The stacking context layers having unisolated blending descendants should be able
to create transparency layers or to become composited in order to restrict blending
content to accessing the information outside the current stacking context.
Some layers are not self painting layers and these layers cannot crate transparency
layers and cannot be composited, thus they are not able to isolate blending descendants
when it's required.

The solution in this patch is to make a layer isSelfPaintingLayer when
it needs to isolate blending descendants (hasUnisolatedBlendingDescendants).

Tests: css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html

css3/blending/blend-mode-isolation-overflow-hidden.html
css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html
css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html
css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html
css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants):
When hasUnisolatedBlendingDescendants is set we make sure that isSelfPaintingLayer flag is set too.
(WebCore::RenderLayer::updateDescendantDependentFlags):
The flags might be read or changed while walking the descendants, so we don't want to reset
them before traversing the tree.
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):
Adding isolatesBlending() condition for a layer to be self painting.

  • rendering/RenderLayer.h:

Removing ASSERT from hasUnisolatedBlendingDescendants(). It crashes in minibrowser
and in layout tests when painting contents. Similar bugs on other flags: #71044, #71277.

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleDidChange):
Telling ancestors that blend mode property has been removed from CSS when the layer for
this element is going to be removed; styleChanged will not be called anymore.

LayoutTests:
Removed position:relative which forced tests to avoid this bug.

  • css3/blending/blend-mode-accelerated-parent-overflow-hidden.html:
  • css3/blending/blend-mode-clip-accelerated-blending-canvas.html:
  • css3/blending/blend-mode-clip-accelerated-blending-child.html:
  • css3/blending/blend-mode-clip-accelerated-blending-with-siblings.html:
  • css3/blending/blend-mode-clip-accelerated-transformed-blending.html:

New tests:

  • css3/blending/blend-mode-isolation-accelerated-overflow-hidden-expected.txt: Added.
  • css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html: Added.
  • css3/blending/blend-mode-isolation-overflow-hidden-expected.html: Added.
  • css3/blending/blend-mode-isolation-overflow-hidden.html: Added.
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer-expected.txt: Added.
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html: Added.
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer1-expected.txt: Added.
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html: Added.
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer2-expected.txt: Added.
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html: Added.
  • css3/blending/blend-mode-isolation-turn-on-self-painting-layer-expected.txt: Added.
  • css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html: Added.
9:10 PM Changeset in webkit [168461] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r168451.
https://bugs.webkit.org/show_bug.cgi?id=132670

Not a speed-up, just do what other compilers do. (Requested by
kling on #webkit).

Reverted changeset:

"[X86] Emit BT instruction for single-bit tests."
https://bugs.webkit.org/show_bug.cgi?id=132650
http://trac.webkit.org/changeset/168451

7:51 PM Changeset in webkit [168460] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Dragging text from one paragraph to another does not render as expected
https://bugs.webkit.org/show_bug.cgi?id=132633

Reviewed by Darin Adler and Ryosuke Niwa.

Source/WebCore:
When we are dragging and dropping into a content editable field, we detect
if we are trying to put a <p> into an existing <p>, and if so, split the
outer <p> and insert the new <p> as its sibling. However, the outer <p>
might not be editable, so we don't want to do any splitting and inserting
at that location.

Test: editing/pasteboard/drag-drop-paragraph-crasher.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):

LayoutTests:
The problem occurs when dragging text that includes a <p> into an editable
area that has a <p> as a parent.

  • editing/pasteboard/drag-drop-paragraph-crasher-expected.txt: Added.
  • editing/pasteboard/drag-drop-paragraph-crasher.html: Added.
7:35 PM Changeset in webkit [168459] by fpizlo@apple.com
  • 10 edits in trunk/Source

Source/JavaScriptCore: Make Executable::clearCode() actually clear all of the entrypoints, and
clean up some other FTL-related calling convention stuff.
<rdar://problem/16720172>

Rubber stamped by Mark Hahnenberg.

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::Worklist):
(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::create):
(JSC::DFG::ensureGlobalDFGWorklist):
(JSC::DFG::ensureGlobalFTLWorklist):

  • dfg/DFGWorklist.h:
  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::dump):

  • heap/CodeBlockSet.h:
  • runtime/Executable.cpp:

(JSC::ExecutableBase::clearCode):

Source/WTF: UNREACHABLE_FOR_PLATFORM() is meant to be a release crash.

Rubber stamped by Mark Hahnenberg..

  • wtf/Assertions.h:

(UNREACHABLE_FOR_PLATFORM):

6:42 PM Changeset in webkit [168458] by gyuyoung.kim@samsung.com
  • 7 edits
    3 adds in trunk

[CoordinatedGraphics][WK2] Scale factor and scroll position is not being restored properly in a back/forward load
https://bugs.webkit.org/show_bug.cgi?id=126022

Reviewed by Benjamin Poulain.

Original author : Thiago de Barros Lacerda, and finished by Gyuyoung Kim.

Source/WebCore:
When user is navigating back/forward to a page that has been scrolled and/or scaled, that page must be shown
with its last scroll position and scale factor. However, when fixed layout was enabled with CoordinatedGraphics
and TILED_BACKING_STORE, Page::setPageScaleFactor() doesn't send previous scroll position since r165652 and r165913.

This patch allows the Page::setPageScaleFactor() send stored position to WK2 implementation by calling delegatedScrollRequested()
directly when delegatesScrolling() is on.

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor): TILED_BACKING_STORE and delegateScrolling are enabled, we pass new scroll position to WK2 though
delegateScrolling is disabled.

  • platform/ScrollView.cpp: delegatedScrollRequested() call is moved from ScrollView::setScrollPosition() to Page::setPageScaleFactor().

(WebCore::ScrollView::setScrollPosition):

Source/WebKit2:
When user is navigating back/forward to a page that has been scrolled and/or scaled, that page must be shown
with its last scroll position and scale factor. However, when fixed layout was enabled with CoordinatedGraphics
and TILED_BACKING_STORE, Page::setPageScaleFactor() doesn't send previous scroll position since r165652 and r165913.

This patch allows the Page::setPageScaleFactor() send stored position to WK2 implementation.

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::didCommitLoadForMainFrame):

Tools:
Added an unit test case to check if scroll position and scale are restored properly.

  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewRestoreZoomAndScrollBackForward.cpp: Added.

(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::didChangeContentsPosition):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/backforward1.html: Added.
  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/backforward2.html: Added.
6:30 PM Changeset in webkit [168457] by dino@apple.com
  • 3 edits
    2 adds in trunk

Using a fill pattern much larger than actual canvas reliably segfaults browser
https://bugs.webkit.org/show_bug.cgi?id=132635

Reviewed by Simon Fraser.

Source/WebCore:
Make sure that createPattern checks that the canvas it is about to use
as a source is valid.

Test: fast/canvas/pattern-too-large-to-create.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::createPattern): Check that the source canvas has
an ok ImageBuffer.

LayoutTests:
Test case that makes a huge canvas and tries to create a pattern out of it.

  • fast/canvas/pattern-too-large-to-create-expected.html: Added.
  • fast/canvas/pattern-too-large-to-create.html: Added.
6:16 PM Changeset in webkit [168456] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Put a better version of the assertion back, and add one when we ensureBackingStore.

Reviewed by Tim Horton.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
(WebKit::PlatformCALayerRemote::ensureBackingStore):

5:48 PM Changeset in webkit [168455] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

This assertion was wrong and fired every time. Remove it.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):

5:20 PM Changeset in webkit [168454] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed 64-bit build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add

correct 64-bit symbol definitions.

5:07 PM Changeset in webkit [168453] by ggaren@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION (r161429?): Frequent crashes on media/track/media-element-enqueue-event-crash.html
https://bugs.webkit.org/show_bug.cgi?id=117756

Reviewed by Mark Hahnenberg.

Re-enabled this test because it doesn't seem to crash anymore.

  • media/track/media-element-enqueue-event-crash.html: Reduced the number

of test runs because otherwise this test often times out.

  • platform/mac/TestExpectations: Re-enable this test because I ran it

for about a minute on my Mac Pro without crashing.

4:28 PM Changeset in webkit [168452] by psolanki@apple.com
  • 7 edits in trunk/Source

Use system defaults for hardware jpeg decoding
https://bugs.webkit.org/show_bug.cgi?id=132661
<rdar://problem/11348201>

Reviewed by Tim Horton.

Remove code that explicitly disabled hardware image decoding. Let the system decide what to do.

Source/WebCore:

  • WebCore.exp.in:
  • platform/graphics/ImageSource.h:

(WebCore::ImageSource::acceleratedImageDecodingEnabled): Deleted.
(WebCore::ImageSource::setAcceleratedImageDecodingEnabled): Deleted.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::imageSourceOptions):

Source/WebKit/mac:

  • WebView/WebView.mm:

(+[WebView _setAcceleratedImageDecoding:]):
(+[WebView _acceleratedImageDecoding]): Deleted.

  • WebView/WebViewPrivate.h:
4:22 PM Changeset in webkit [168451] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[X86] Emit BT instruction for single-bit tests.
<https://webkit.org/b/132650>

Implement test-bit-and-branch slightly more efficiently by using
BT + JC/JNC instead of TEST + JZ/JNZ when we're only testing for
a single bit.

Reviewed by Michael Saboff.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::singleBitIndex):
(JSC::MacroAssemblerX86Common::branchTest32):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::bt_i8r):
(JSC::X86Assembler::bt_i8m):

4:06 PM Changeset in webkit [168450] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.76.3

New Tag.

4:02 PM Changeset in webkit [168449] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.76-branch/LayoutTests/fast/forms

Remove unneccessary newline from layout tests.

3:48 PM Changeset in webkit [168448] by stavila@adobe.com
  • 6 edits
    2 adds in trunk

Use after free in WebCore::RenderObject::nextSibling / WebCore::RenderBoxModelObject::moveChildrenTo
https://bugs.webkit.org/show_bug.cgi?id=132625

Reviewed by David Hyatt.

Source/WebCore:
Fixed problem with dynamically inserting first letter elements.

Test: fast/multicol/newmulticol/first-letter-create.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::getFirstLetter):
(WebCore::RenderBlock::updateFirstLetter):

  • rendering/RenderBlock.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::moveChildrenTo):

LayoutTests:
Added test for special case which might cause use after free.

  • fast/multicol/newmulticol/first-letter-create-expected.html: Added.
  • fast/multicol/newmulticol/first-letter-create.html: Added.
3:42 PM Changeset in webkit [168447] by enrica@apple.com
  • 7 edits in trunk/Source

WK2: Programatic scroll requests during scroll or zoom animation to reveal focused element are ignored.
https://bugs.webkit.org/show_bug.cgi?id=132657
<rdar://problem/16468462>

Reviewed by Benjamin Poulain.

With the scrolling model we use on iOS, a programatic scroll
request can be received while we are still animating to reveal

Source/WebCore:
the focused input element. The WebProcess is unaware that the
scroll position is being changed in the UIProcess, and does not
honor the scroll request from JavaScript.
This is patch changes the behavior for clients using scroll delegates
to always send the scroll request to the UIProcess without checking
the current scroll position.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::setScrollPosition):

  • platform/ScrollView.h:

(WebCore::ScrollView::inProgrammaticScroll):

Source/WebKit2:
the focused input element. Changing the scroll offset while animating
leads to unpredictable results. We now cancel the animation if
a programatic scroll request is received.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _scrollToContentOffset:WebCore::]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getAssistedNodeInformation):

3:15 PM Changeset in webkit [168446] by Lucas Forschler
  • 5 edits in tags/Safari-538.34/Source/WebCore

Merged r168440.

3:15 PM Changeset in webkit [168445] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Speculative fix for crash in PlatformCALayerRemote::recursiveBuildTransaction
https://bugs.webkit.org/show_bug.cgi?id=132666

Reviewed by Tim Horton.

Crash reports suggest that owner() can be null. Assert and protect
against this.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):

3:00 PM Changeset in webkit [168444] by matthew_hanson@apple.com
  • 1 edit
    4 adds in branches/safari-537.76-branch/LayoutTests

Add layout tests that were not merged with r168098.

3:00 PM Changeset in webkit [168443] by mark.lam@apple.com
  • 26 edits
    1 add in trunk/Source/JavaScriptCore

REGRESSION(r166678): Dromaeo/cssquery-dojo.html crashes regularly.
<https://webkit.org/b/131356>

Reviewed by Geoffrey Garen.

The issue is that GC needs to be made aware of writes to m_inferredValue
in the VariableWatchpointSet, but was not. As a result, if a JSCell*
is written to a VariableWatchpointSet m_inferredValue, and that JSCell
does not survive an eden GC shortly after, we will end up with a stale
JSCell pointer left in the m_inferredValue.

This issue can be detected more easily by running Dromaeo/cssquery-dojo.html
using DumpRenderTree with the VM heap in zombie mode.

The fix is to change VariableWatchpointSet m_inferredValue to type
WriteBarrier<Unknown> and ensure that VariableWatchpointSet::notifyWrite()
is executed by all the execution engines so that the WriteBarrier semantics
are honored.

We still check if the value to be written is the same as the one in the
inferredValue. We'll by-pass calling the slow path notifyWrite() if the
values are the same.

(JSC::CodeBlock::CodeBlock):

  • need to pass the symbolTable to prepareToWatch() because it will be needed for instantiating the VariableWatchpointSet in prepareToWatch().
  • bytecode/VariableWatchpointSet.h:

(JSC::VariableWatchpointSet::VariableWatchpointSet):

  • VariableWatchpointSet now tracks its owner symbol table for its m_inferredValue write barrier, and yes, m_inferredValue is now of type WriteBarrier<Unknown>.

(JSC::VariableWatchpointSet::inferredValue):
(JSC::VariableWatchpointSet::invalidate):
(JSC::VariableWatchpointSet::finalizeUnconditionally):
(JSC::VariableWatchpointSet::addressOfInferredValue):
(JSC::VariableWatchpointSet::notifyWrite): Deleted.

  • bytecode/VariableWatchpointSetInlines.h: Added.

(JSC::VariableWatchpointSet::notifyWrite):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::cellConstant):

  • Added an assert in case we try to make constants of zombified JSCells again.
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • We now let the slow path handle the cases when the VariableWatchpointSet is in state ClearWatchpoint and IsWatched, and the slow path will ensure that we handle the needed write barrier semantics correctly. We will by-pass the slow path if the value being written is the same as the inferred value.
  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNotifyWrite):

  • Let the slow path handle the cases when the VariableWatchpointSet is in state ClearWatchpoint and IsWatched. We will by-pass the slow path if the value being written is the same as the inferred value.
  • heap/Heap.cpp:

(JSC::Zombify::operator()):

  • Use a different value for the zombified bits (to distinguish it from 0xbbadbeef which is used everywhere else).
  • heap/Heap.h:

(JSC::Heap::isZombified):

  • Provide a convenience test function to check if JSCells are zombified. This is currently only used in an assertion in the DFG bytecode parser, but the intent it that we'll apply this test in other strategic places later to help with early detection of usage of GC'ed objects when we run in zombie mode.
  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_captured_mov):

  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitNotifyWrite):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitNotifyWrite):
(JSC::JIT::emitSlow_op_put_to_scope):

  • Let the slow path for notifyWrite handle the cases when the VariableWatchpointSet is in state ClearWatchpoint and IsWatched. We will by-pass the slow path if the value being written is the same as the inferred value.


  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • Let the slow path for notifyWrite handle the cases when the VariableWatchpointSet is in state ClearWatchpoint and IsWatched. We will by-pass the slow path if the value being written is the same as the inferred value.


  • runtime/CommonSlowPaths.cpp:
  • runtime/JSCJSValue.h: Fixed some typos in the comments.
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addFunction):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::prepareToWatch):
(JSC::SymbolTableEntry::notifyWriteSlow):

  • runtime/SymbolTable.h:

(JSC::SymbolTableEntry::notifyWrite):

2:59 PM Changeset in webkit [168442] by Brent Fulgham
  • 15 edits
    2 adds in trunk/Source

[Mac, iOS] REGRESSION: WK2 YouTube support
https://bugs.webkit.org/show_bug.cgi?id=132568
<rdar://problem/11464344>

Reviewed by Darin Adler.

Source/WebCore:
Move the custom YouTube loader code out of the WebFrameLoaderClient into a
PluginReplacement-based class.

  • Modules/plugins/PluginReplacement.h:

(WebCore::PluginReplacement::supportsURL): New predicate so we can restrict
use of a plugin to a particular category of URLs.

  • Modules/plugins/QuickTimePluginReplacement.mm:

(WebCore::QuickTimePluginReplacement): Updated for new registrar signature.

  • Modules/plugins/YouTubePluginReplacement.h: Added.

(WebCore::YouTubePluginReplacement::parentElement):

  • Modules/plugins/YouTubePluginReplacement.cpp: Added.

(WebCore::YouTubePluginReplacement::registerPluginReplacement):
(WebCore::YouTubePluginReplacement::create):
(WebCore::YouTubePluginReplacement::supportsMimeType):
(WebCore::YouTubePluginReplacement::supportsFileExtension):
(WebCore::kit):
(WebCore::YouTubePluginReplacement::YouTubePluginReplacement):
(WebCore::YouTubePluginReplacement::createElementRenderer):
(WebCore::objectForKey):
(WebCore::YouTubePluginReplacement::installReplacement):
(WebCore::createYouTubeURL):
(WebCore::processAndCreateYouTubeURL):
(WebCore::YouTubePluginReplacement::youTubeURL):

  • WebCore.exp.in: Add new export from WebCore.
  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLPlugInElement.cpp:

(WebCore::pluginReplacementForType): Update to also check that the URL is supported
by the plugin.
(WebCore::registeredPluginReplacements): Add new YouTubePluginReplacement to registry.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::createElementRenderer): Remove custom YouTube code
now that this logic is handled in the plugin replacement class.
(WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree): Deleted.

  • html/HTMLPlugInImageElement.h:
  • html/shadow/YouTubeEmbedShadowElement.cpp:

(WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):
(WebCore::YouTubeEmbedShadowElement::shadowPseudoId): Use correct pseudoID for the
plugin replacement architecture.

  • html/shadow/YouTubeEmbedShadowElement.h:
  • platform/mac/WebCoreNSURLExtras.h:
  • platform/mac/WebCoreNSURLExtras.mm:

(WebCore::unescapedQueryValue): Moved from WebKit/Misc/WebNSURLExtras.
(WebCore::queryKeysAndValues): Ditto.

Source/WebKit/mac:

  • Misc/WebNSURLExtras.h:
  • Misc/WebNSURLExtras.mm: Remove code that has been converted to C++

and added to YouTubePluginReplacement.cpp.
(-[NSURL _webkit_youTubeURL]):
(-[NSString _webkit_queryKeysAndValues]):
(createYouTubeURL): Deleted.
(-[NSString _webkit_unescapedQueryValue]): Deleted.

2:57 PM Changeset in webkit [168441] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/16831276> [iOS] Unparenting a WKWebView that’s loading pauses it
https://bugs.webkit.org/show_bug.cgi?id=132659

Reviewed by Tim Horton.

  • UIProcess/Cocoa/NavigationState.h: Added a member variable.
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::didChangeIsLoading): When transitioning into loading state,
acquire a background activity token. When transitioning out of loading state, dispose of
the token.

2:49 PM Changeset in webkit [168440] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

[iOS] Acclerated overflow-scrolling broken in WK1
https://bugs.webkit.org/show_bug.cgi?id=132665
<rdar://problem/16842909>

Reviewed by Tim Horton.

r168301 added a CALayer delegate to disable implicit animations,
but for some layers we wrap them in UIViews (which are themselves
layer delegates), so bad things happened.

Fix by falling back to setting the null actions dictionary for
layers with custom scrolling behavior.

  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::updateCustomBehavior):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateScrollingLayers):

2:19 PM Changeset in webkit [168439] by commit-queue@webkit.org
  • 9 edits in trunk/Source

HTMLMediaElement should exitFullscreen when view is removed from the window.
https://bugs.webkit.org/show_bug.cgi?id=132506

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-07
Reviewed by Tim Horton.

Source/WebCore:

  • platform/ios/WebVideoFullscreenControllerAVKit.h:

Add -requestExitFullscreen.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController requestExitFullscreen]):
Forward request onto WebVideoFullscreenModelMediaElement.

  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::requestExitFullscreen):
Add some protection here since this may be called when not in fullscreen.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView viewDidMoveToWindow]):
Request WebVideoFullscreenController to exitFullscreen when view is removed from the window.

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::viewStateDidChange):
Request WebVideoFUllscreenManagerProxy to exitFullscreen when removed from the window.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:

Make requestExitFullscreen() public instead of private.

2:17 PM Changeset in webkit [168438] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Image menu is offset by the amount the view is scrolled
<rdar://problem/16818966> and https://bugs.webkit.org/show_bug.cgi?id=132663

Reviewed by Tim Horton.

  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::showContextMenu): Use FrameView::contentsToWindow instead of contentsToRoot,

and skip the [NSView convertPoint:toView:] step.

1:03 PM Changeset in webkit [168437] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Clean up the difference between painting focus rings and adding PDF annotations
https://bugs.webkit.org/show_bug.cgi?id=132638

Follow-up comments from Darin Adler.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutline): Move "else if" to a separate "if" for clarity.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::paintFocusRing): Don't guard against outlineIsAuto(). ASSERT instead.
(WebCore::RenderObject::addPDFURLRect): Give "rect" variable a better name.
(WebCore::RenderObject::paintOutline): Move "else if" to a separate "if" for clarity.

12:59 PM Changeset in webkit [168436] by Lucas Forschler
  • 3 edits
    2 deletes in branches/safari-537.76-branch

Rollout r168104.

11:57 AM Changeset in webkit [168435] by ap@apple.com
  • 19 edits in trunk/Source

Make blob size computation lazy
https://bugs.webkit.org/show_bug.cgi?id=132653

Reviewed by Anders Carlsson.

Source/WebCore:

  • fileapi/Blob.cpp:

(WebCore::Blob::Blob):
(WebCore::Blob::size):

  • fileapi/Blob.h:

(WebCore::Blob::size): Deleted.

  • fileapi/File.cpp:

(WebCore::File::size): Deleted.

  • fileapi/File.h:
  • fileapi/ThreadableBlobRegistry.cpp:

(WebCore::ThreadableBlobRegistry::registerFileBlobURL):
(WebCore::ThreadableBlobRegistry::registerBlobURL):
(WebCore::ThreadableBlobRegistry::registerBlobURLForSlice):
(WebCore::ThreadableBlobRegistry::blobSize):
(WebCore::ThreadableBlobRegistry::unregisterBlobURL):
(WebCore::unregisterBlobURLTask): Deleted.

  • fileapi/ThreadableBlobRegistry.h:
  • platform/network/BlobData.cpp:

(WebCore::BlobData::appendData):

  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURLForSlice):

  • platform/network/BlobRegistryImpl.h:

Source/WebKit2:

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::registerBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURLForSlice):
(WebKit::NetworkBlobRegistry::blobSize):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::registerBlobURL):
(WebKit::NetworkConnectionToWebProcess::registerBlobURLForSlice):
(WebKit::NetworkConnectionToWebProcess::blobSize):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerBlobURL):
(WebKit::BlobRegistryProxy::registerBlobURLForSlice):
(WebKit::BlobRegistryProxy::blobSize):

  • WebProcess/FileAPI/BlobRegistryProxy.h:
11:49 AM Changeset in webkit [168434] by Simon Fraser
  • 7 edits in trunk

WebKit1 is flashy when compositing layers come and go
https://bugs.webkit.org/show_bug.cgi?id=132655

Source/WebKit/mac:

Reviewed by Sam Weinig.

In r166117 I removed code to flush compositing layers in FrameView::paintContents(),
which caused problems when painting iframes. However, this removed a flush
that WebKit1 relied on to flush compositing layers when painting, which caused
flashing when compositing layers come and go, and broke WebView snapshotting
in some cases.

Fix by adding back compositing layer flushing, but this time in WebKit1's
-viewWillDraw code path. This allows removal of some flushing in DumpRenderTree.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView viewWillDraw]):

  • WebView/WebView.mm:

(-[WebView _flushCompositingChanges]):

  • WebView/WebViewInternal.h:
  • WebView/WebViewPrivate.h:

Tools:
<rdar://problem/16830981&16788846>

Reviewed by Sam Weinig.

Revert the change from r166117.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(updateDisplay):

11:42 AM Changeset in webkit [168433] by Simon Fraser
  • 7 edits in trunk/Source

Add scrolling tree logging to RemoteLayerTree output
https://bugs.webkit.org/show_bug.cgi?id=132640

Reviewed by Beth Dakin.

Source/WebCore:

Support scrolling tree logging in the RemoteLayerTree log channel
output.

ScrollingStateTree::commit() unconditionally set treeStateClone->m_hasChangedProperties
to true, but we should set it based on original scrolling state tree's
m_hasChangedProperties.

We have to encode all of the scrolling state nodes anyway (they only encode
changed properties), but we can use this for future optimizations, and to
avoid spurious logging.

  • WebCore.exp.in: Export a couple of things we need.
  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::commit):

Source/WebKit2:

Support scrolling tree logging in the RemoteLayerTree log channel
output.

Encode/decode ScrollingStateTree::hasChangedProperties() so we can use
it to avoid logging. Log all the things.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::RemoteScrollingCoordinatorTransaction::encode):
(WebKit::RemoteScrollingCoordinatorTransaction::decode):
(WebKit::RemoteScrollingTreeTextStream::RemoteScrollingTreeTextStream):
(WebKit::RemoteScrollingTreeTextStream::increaseIndent):
(WebKit::RemoteScrollingTreeTextStream::decreaseIndent):
(WebKit::RemoteScrollingTreeTextStream::writeIndent):
(WebKit::dumpProperty):
(WebKit::RemoteScrollingTreeTextStream::operator<<):
(WebKit::RemoteScrollingTreeTextStream::dump):
(WebKit::RemoteScrollingTreeTextStream::recursiveDumpNodes):
(WebKit::RemoteScrollingCoordinatorTransaction::description):
(WebKit::RemoteScrollingCoordinatorTransaction::dump):

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):

11:32 AM Changeset in webkit [168432] by Chris Fleizach
  • 5 edits
    2 adds in trunk

AX: aria-expanded changes are not communicated to clients
https://bugs.webkit.org/show_bug.cgi?id=132642

Reviewed by Mario Sanchez Prada.

Source/WebCore:
When aria-expanded changes on non list/tree items, send out a generic
AXExpandedChange notification.

Test: platform/mac/accessibility/expanded-notification.html

  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::postPlatformNotification):

LayoutTests:

  • platform/mac/accessibility/expanded-notification-expected.txt: Added.
  • platform/mac/accessibility/expanded-notification.html: Added.
11:24 AM Changeset in webkit [168431] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Release build fix.

  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes):

Removed unused globals.

11:19 AM Changeset in webkit [168430] by ap@apple.com
  • 7 edits in trunk/Source/WebCore

Eliminate "well known MIME type" support
https://bugs.webkit.org/show_bug.cgi?id=132654

Reviewed by Anders Carlsson.

Vestiges of FileSystem API.

  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::files):
(WebCore::DataTransfer::hasFileOfType):

  • fileapi/File.cpp:

(WebCore::File::File):
(WebCore::File::contentTypeFromFilePathOrName):

  • fileapi/File.h:
  • html/FileInputType.cpp:

(WebCore::FileInputType::createFileList):

  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedImageMIMETypes):
(WebCore::findMimeType): Deleted.
(WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension): Deleted.

  • platform/MIMETypeRegistry.h:
11:13 AM Changeset in webkit [168429] by oliver@apple.com
  • 2 edits in trunk/Source/WebKit

Fix windows build.

10:29 AM Changeset in webkit [168428] by ch.dumez@samsung.com
  • 4 edits
    2 adds in trunk

[HTML] Default argument to HTMLTableElement.insertRow() should be -1
https://bugs.webkit.org/show_bug.cgi?id=132651

Reviewed by Alexey Proskuryakov.

Source/WebCore:
HTMLTableElement.insertRow()'s argument default value should be -1, not 0,
as per the specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#htmltableelement

The new behavior matches the one of Firefox 29 and IE11, and soon Blink:
https://codereview.chromium.org/270213007/

Test: fast/dom/HTMLTableElement/insertRow-default-argument.html

  • html/HTMLTableElement.h:
  • html/HTMLTableElement.idl:

LayoutTests:
Add layout test to test that the default argument to HTMLTableElement.insertRow()
is -1.

  • fast/dom/HTMLTableElement/insertRow-default-argument-expected.txt: Added.
  • fast/dom/HTMLTableElement/insertRow-default-argument.html: Added.
9:17 AM Changeset in webkit [168427] by Chris Fleizach
  • 22 edits in trunk

AX: AXSelectTextWithCriteria should support capitalize/lowercase/uppercase
https://bugs.webkit.org/show_bug.cgi?id=132622

Reviewed by Mario Sanchez Prada.

Source/WebCore:
The select text with criteria mechanism used through accessibility needs to support
a few more parameters to be complete (including capitalize, lowercase and uppercase).

Updated: accessibility/select-text.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::selectText):

  • accessibility/AccessibilityObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):

  • rendering/RenderText.cpp:

(WebCore::makeCapitalized):

  • rendering/RenderText.h:

Tools:

  • DumpRenderTree/AccessibilityUIElement.cpp:

(selectTextWithCriteriaCallback):
(isEqualCallback):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::selectTextWithCriteria):

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::selectTextWithCriteria):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(selectTextParameterizedAttributeForCriteria):
(AccessibilityUIElement::selectTextWithCriteria):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::selectTextWithCriteria):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::selectTextParameterizedAttributeForCriteria):
(WTR::AccessibilityUIElement::selectTextWithCriteria):

LayoutTests:

  • platform/mac/accessibility/select-text-expected.txt:
  • platform/mac/accessibility/select-text.html:
8:07 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
7:54 AM Changeset in webkit [168426] by g.czajkowski@samsung.com
  • 4 edits
    2 adds
    2 deletes in trunk/LayoutTests

Share mac/editing/spelling/editing-multiple-words-with-markers.html with other platforms
https://bugs.webkit.org/show_bug.cgi?id=132649

Reviewed by Ryosuke Niwa.

This test does not verify autocorrection feature which is only implemented
by Mac. Other WebKit ports might be interested in running it due to
verification of spelling markers after merging two misspelled words.

Additionally, add the test case confirming spelling markers
before any selection change.

Due to bug 125689, this test starts using asynchronous spellchecking.

  • editing/spelling/editing-multiple-words-with-markers-expected.txt:

Renamed from platform/mac/editing/spelling/editing-multiple-words-with-markers-expected.txt

  • editing/spelling/editing-multiple-words-with-markers.html:

Renamed from platform/mac/editing/spelling/editing-multiple-words-with-markers.html

  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/win/TestExpectations:

Mark editing-multiple-words-with-markers.html as failing since those
platforms didn't turn on asynchronous spellchecking.

7:07 AM Changeset in webkit [168425] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

DocumentLoader::dataReceived assertion failed
https://bugs.webkit.org/show_bug.cgi?id=132017

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-07
Reviewed by Brent Fulgham.

We need to call didReceiveResponse client method before the didReceiveData client method, otherwise we get a lot of asserts.
This patch also fixes frequent crashes in downloadTimerCallback method on page loading.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::calculateWebTimingInformations): Initialize local variables.
(WebCore::headerCallback): Call didReceiveResponse client method here instead of in downloadTimerCallback.
(WebCore::ResourceHandleManager::downloadTimerCallback): Remove call to didReceiveResponse method.
(WebCore::ResourceHandleManager::dispatchSynchronousJob): Removed empty line.

6:11 AM Changeset in webkit [168424] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION: Animated GIF inside compositing layer never resumes animation when scrolled back into view
https://bugs.webkit.org/show_bug.cgi?id=132608

Reviewed by Simon Fraser.

Source/WebCore:
Test: fast/repaint/animation-after-layer-scroll.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

Check if any animations need to be restarted after layer scroll.

LayoutTests:

  • fast/repaint/animation-after-layer-scroll-expected.txt: Added.
  • fast/repaint/animation-after-layer-scroll.html: Added.
4:44 AM Changeset in webkit [168423] by commit-queue@webkit.org
  • 25 edits in trunk/Source

GraphicsLayer::client() should return a reference.
https://bugs.webkit.org/show_bug.cgi?id=126372

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-05-07
Reviewed by Simon Fraser.

GraphicsLayers always have a GraphicsLayerClient attached,
so make client() a reference and remove some unnecessary branches.
The author of the changes in the mac port is Andreas Kling <akling@apple.com>.

Source/WebCore:

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::GraphicsLayer):
(WebCore::GraphicsLayer::willBeDestroyed):
(WebCore::GraphicsLayer::paintGraphicsLayerContents):
(WebCore::GraphicsLayer::addRepaintRect):
(WebCore::dumpChildren):
(WebCore::GraphicsLayer::dumpProperties):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::client):
(WebCore::GraphicsLayer::pageScaleFactor):
(WebCore::GraphicsLayer::deviceScaleFactor):

  • platform/graphics/GraphicsLayerFactory.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayer::create):
(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::initialize):
(WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
(WebCore::GraphicsLayerCA::computePositionRelativeToBase):
(WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerCA::computeVisibleRect):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::platformCALayerContentsScaleMultiplierForNewTiles):
(WebCore::GraphicsLayerCA::platformCALayerShouldAggressivelyRetainTiles):
(WebCore::GraphicsLayerCA::platformCALayerShouldTemporarilyRetainTileCohorts):
(WebCore::GraphicsLayerCA::updateContentsOpaque):
(WebCore::GraphicsLayerCA::updateContentsScale):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::noteLayerPropertyChanged):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayer::create):
(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::notifyChange):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::createRootLayer):
(WebCore::CompositingCoordinator::createGraphicsLayer):

  • platform/graphics/texmap/coordinated/CompositingCoordinator.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::notifyFlushRequired):
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
(WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createGraphicsLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::ensureRootLayer):

Source/WebKit/win:

  • WebView.cpp:

(WebView::setAcceleratedCompositing):

Source/WebKit2:

  • WebProcess/WebPage/PageOverlayController.cpp:

(WebKit::PageOverlayController::initialize):
(WebKit::PageOverlayController::installPageOverlay):

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::initialize):
(WebKit::LayerTreeHostGtk::createPageOverlayLayer):

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::createGraphicsLayer):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):

4:23 AM WebKitGTK/2.4.x edited by clopez@igalia.com
(diff)
4:21 AM Changeset in webkit [168422] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Merge r168417 - [SOUP] TLSErrors do not cause page load to fail when not ignored
https://bugs.webkit.org/show_bug.cgi?id=121548

Reviewed by Sergio Villar Senin.

Source/WebCore:
This only happens in case of redirection, when the initial URL is
an HTTPS site with an invalid certificate, that redirects to
another location. We are starting the redirection without checking
the TLS errors.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::sendRequestCallback): Check TLS errors before starting a
possible redirection.

Tools:
Add unit tests to check that the load fails with TLS errors in
case of a redirection.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(testTLSErrorsRedirect):
(httpsServerCallback):
(beforeAll):

3:59 AM Changeset in webkit [168421] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r168351 - [Soup] Use std::unique_ptr<char[]> for the read buffer in SocketStreamHandle
https://bugs.webkit.org/show_bug.cgi?id=132559

Reviewed by Carlos Garcia Campos.

Manage the read buffer array through a std::unique_ptr<char[]> object.
This avoids handling with the raw pointer and also ensures that the memory
allocated with the new[] operator is deleted with the delete[] operator,
a problem exposed by the AddressSanitizer in WebSocket tests.

  • platform/network/soup/SocketStreamHandle.h:
  • platform/network/soup/SocketStreamHandleSoup.cpp:

(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::connected):
(WebCore::SocketStreamHandle::readBytes):
(WebCore::SocketStreamHandle::platformClose):

3:54 AM Changeset in webkit [168420] by calvaris@igalia.com
  • 3 edits in trunk/Source/WebCore

[GStreamer] Corrected typo
https://bugs.webkit.org/show_bug.cgi?id=132609

Reviewed by Martin Robinson.

Corrected m_canFallBackToLastFinishedSeekPositon typo and
initialized in the constructor to prevent problems in the future.

No test needed.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
Initialized m_canFallBackToLastFinishedSeekPosition as false.
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

m_canFallBackToLastFinishedSeekPositon ->
m_canFallBackToLastFinishedSeekPosition

3:39 AM Changeset in webkit [168419] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Cleanup the build from unused parameter in UIProcess Module
https://bugs.webkit.org/show_bug.cgi?id=131969

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-05-07
Reviewed by Csaba Osztrogonác.

Fixed unused parameter by omitting the parameter name

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageFindClient):

  • UIProcess/WebFindClient.cpp:

(WebKit::WebFindClient::didFindString):

3:20 AM Changeset in webkit [168418] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Convert PassOwnPtr to unique_ptr in CrossThreadTask.h
https://bugs.webkit.org/show_bug.cgi?id=132605

Reviewed by Dirk Schulze.

  • dom/CrossThreadTask.h: Converted.
3:11 AM Changeset in webkit [168417] by Carlos Garcia Campos
  • 4 edits in trunk

[SOUP] TLSErrors do not cause page load to fail when not ignored
https://bugs.webkit.org/show_bug.cgi?id=121548

Reviewed by Sergio Villar Senin.

Source/WebCore:
This only happens in case of redirection, when the initial URL is
an HTTPS site with an invalid certificate, that redirects to
another location. We are starting the redirection without checking
the TLS errors.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::sendRequestCallback): Check TLS errors before starting a
possible redirection.

Tools:
Add unit tests to check that the load fails with TLS errors in
case of a redirection.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(testTLSErrorsRedirect):
(httpsServerCallback):
(beforeAll):

2:56 AM Changeset in webkit [168416] by Manuel Rego Casasnovas
  • 129 edits
    3 deletes in trunk

[CSS Grid Layout] Remove runtime feature
https://bugs.webkit.org/show_bug.cgi?id=132382

Reviewed by Benjamin Poulain.

PerformanceTests:
Remove set of WebKitCSSGridLayoutEnabled preference.

  • Layout/auto-grid-lots-of-data.html:
  • Layout/fixed-grid-lots-of-data.html:

Source/WebCore:
Remove cssGridLayoutEnabled setting. Update methods using it accordingly.

  • WebCore.order:
  • css/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridTemplateShorthand):
(WebCore::CSSParser::parseGridAreaShorthand):
(WebCore::CSSParser::cssGridLayoutEnabled): Deleted.

  • css/CSSParser.h:
  • css/CSSParserMode.h:
  • dom/Document.cpp:

(WebCore::Document::cssGridLayoutEnabled): Deleted.

  • dom/Document.h:
  • page/Settings.in:

Source/WebKit/efl:
Remove cssGridLayoutEnabled setting usage.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setCSSGridLayoutEnabled): Deleted.

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/mac:
Remove cssGridLayoutEnabled setting usage.

  • WebKit.order:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences cssGridLayoutEnabled]): Deleted.
(-[WebPreferences setCSSGridLayoutEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:
Remove cssGridLayoutEnabled setting usage.

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetCSSGridLayoutEnabled): Deleted.
(WKPreferencesGetCSSGridLayoutEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/gtk/WebKitSettings.cpp:

(webKitSettingsConstructed):

  • UIProcess/gtk/ExperimentalFeatures.cpp:
  • UIProcess/gtk/ExperimentalFeatures.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • mac/WebKit2.order:

Tools:
Remove cssGridLayoutEnabled setting usage.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

  • DumpRenderTree/efl/TestRunnerEfl.cpp:

(TestRunner::overridePreference):

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

LayoutTests:
Remove set of WebKitCSSGridLayoutEnabled preference.
Remove fast/css-grid-layout/grid-disabled.html patch as the setting is not available anymore.

  • fast/css-grid-layout/anonymous-grid-items-expected.html:
  • fast/css-grid-layout/anonymous-grid-items.html:
  • fast/css-grid-layout/auto-content-resolution-columns.html:
  • fast/css-grid-layout/auto-content-resolution-rows.html:
  • fast/css-grid-layout/breadth-size-resolution-grid.html:
  • fast/css-grid-layout/calc-resolution-grid-item.html:
  • fast/css-grid-layout/containing-block-grids.html:
  • fast/css-grid-layout/display-grid-set-get.html:
  • fast/css-grid-layout/flex-and-minmax-content-resolution-columns.html:
  • fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html:
  • fast/css-grid-layout/flex-content-resolution-columns.html:
  • fast/css-grid-layout/flex-content-resolution-rows.html:
  • fast/css-grid-layout/flex-content-sized-column-use-available-width.html:
  • fast/css-grid-layout/flex-content-sized-columns-resize.html:
  • fast/css-grid-layout/floating-empty-grids.html:
  • fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html:
  • fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
  • fast/css-grid-layout/grid-auto-columns-rows-resolution.html:
  • fast/css-grid-layout/grid-auto-columns-rows-update.html:
  • fast/css-grid-layout/grid-auto-flow-get-set.html:
  • fast/css-grid-layout/grid-auto-flow-resolution.html:
  • fast/css-grid-layout/grid-auto-flow-update.html:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/grid-columns-rows-get-set.html:
  • fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html:
  • fast/css-grid-layout/grid-disabled-expected.txt: Removed.
  • fast/css-grid-layout/grid-disabled.html: Removed.
  • fast/css-grid-layout/grid-dynamic-updates-relayout.html:
  • fast/css-grid-layout/grid-element-border-grid-item.html:
  • fast/css-grid-layout/grid-element-border-padding-grid-item.html:
  • fast/css-grid-layout/grid-element-change-columns-repaint.html:
  • fast/css-grid-layout/grid-element-change-rows-repaint.html:
  • fast/css-grid-layout/grid-element-empty-row-column.html:
  • fast/css-grid-layout/grid-element-min-max-height.html:
  • fast/css-grid-layout/grid-element-min-max-width.html:
  • fast/css-grid-layout/grid-element-padding-grid-item.html:
  • fast/css-grid-layout/grid-element-padding-margin.html:
  • fast/css-grid-layout/grid-element-repeat-get-set.html:
  • fast/css-grid-layout/grid-element-shrink-to-fit.html:
  • fast/css-grid-layout/grid-item-addition-auto-placement-update.html:
  • fast/css-grid-layout/grid-item-addition-track-breadth-update.html:
  • fast/css-grid-layout/grid-item-area-get-set.html:
  • fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html:
  • fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
  • fast/css-grid-layout/grid-item-change-column-repaint.html:
  • fast/css-grid-layout/grid-item-change-row-repaint.html:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • fast/css-grid-layout/grid-item-end-after-get-set.html:
  • fast/css-grid-layout/grid-item-margin-auto-columns-rows.html:
  • fast/css-grid-layout/grid-item-margin-resolution.html:
  • fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html:
  • fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
  • fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
  • fast/css-grid-layout/grid-item-negative-indexes.html:
  • fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html:
  • fast/css-grid-layout/grid-item-negative-position-resolution.html:
  • fast/css-grid-layout/grid-item-order-auto-flow-resolution.html:
  • fast/css-grid-layout/grid-item-order-paint-order.html:
  • fast/css-grid-layout/grid-item-position-changed-dynamic.html:
  • fast/css-grid-layout/grid-item-removal-auto-placement-update.html:
  • fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
  • fast/css-grid-layout/grid-item-spanning-resolution.html:
  • fast/css-grid-layout/grid-item-start-before-get-set.html:
  • fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-resolution.html:
  • fast/css-grid-layout/grid-item-with-percent-min-max-height-dynamic.html:
  • fast/css-grid-layout/grid-preferred-logical-widths.html:
  • fast/css-grid-layout/grid-strict-ordering-crash.html:
  • fast/css-grid-layout/grid-template-areas-get-set.html:
  • fast/css-grid-layout/grid-template-shorthand-get-set.html:
  • fast/css-grid-layout/implicit-columns-auto-resolution.html:
  • fast/css-grid-layout/implicit-position-dynamic-change.html:
  • fast/css-grid-layout/implicit-rows-auto-resolution.html:
  • fast/css-grid-layout/minmax-fixed-logical-height-only.html:
  • fast/css-grid-layout/minmax-fixed-logical-width-only.html:
  • fast/css-grid-layout/minmax-max-content-resolution-columns.html:
  • fast/css-grid-layout/minmax-max-content-resolution-rows.html:
  • fast/css-grid-layout/minmax-min-content-column-resolution-columns.html:
  • fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
  • fast/css-grid-layout/minmax-spanning-resolution-columns.html:
  • fast/css-grid-layout/minmax-spanning-resolution-rows.html:
  • fast/css-grid-layout/named-grid-line-get-set.html:
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html:
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html:
  • fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/non-grid-columns-rows-get-set.html:
  • fast/css-grid-layout/non-grid-element-repeat-get-set.html:
  • fast/css-grid-layout/non-named-grid-line-get-set.html:
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html:
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html:
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html:
  • fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html:
  • fast/css-grid-layout/percent-padding-margin-resolution-grid-item.html:
  • fast/css-grid-layout/percent-resolution-grid-item.html:
  • fast/css-grid-layout/place-cell-by-index.html:
  • fast/css-grid-layout/should-not-collapse-anonymous-blocks.html:
  • ietestcenter/css3/grid/grid-column-002.htm:
  • ietestcenter/css3/grid/testRunnerEnableGrid.js: Removed.
1:39 AM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
1:35 AM Changeset in webkit [168415] by berto@igalia.com
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening

Avoid duplicated expectations and remove failure flag for fixed
js/dom/basic-weakmap.html test.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-05-07

  • platform/gtk/TestExpectations:
1:15 AM Changeset in webkit [168414] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r168393 to fix !IOS builds.

  • Shared/WebEvent.h:
12:56 AM Changeset in webkit [168413] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix build errors for BlobDataItem after r168391.
https://bugs.webkit.org/show_bug.cgi?id=132643

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-05-07
Reviewed by Carlos Garcia Campos.

Patch updates BlobDataItem params usage in ResourceHandleSoup.cpp
to be inline with r168391.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::blobIsOutOfDate): BlobDataItem class is updated in r168391.
Corresponding parameter changes are done to resolve build error.
(WebCore::addEncodedBlobItemToSoupMessageBody): BlobDataItem class is updated
in r168391. Corresponding parameter changes are done to resolve build error.

May 6, 2014:

11:07 PM Changeset in webkit [168412] by Lucas Forschler
  • 3 edits in tags/Safari-538.34/Source/WebKit2

Merged r168411.

10:37 PM Changeset in webkit [168411] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

Followup to "Add WK2 SPI to prevent the previous back/forward item from remaining in the list"
<rdar://problem/16248710> and https://bugs.webkit.org/show_bug.cgi?id=132636

Reviewed by NOBODY (My mistake while addressing previous review feedback)

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient): During review feedback, this client switched from default negative to default

positve, so when the client isn't implemented... return true instead of false.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::addItem): Fix nonsensical comments while I'm at it.

10:18 PM Changeset in webkit [168410] by ddkilzer@apple.com
  • 5 edits
    1 add in trunk

Add Makefile targets for copying static libraries (LLVM and WKSI)
<http://webkit.org/b/132619>

Reviewed by Mark Rowe.

.:

  • Makefile:

(MODULES): Add WebKitLibraries.

Tools:

  • Scripts/copy-webkitlibraries-to-product-directory: Set a

sensible default for product directory if not specified on
either the command-line or in the environment (by Xcode) by
calling productDir() in webkitdirs.pm.

WebKitLibraries:

  • Makefile: Added.

(libs): Install both LLVM and WKSI static libraries.
(all): Add dependency on 'libs' target.
(debug d): Set configuration, the call 'libs' target.
(release r): Ditto.

10:15 PM Changeset in webkit [168409] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

10:14 PM Changeset in webkit [168408] by Lucas Forschler
  • 1 copy in tags/Safari-538.34

New Tag.

9:50 PM Changeset in webkit [168407] by beidson@apple.com
  • 10 edits
    3 adds in trunk

Add WK2 SPI to prevent the previous back/forward item from remaining in the list
<rdar://problem/16248710> and https://bugs.webkit.org/show_bug.cgi?id=132636

Reviewed by Sam Weinig.

Source/WebKit2:
Add new PageLoaderClient SPI to keep the current back/forward item from remaining in the list:

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::shouldKeepCurrentBackForwardListItemInList):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/C/WKPageLoaderClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::shouldKeepCurrentBackForwardListItemInList):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::addItem): Use that SPI to determine whether we should insert the new item after
the previous item, or simply replace the previous item.
(WebKit::WebBackForwardList::goToItem): Use that SPI to determine whether the previous item stays or goes.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/ShouldKeepCurrentBackForwardListItemInList.cpp: Added.

(TestWebKitAPI::itemURLLastComponentIsString):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::willGoToBackForwardListItem):
(TestWebKitAPI::shouldKeepCurrentBackForwardListItemInList):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/simple2.html: Added.
  • TestWebKitAPI/Tests/WebKit2/simple3.html: Added.
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions): Update for new client layout.

9:01 PM Changeset in webkit [168406] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewd build fix for C-LOOP after r168396.

  • runtime/TestRunnerUtils.cpp:

(JSC::optimizeNextInvocation): Wrapped actual call inside #if ENABLE(JIT)

8:47 PM Changeset in webkit [168405] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

-[WKWebView isLoading] is NO immediately after -loadRequest: until the provisional load starts
https://bugs.webkit.org/show_bug.cgi?id=132639

Reviewed by Darin Adler.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::commitChanges): Updated for change from isLoadingState to isLoading.
(WebKit::PageLoadState::isLoading): Renamed from isLoadingState, changed to take Data and
check whether there is a non-null pending API request URL. If so, return true.

  • UIProcess/PageLoadState.h:
7:58 PM Changeset in webkit [168404] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

Clean up the difference between painting focus rings and adding PDF annotations
https://bugs.webkit.org/show_bug.cgi?id=132638

Reviewed by Simon Fraser.

The code to add a PDF annotation when printing was called from
drawFocusRing, which is quite confusing. With just little movement
of code, we can detect an annotation and call addPDFURLRect in the
paint phase, and drawFocusRing becomes something that only
draws focus rings.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutline): Split calls to drawFocusRing
and addPDFURLRect.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::paintFocusRing): Get rid of call to PDF.
(WebCore::RenderObject::addPDFURLRect): Change the signature so it
can be called externally, and calculates the rectangle itself.
(WebCore::RenderObject::paintOutline): Split the calls.

  • rendering/RenderObject.h:
7:36 PM Changeset in webkit [168403] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.60-branch/Source

Versioning.

7:34 PM Changeset in webkit [168402] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.60.17

New Tag.

7:29 PM Changeset in webkit [168401] by matthew_hanson@apple.com
  • 25 edits in branches/safari-537.60-branch/Source

Merge r165753 & r165832.

7:25 PM Changeset in webkit [168400] by cabanier@adobe.com
  • 10 edits
    2 deletes in trunk

Calling createPattern with a broken image must throw an invalidstate error
https://bugs.webkit.org/show_bug.cgi?id=132407

Reviewed by Darin Adler.

Source/WebCore:
Updated createPattern so it throws an invalidState exception
if you pass it an image that is in the broken state.

Tests:

  • canvas/philip/tests/2d.pattern.image.broken.html:
  • canvas/philip/tests/2d.pattern.image.incomplete.empty.html:
  • fast/canvas/canvas-empty-image-pattern.html:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::createPattern):

LayoutTests:

  • canvas/philip/tests/2d.pattern.image.broken-expected.txt:
  • canvas/philip/tests/2d.pattern.image.broken.html:
  • canvas/philip/tests/2d.pattern.image.incomplete.empty-expected.txt:
  • canvas/philip/tests/2d.pattern.image.incomplete.empty.html:
  • fast/canvas/canvas-empty-image-pattern-expected.txt:
  • fast/dom/gc-9-expected.txt:
  • fast/dom/gc-9.html:
  • platform/mac/canvas/philip/tests/2d.pattern.image.broken-expected.txt: Removed.
  • platform/mac/canvas/philip/tests/2d.pattern.image.incomplete.empty-expected.txt: Removed.
6:44 PM Changeset in webkit [168399] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS][Mac] Display sleeps while playing <video> content.
https://bugs.webkit.org/show_bug.cgi?id=132624

Reviewed by Darin Adler.

On iOS and Mac, create a DisplaySleepDisablerCocoa rather than an (no-op) DisplaySleepDisabler.

  • platform/cocoa/DisplaySleepDisablerCocoa.cpp:

(WebCore::DisplaySleepDisabler::create):

  • platform/cocoa/DisplaySleepDisablerCocoa.h:
6:41 PM Changeset in webkit [168398] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Allow focus rings to redraw themselves if necessary
https://bugs.webkit.org/show_bug.cgi?id=132593

Fix iOS build.

  • platform/graphics/mac/GraphicsContextMac.mm:

(WebCore::GraphicsContext::drawFocusRing): We no longer use the color parameter.

6:07 PM Changeset in webkit [168397] by dino@apple.com
  • 21 edits
    2 deletes in trunk/Source

[Mac] Allow focus rings to redraw themselves if necessary
https://bugs.webkit.org/show_bug.cgi?id=132593

Reviewed by Simon Fraser.

Source/WebCore:
Mac allows focus rings to change rendering over time. Expose this
functionality to WebKit by having the rendering code detect that
a focused element has asked to repaint itself, and also have
the FocusController object remember how long it has been since
an element was focused.

This patch removes WebCoreNSCellExtras, since a better version is
available in WebKitSystemInterface, and it was going to be cumbersome
to port the code from there into WebKit.

  • WebCore.exp.in: Export _wkDrawFocusRingAtTime and _wkDrawCellFocusRingWithFrameAtTime.
  • WebCore.xcodeproj/project.pbxproj: Remove WebCoreNSCellExtras.
  • page/FocusController.cpp:

(WebCore::FocusController::FocusController): Initialize the repaint timer.
(WebCore::FocusController::~FocusController): Stop the repaint timer on deletion.
(WebCore::FocusController::setFocusedElement): Keep track of the current time when focused.
(WebCore::FocusController::focusedElementNeedsRepaint): Start the repaint timer.
(WebCore::FocusController::focusRepaintTimerFired): Ask the focused element to repaint itself.
(WebCore::FocusController::timeSinceFocusWasSet):

  • page/FocusController.h: Expose timeSinceFocusWasSet() and focusedElementNeedsRepaint(), as

well as add the timer for repainting.

  • platform/ControlStates.h: Add timeSinceControlWasFocused member variable, allowing the platform

code such as Theme to obtain the value from FocusController.
(WebCore::ControlStates::ControlStates):
(WebCore::ControlStates::timeSinceControlWasFocused):
(WebCore::ControlStates::setTimeSinceControlWasFocused):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::drawFocusRing): New Mac-only method that uses timeOffset.

  • platform/graphics/mac/GraphicsContextMac.mm:

(WebCore::drawFocusRingToContext): No need to pass in color and radius - these are now
ignored in WKDrawFocusRing. However, I didn't want to change the signature of the
WKSI function.
(WebCore::drawFocusRingToContextAtTime): Call into the new method WKDrawFocusRingAtTime.
(WebCore::GraphicsContext::drawFocusRing): Color and radius no longer used.

  • platform/mac/ThemeMac.mm:

(WebCore::checkboxMargins): Update the margins since our focus ring can be a lot bigger.
(WebCore::radioMargins): Ditto.
(WebCore::paintToggleButton): Drawing a focus ring might trigger a repaint too.
(WebCore::buttonMargins): Increase the margins.
(WebCore::paintButton): If our focus ring wants to be drawn again, set the ControlStates flag.

  • platform/mac/WebCoreNSCellExtras.h: Removed.
  • platform/mac/WebCoreNSCellExtras.m: Removed.
  • platform/mac/WebCoreSystemInterface.h: Declare the new methods.
  • platform/mac/WebCoreSystemInterface.mm:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::initializeStyle): Expand the overflow rects by the maximum
focus ring width. This might be different from the current outline size.
(WebCore::RenderElement::setStyle): Ditto.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::paintFocusRing): If we're on Mac, use the new drawFocusRing method,
which sets a parameter to true if the focused element needs a repaint.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::updateControlStatesForRenderer): Copy the value from FocusController
so that the platform Theme code can use it.

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::platformFocusRingMaxWidth): Add a way to get the maximum width
of a focus ring for the platform. This is used to extend the overflow rects.

  • rendering/RenderThemeMac.h: Override the focus ring width.
  • rendering/RenderThemeMac.mm: On newer versions of OS X, we have a larger focus ring.

(WebCore::RenderThemeMac::platformFocusRingMaxWidth):
(WebCore::RenderThemeMac::paintMenuList): If a menu is focused, and needs a repaint, mark
it as such.

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Add DrawFocusRingAtTime and DrawCellFocusRingWithFrameAtTime.

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Add DrawFocusRingAtTime and DrawCellFocusRingWithFrameAtTime.

5:34 PM Changeset in webkit [168396] by msaboff@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Add test for deleteAllCompiledCode
https://bugs.webkit.org/show_bug.cgi?id=132632

Reviewed by Phil Pizlo.

Added two new hooks to jsc, one to call Heap::deleteAllCompiledCode() and
the other to call CodeBlock::optimizeNextInvocation(). Used these two hooks
to write a test that will queue up loads of DFG compiles and then call
Heap::deleteAllCompiledCode() to make sure that it can handle compiled
code as well as code being compiled.

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionDeleteAllCompiledCode):
(functionOptimizeNextInvocation):

  • runtime/TestRunnerUtils.cpp:

(JSC::optimizeNextInvocation):

  • runtime/TestRunnerUtils.h:
  • tests/stress/deleteAllCompiledCode.js: Added.

(functionList):
(runTest):

5:29 PM Changeset in webkit [168395] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/16833442> [iOS WebKit2]: Keep the order of contentView in _scrollView after rotation
https://bugs.webkit.org/show_bug.cgi?id=132634

Reviewed by Enrica Casucci.

Nice idea of Yongjun.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):

5:17 PM Changeset in webkit [168394] by timothy@apple.com
  • 2 edits in trunk/Source/WebKit2

Take WKView's topContentInset into account when docking Web Inspector to the right.

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

Reviewed by Joseph Pecoraro.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Subtract topContentInset
from the height of the frame for the Inspector.

5:01 PM Changeset in webkit [168393] by benjamin@webkit.org
  • 7 edits in trunk/Source/WebKit2

[iOS][WK2] WebKit2 does not set CanPreventNativeGestures on the platform events
https://bugs.webkit.org/show_bug.cgi?id=132594

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-06
Reviewed by Simon Fraser.

Set CanPreventNativeGestures on the plaform event.
Change the tracking of WKContentView to be similar to WebPageProxy.

  • Shared/WebEvent.h:

(WebKit::WebTouchEvent::WebTouchEvent):
(WebKit::WebTouchEvent::canPreventNativeGestures):
(WebKit::WebTouchEvent::setCanPreventNativeGestures):

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):

  • Shared/ios/WebTouchEventIOS.cpp:

(WebKit::WebTouchEvent::encode):
(WebKit::WebTouchEvent::decode):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _webTouchEventsRecognized:]):

4:36 PM Changeset in webkit [168392] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[iOS] Animate AVPlayerLayer into and out of full screen
https://bugs.webkit.org/show_bug.cgi?id=132603

Reviewed by Simon Fraser.

Rather than synchronize animations across the WebProcess / UIProcess boundary, animate
the AVPlayerLayer into place by first resizing the full screen layer to occupy the
entire screen in the WebProcess, and use a sublayerTransform animation in the UIProcess
to scale the AVPlayer from its initial screen location, as well as back to its final screen
location.

  • platform/graphics/GeometryUtilities.cpp:

(WebCore::largestRectWithAspectRatioInsideRect): Added utility method.

  • platform/graphics/GeometryUtilities.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVVideoLayer init]): Added, initialize video gravity and enable child layer masking.
(-[WebAVVideoLayer setBounds:]): Create a transform to scale the video area.
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): Block implicit animations during setup.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Reset the gravity to ResizeAspect

if necessary.

4:34 PM Changeset in webkit [168391] by ap@apple.com
  • 12 edits
    2 adds in trunk/Source/WebCore

Make BlobDataItem use a refcounted object for files
https://bugs.webkit.org/show_bug.cgi?id=132628

Reviewed by Anders Carlsson.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Added BlobDataFileReference.{h|cpp}

  • WebCore.exp.in: Removed unused exports.
  • platform/network/BlobData.h:

(WebCore::BlobDataItem::offset):
(WebCore::BlobDataItem::BlobDataItem):
Use a wrapper class for files, not a path. Changed to be more class-like accordingly.

  • platform/network/BlobData.cpp:

(WebCore::BlobData::appendData):
(WebCore::BlobData::appendFile):
(WebCore::BlobData::appendBlob): Deleted.
(WebCore::BlobData::BlobData): Deleted.
We never add blobs to BlobData, they are always resolved to data of file references.
Lots of very confusing code to delete.

  • platform/network/BlobDataFileReference.h: Added.
  • platform/network/BlobDataFileReference.cpp: Added.

(WebCore::BlobDataFileReference::size):
(WebCore::BlobDataFileReference::expectedModificationTime):
(WebCore::BlobDataFileReference::computeFileSystemData):
A unique reference to a file referenced by blob, to be preserved when you slice
or combine blobs.

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::appendStorageItems):
(WebCore::BlobRegistryImpl::registerFileBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::blobSize):

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::getSizeForNext):
(WebCore::BlobResourceHandle::didGetSize):
(WebCore::BlobResourceHandle::readDataSync):
(WebCore::BlobResourceHandle::readFileSync):
(WebCore::BlobResourceHandle::readDataAsync):
(WebCore::BlobResourceHandle::readFileAsync):

  • platform/network/BlobResourceHandle.h:
  • platform/network/FormData.cpp:

(WebCore::appendBlobResolved):
Updated for BlobDataItem interface changes.

4:32 PM Changeset in webkit [168390] by ch.dumez@samsung.com
  • 4 edits
    2 adds in trunk

[HTML] Default argument to HTMLTableRowElement.insertCell() should be -1
https://bugs.webkit.org/show_bug.cgi?id=132615

Reviewed by Darin Adler.

Source/WebCore:
HTMLTableRowElement.insertCell()'s argument default value should be -1, not
0, as per the specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#the-tr-element

The new behavior matches the one of Firefox 29 and IE11, and soon Blink:
https://codereview.chromium.org/263323004/

Test: fast/dom/HTMLTableRowElement/insertCell-default-argument.html

  • html/HTMLTableRowElement.h:
  • html/HTMLTableRowElement.idl:

LayoutTests:
Add layout test to test that the default argument to
HTMLTableRowElement.insertCell() is -1.

  • fast/dom/HTMLTableRowElement/insertCell-default-argument-expected.txt: Added.
  • fast/dom/HTMLTableRowElement/insertCell-default-argument.html: Added.
4:11 PM Changeset in webkit [168389] by oliver@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build.

3:53 PM Changeset in webkit [168388] by benjamin@webkit.org
  • 13 edits
    2 adds in trunk/Source/WebKit2

[iOS][WK2] Add tap highlight on the simple UITapGestureRecognizer
https://bugs.webkit.org/show_bug.cgi?id=132623
<rdar://problem/16709507>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-06
Reviewed by Enrica Casucci.

Add a low latency highlight for tap/click.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::commitPotentialTapFailed):

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setupInteraction]):
(-[WKContentView _showTapHighlightWithColor:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):
(-[WKContentView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):
(-[WKContentView _finishInteraction]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _singleTapDidReset:]):
(-[WKContentView _commitPotentialTapFailed]):
(-[WKContentView _singleTapCommited:]):
(-[WKContentView _attemptClickAtLocation:]):

  • UIProcess/ios/WKSyntheticClickTapGestureRecognizer.h: Added.
  • UIProcess/ios/WKSyntheticClickTapGestureRecognizer.m: Added.

(-[WKSyntheticClickTapGestureRecognizer setGestureRecognizedTarget:action:]):
(-[WKSyntheticClickTapGestureRecognizer setResetTarget:action:]):
(-[WKSyntheticClickTapGestureRecognizer setState:]):
(-[WKSyntheticClickTapGestureRecognizer reset]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::potentialTapAtPosition):
(WebKit::WebPageProxy::commitPotentialTap):
(WebKit::WebPageProxy::cancelPotentialTap):
(WebKit::WebPageProxy::tapHighlightAtPosition):
(WebKit::WebPageProxy::commitPotentialTapFailed):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::handleTap):
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
(WebKit::WebPage::potentialTapAtPosition):
(WebKit::WebPage::commitPotentialTap):
(WebKit::WebPage::cancelPotentialTap):
(WebKit::WebPage::tapHighlightAtPosition):

3:44 PM Changeset in webkit [168387] by andersca@apple.com
  • 5 edits
    4 moves in trunk/Source/WebKit2

Put WebArchive and WebArchiveResource in the API namespace.

Rubber-stamped by Dan Bernstein.

  • Shared/API/c/WKSharedAPICast.h:
  • Shared/API/c/mac/WKWebArchive.cpp:

(WKWebArchiveGetTypeID):
(WKWebArchiveCreate):
(WKWebArchiveCreateWithData):
(WKWebArchiveCreateFromRange):
(WKWebArchiveCopyMainResource):

  • Shared/API/c/mac/WKWebArchiveResource.cpp:

(WKWebArchiveResourceGetTypeID):
(WKWebArchiveResourceCreate):

  • Shared/APIWebArchive.cpp: Renamed from Source/WebKit2/Shared/WebArchive.cpp.

(API::WebArchive::create):
(API::WebArchive::WebArchive):
(API::WebArchive::~WebArchive):
(API::WebArchive::mainResource):
(API::WebArchive::subresources):
(API::WebArchive::subframeArchives):
(API::releaseCFData):
(API::WebArchive::data):
(API::WebArchive::coreLegacyWebArchive):

  • Shared/APIWebArchive.h: Renamed from Source/WebKit2/Shared/WebArchive.h.
  • Shared/APIWebArchiveResource.cpp: Renamed from Source/WebKit2/Shared/WebArchiveResource.cpp.

(API::WebArchiveResource::create):
(API::WebArchiveResource::WebArchiveResource):
(API::WebArchiveResource::~WebArchiveResource):
(API::releaseCFData):
(API::WebArchiveResource::data):
(API::WebArchiveResource::URL):
(API::WebArchiveResource::MIMEType):
(API::WebArchiveResource::textEncoding):
(API::WebArchiveResource::coreArchiveResource):

  • Shared/APIWebArchiveResource.h: Renamed from Source/WebKit2/Shared/WebArchiveResource.h.
  • WebKit2.xcodeproj/project.pbxproj:
3:28 PM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
3:27 PM Changeset in webkit [168386] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Add missing line from r168384.

  • dom/ContainerNode.h:

(WebCore::ChildNodesLazySnapshot::~ChildNodesLazySnapshot):

3:17 PM Changeset in webkit [168385] by oliver@apple.com
  • 10 edits
    2 adds in trunk

Can't make a booking at virginamerica.com
https://bugs.webkit.org/show_bug.cgi?id=132626

Reviewed by Geoffrey Garen.

Source/WebCore:
Test: fast/dom/assign-to-prototype-accessor-on-prototype-should-be-silent.html

We can't throw an exception when a site incorrectly attempts
to use a dom property setter directly on the prototype as
there are sites that do this as compatibility workarounds
for old browsers. Instead we treat use of the setter on
the prototype object in the same way we do getters, and just
log a warning to the console.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportDeprecatedSetterError):

  • bindings/js/JSDOMBinding.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):

  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:

(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjStrictFloat):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjReplaceableAttribute):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):

LayoutTests:
Add testcase to make sure that we are silently ignoring usage
of prototype setters and the prototype itself. We dump a warning
to the console as throwing an exception breaks sites that used
to rely on essentially no-op behavior.

  • fast/dom/assign-to-prototype-accessor-on-prototype-should-be-silent-expected.txt: Added.
  • fast/dom/assign-to-prototype-accessor-on-prototype-should-be-silent.html: Added.
3:16 PM Changeset in webkit [168384] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSString::toAtomicString() should return AtomicString.
<https://webkit.org/b/132627>

Remove premature optimization where I was trying to avoid refcount
churn when returning an already atomicized String.

Instead of using reinterpret_cast to mangle the String member into
a const AtomicString& return value, just return AtomicString.

Reviewed by Geoff Garen.

  • runtime/JSString.h:

(JSC::JSString::toAtomicString):

3:13 PM Changeset in webkit [168383] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

ChildNodesLazySnapshot::m_childNodes needs two heap allocations.
<https://webkit.org/b/132616>

This seems a bit silly, since ChildNodesLazySnapshot is always
allocated on the stack.

Change it to be a bool + a Vector instead of using the nullity
as a presence indicator. This way we also don't end up with an
out-of-line ~OwnPtr for the Vector.

Reviewed by Geoff Garen.

  • dom/ContainerNode.h:

(WebCore::ChildNodesLazySnapshot::ChildNodesLazySnapshot):
(WebCore::ChildNodesLazySnapshot::nextNode):
(WebCore::ChildNodesLazySnapshot::takeSnapshot):
(WebCore::ChildNodesLazySnapshot::hasSnapshot):

3:11 PM Changeset in webkit [168382] by ap@apple.com
  • 11 edits
    1 delete in trunk/Source/WebCore

Eliminate BlobStorageData
https://bugs.webkit.org/show_bug.cgi?id=132617

Reviewed by Anders Carlsson.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/BlobData.h:

(WebCore::BlobData::create):
(WebCore::BlobData::BlobData):

  • platform/network/BlobRegistryImpl.cpp:

(WebCore::loadResourceSynchronously):
(WebCore::BlobRegistryImpl::appendStorageItems):
(WebCore::BlobRegistryImpl::registerFileBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURLForSlice):
(WebCore::BlobRegistryImpl::getBlobDataFromURL):
(WebCore::BlobRegistryImpl::blobSize):

  • platform/network/BlobRegistryImpl.h:
  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::createAsync):
(WebCore::BlobResourceHandle::loadResourceSynchronously):
(WebCore::BlobResourceHandle::BlobResourceHandle):
(WebCore::BlobResourceHandle::doStart):
(WebCore::BlobResourceHandle::getSizeForNext):
(WebCore::BlobResourceHandle::didGetSize):
(WebCore::BlobResourceHandle::seek):
(WebCore::BlobResourceHandle::readSync):
(WebCore::BlobResourceHandle::readDataSync):
(WebCore::BlobResourceHandle::readFileSync):
(WebCore::BlobResourceHandle::readAsync):
(WebCore::BlobResourceHandle::readDataAsync):
(WebCore::BlobResourceHandle::readFileAsync):
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):

  • platform/network/BlobResourceHandle.h:
  • platform/network/BlobStorageData.h: Removed.
  • platform/network/FormData.cpp:

(WebCore::appendBlobResolved):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::addEncodedBlobToSoupMessageBody):

2:45 PM Changeset in webkit [168381] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the iOS build.

WebCore::Editor::replaceNodeFromPasteboard(WebCore::Node*, WTF::String const&) is Mac-only.
Also sort the export file.

  • WebCore.exp.in:
2:35 PM Changeset in webkit [168380] by hyatt@apple.com
  • 40 edits in trunk

Begin Removal of Old Multi-Column Code.
https://bugs.webkit.org/show_bug.cgi?id=132480

Reviewed by Andreas Kling.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::regionBasedColumnsEnabled): Deleted.

  • dom/Document.h:
  • page/FrameView.cpp:

(WebCore::updateLayerPositionFlags):

  • page/Settings.in:
  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::clearPaginationInformation):
(WebCore::LayoutState::addForcedColumnBreak): Deleted.

  • rendering/LayoutState.h:

(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::isPaginatingColumns): Deleted.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::~RenderBlock):
(WebCore::RenderBlock::addChildToContinuation):
(WebCore::RenderBlock::addChild):
(WebCore::RenderBlock::addChildIgnoringContinuation):
(WebCore::RenderBlock::removeLeftoverAnonymousBlock):
(WebCore::canMergeContiguousAnonymousBlocks):
(WebCore::RenderBlock::removeChild):
(WebCore::RenderBlock::recomputeLogicalWidth):
(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
(WebCore::RenderBlock::simplifiedLayout):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::offsetForContents):
(WebCore::RenderBlock::computeIntrinsicLogicalWidths):
(WebCore::RenderBlock::createAnonymousBoxWithSameTypeAs):
(WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation):
(WebCore::RenderBlock::renderName):
(WebCore::RenderBlock::addChildToAnonymousColumnBlocks): Deleted.
(WebCore::RenderBlock::containingColumnsBlock): Deleted.
(WebCore::RenderBlock::splitFlow): Deleted.
(WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks): Deleted.
(WebCore::RenderBlock::columnsBlockForSpanningElement): Deleted.
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Deleted.
(WebCore::RenderBlock::updateLogicalWidthAndColumnWidth): Deleted.
(WebCore::RenderBlock::isTopLayoutOverflowAllowed): Deleted.
(WebCore::RenderBlock::isLeftLayoutOverflowAllowed): Deleted.
(WebCore::RenderBlock::paintColumnRules): Deleted.
(WebCore::RenderBlock::initialBlockOffsetForPainting): Deleted.
(WebCore::RenderBlock::blockDeltaForPaintingNextColumn): Deleted.
(WebCore::RenderBlock::paintColumnContents): Deleted.
(WebCore::ColumnRectIterator::ColumnRectIterator): Deleted.
(WebCore::ColumnRectIterator::advance): Deleted.
(WebCore::ColumnRectIterator::columnRect): Deleted.
(WebCore::ColumnRectIterator::hasMore): Deleted.
(WebCore::ColumnRectIterator::adjust): Deleted.
(WebCore::ColumnRectIterator::update): Deleted.
(WebCore::RenderBlock::hitTestColumns): Deleted.
(WebCore::RenderBlock::adjustForColumnRect): Deleted.
(WebCore::RenderBlock::availableLogicalWidth): Deleted.
(WebCore::RenderBlock::columnGap): Deleted.
(WebCore::RenderBlock::computeColumnCountAndWidth): Deleted.
(WebCore::RenderBlock::requiresColumns): Deleted.
(WebCore::RenderBlock::setComputedColumnCountAndWidth): Deleted.
(WebCore::RenderBlock::updateColumnProgressionFromStyle): Deleted.
(WebCore::RenderBlock::computedColumnWidth): Deleted.
(WebCore::RenderBlock::computedColumnCount): Deleted.
(WebCore::RenderBlock::columnInfo): Deleted.
(WebCore::RenderBlock::columnCount): Deleted.
(WebCore::RenderBlock::columnRectAt): Deleted.
(WebCore::RenderBlock::adjustPointToColumnContents): Deleted.
(WebCore::RenderBlock::adjustRectForColumns): Deleted.
(WebCore::RenderBlock::flipForWritingModeIncludingColumns): Deleted.
(WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns): Deleted.
(WebCore::RenderBlock::adjustForColumns): Deleted.
(WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns): Deleted.
(WebCore::RenderBlock::paginationUnit): Deleted.
(WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer): Deleted.
(WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer): Deleted.
(WebCore::RenderBlock::computeLineGridPaginationOrigin): Deleted.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
(WebCore::RenderBlock::createAnonymousBlock):
(WebCore::RenderBlock::paintColumnRules):
(WebCore::RenderBlock::createAnonymousColumnsBlock): Deleted.
(WebCore::RenderBlock::createAnonymousColumnSpanBlock): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustIntrinsicLogicalWidthsForColumns):
(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):
(WebCore::RenderBlockFlow::recomputeLogicalWidthAndColumnWidth):
(WebCore::RenderBlockFlow::columnGap):
(WebCore::RenderBlockFlow::computeColumnCountAndWidth):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::inNormalFlow):
(WebCore::RenderBlockFlow::applyBeforeBreak):
(WebCore::RenderBlockFlow::applyAfterBreak):
(WebCore::RenderBlockFlow::updateMinimumPageHeight):
(WebCore::RenderBlockFlow::computeOverflow):
(WebCore::RenderBlockFlow::addOverhangingFloats):
(WebCore::RenderBlockFlow::hasOverhangingFloat):
(WebCore::RenderBlockFlow::relayoutForPagination):
(WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
(WebCore::RenderBlockFlow::requiresColumns):
(WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
(WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
(WebCore::RenderBlockFlow::computedColumnWidth):
(WebCore::RenderBlockFlow::computedColumnCount):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::hasOverhangingFloats):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):

  • rendering/RenderFlowThread.h:
  • rendering/RenderGeometryMap.cpp:

(WebCore::canMapBetweenRenderers):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::offsetFromContainer):
(WebCore::RenderInline::mapLocalToContainer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updatePagination):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::hitTestList):
(WebCore::checkContainingBlockChainForPagination): Deleted.
(WebCore::RenderLayer::useRegionBasedColumns): Deleted.
(WebCore::RenderLayer::paintPaginatedChildLayer): Deleted.
(WebCore::RenderLayer::paintChildLayerIntoColumns): Deleted.
(WebCore::RenderLayer::hitTestPaginatedChildLayer): Deleted.
(WebCore::RenderLayer::hitTestChildLayerColumns): Deleted.

  • rendering/RenderLayer.h:
  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::shouldCheckColumnBreaks):

  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::pushMappingToContainer):
(WebCore::RenderObject::offsetFromContainer):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isAnonymousBlock):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::hasColumns): Deleted.
(WebCore::RenderObject::setHasColumns): Deleted.
(WebCore::RenderObject::isAnonymousColumnsBlock): Deleted.
(WebCore::RenderObject::isAnonymousColumnSpanBlock): Deleted.
(WebCore::RenderObject::adjustForColumns): Deleted.
(WebCore::RenderObject::offsetForColumns): Deleted.

  • rendering/RenderText.cpp:

(WebCore::RenderText::selectionRectForRepaint):

  • rendering/RenderView.cpp:

(WebCore::RenderView::availableLogicalHeight):
(WebCore::RenderView::pageOrViewLogicalHeight):
(WebCore::RenderView::unextendedBackgroundRect):
(WebCore::RenderView::backgroundRect):
(WebCore::RenderView::shouldDisableLayoutStateForSubtree):
(WebCore::RenderView::pageNumberForBlockProgressionOffset):
(WebCore::RenderView::pageCount):
(WebCore::RenderView::paginationUnit): Deleted.

  • rendering/RenderView.h:

(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
(WebCore::LayoutStateMaintainer::push):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::layout):

  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

LayoutTests:

  • platform/mac/fast/multicol/client-rects-expected.png:
  • platform/mac/fast/multicol/client-rects-expected.txt:
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.png:
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/mac/fast/multicol/client-rects-spanners-expected.png:
  • platform/mac/fast/multicol/client-rects-spanners-expected.txt:
  • platform/mac/fast/multicol/newmulticol/client-rects-expected.png:
  • platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
2:32 PM Changeset in webkit [168379] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit

Put the symlink in the right place.

  • WebKit.xcodeproj/project.pbxproj:
2:08 PM Changeset in webkit [168378] by beidson@apple.com
  • 7 edits in trunk/Source

Don't select an image that is about to have its menu shown.
<rdar://problem/16807845> and https://bugs.webkit.org/show_bug.cgi?id=132579

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:
  • editing/Editor.h:
  • editing/mac/EditorMac.mm:

(WebCore::Editor::replaceNodeFromPasteboard): New method that first selects

the Node and then immediately pastes over it. Since it’s synchronous the
selection never has a chance to paint.

  • html/shadow/mac/ImageControlsButtonElementMac.cpp:

(WebCore::ImageControlsButtonElementMac::defaultEventHandler): Don’t select the image.

Source/WebKit/mac:

  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController didShareImageData:confirmDataIsValidTIFFData:]):

Call the new replaceNodeFromPasteboard API instead of readSelectionFromPasteboard.

1:19 PM Changeset in webkit [168377] by eric.carlson@apple.com
  • 5 edits in trunk

[Mac] make metadata cue attributes consistent
https://bugs.webkit.org/show_bug.cgi?id=132610

Reviewed by Jer Noble.

Source/WebCore:
No new tests, updated http/tests/media/track-in-band-hls-metadata.html.

  • platform/mac/SerializedPlatformRepresentationMac.mm:

(WebCore::jsValueWithAVMetadataItemInContext): Don't include keys @dataTypeNamespace

or @pictureType, @dataType -> @type.

LayoutTests:

  • http/tests/media/track-in-band-hls-metadata-expected.txt:
  • http/tests/media/track-in-band-hls-metadata.html:
1:10 PM Changeset in webkit [168376] by beidson@apple.com
  • 5 edits in trunk/Source/WebCore

"Flash of content without image" when pasting a raw image from the pasteboard
<rdar://problem/16826199> and https://bugs.webkit.org/show_bug.cgi?id=132612

Reviewed by Tim Horton.

Let an ArchiveResource be flagged as "should load immediately":

  • loader/archive/ArchiveResource.cpp:

(WebCore::ArchiveResource::ArchiveResource):

  • loader/archive/ArchiveResource.h:

(WebCore::ArchiveResource::setShouldLoadImmediately):
(WebCore::ArchiveResource::shouldLoadImmediately):

Set that flag on the ArchiveResource for the image.
Note we quite explicitly do this only in the "read a single image" from the pasteboard
case, because we don't want to do this synchronous step for multiple images at once
such as when pasting a WebArchive:

  • editing/mac/EditorMac.mm:

(WebCore::Editor::WebContentReader::readImage):

When creating a new CachedResource, if there is an ArchiveResource that is set to
load immediately, populate the CachedResource immediately instead of scheduling a load:

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

12:48 PM Changeset in webkit [168375] by stavila@adobe.com
  • 2 edits in trunk/PerformanceTests

[CSSRegions] Enabled regions performance tests by default
https://bugs.webkit.org/show_bug.cgi?id=128244

Reviewed by Andreas Kling.

Enabled regions performance tests.

  • Skipped:
12:28 PM Changeset in webkit [168374] by matthew_hanson@apple.com
  • 1 edit in branches/safari-537.76-branch/LayoutTests/TestExpectations

Move Radar link into a comment.

12:15 PM Changeset in webkit [168373] by mhahnenberg@apple.com
  • 7 edits
    4 deletes in trunk

Roll out r167889

Rubber stamped by Geoff Garen.

It broke some websites.

Source/JavaScriptCore:

  • runtime/JSPropertyNameIterator.cpp:

(JSC::JSPropertyNameIterator::create):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::hasDeletedOffset):
(JSC::PropertyTable::hadDeletedOffset): Deleted.

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::removePropertyTransition):
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::addPropertyWithoutTransition):
(JSC::Structure::removePropertyWithoutTransition):
(JSC::Structure::pin):
(JSC::Structure::pinAndPreventTransitions): Deleted.

  • runtime/Structure.h:
  • runtime/StructureInlines.h:

(JSC::Structure::setEnumerationCache):
(JSC::Structure::propertyTable):
(JSC::Structure::checkOffsetConsistency):
(JSC::Structure::hadDeletedOffsets): Deleted.

  • tests/stress/for-in-after-delete.js:

(foo): Deleted.

LayoutTests:

  • js/regress/delete-a-few-properties-then-get-by-id-expected.txt:
  • js/regress/delete-a-few-properties-then-get-by-id.html:
  • js/regress/script-tests/delete-a-few-properties-then-get-by-id.js:

(MyObject): Deleted.
(foo): Deleted.

12:14 PM Changeset in webkit [168372] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Move the WebKitLegacy header check to the right file
https://bugs.webkit.org/show_bug.cgi?id=132620
<rdar://problem/16815716>

Reviewed by Dan Bernstein.

  • WebKitLegacy/MigrateHeadersFromWebKitLegacy.make:
  • WebKitLegacy/WebKit.h:
11:32 AM Changeset in webkit [168371] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for debug after r168367.

  • platform/NotImplemented.cpp:

Added include NotImplemented.h.

11:30 AM Changeset in webkit [168370] by enrica@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Removed unnecessary notImplemented.h includes.
https://bugs.webkit.org/show_bug.cgi?id=132587

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-06
Reviewed by Anders Carlsson.

  • Modules/webdatabase/Database.cpp:
  • accessibility/AccessibilityObject.cpp:
  • bindings/js/Dictionary.h:
  • bindings/js/SerializedScriptValue.cpp:
  • html/HTMLMediaSession.cpp:
  • html/ImageDocument.cpp:
  • html/parser/HTMLFormattingElementList.cpp:
  • loader/appcache/ApplicationCacheStorage.cpp:
  • page/mac/EventHandlerMac.mm:
  • platform/NotImplemented.cpp:
  • platform/audio/ios/MediaSessionManagerIOS.mm:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
  • platform/graphics/mac/GraphicsContext3DMac.mm:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
  • platform/ios/PlatformScreenIOS.mm:
  • platform/mac/PlatformScreenMac.mm:
  • platform/mac/WidgetMac.mm:
  • platform/mediastream/MediaStreamTrackPrivate.cpp:
  • platform/mediastream/mac/AVCaptureDeviceManager.mm:
  • platform/mediastream/mac/AVMediaCaptureSource.mm:
  • rendering/RenderGrid.cpp:
  • workers/SharedWorkerGlobalScope.cpp:
  • workers/WorkerGlobalScope.cpp:
  • workers/WorkerMessagingProxy.cpp:

Removed notImplemented from list of includes.

11:30 AM Changeset in webkit [168369] by commit-queue@webkit.org
  • 21 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening

Rebaseline affected tests by the modifications done to
inline SVG sizing behavior introduced on r168350.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-05-06

  • platform/gtk/svg/custom/bug45331-expected.txt:
  • platform/gtk/svg/custom/external-paintserver-reference-expected.txt:
  • platform/gtk/svg/custom/junk-data-expected.txt:
  • platform/gtk/svg/custom/linking-base-external-reference-expected.txt:
  • platform/gtk/svg/custom/missing-xlink-expected.txt:
  • platform/gtk/svg/custom/path-bad-data-expected.txt:
  • platform/gtk/svg/custom/use-font-face-crash-expected.txt:
  • platform/gtk/svg/foreignObject/svg-document-in-html-document-expected.txt:
  • platform/gtk/svg/hixie/error/012-expected.txt:
  • platform/gtk/svg/in-html/circle-expected.txt:
  • platform/gtk/svg/transforms/animated-path-inside-transformed-html-expected.txt:
  • platform/gtk/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
  • platform/gtk/svg/wicd/rightsizing-grid-expected.txt:
  • platform/gtk/svg/wicd/test-rightsizing-b-expected.txt:
  • platform/gtk/svg/zoom/page/zoom-foreignObject-expected.txt:
  • platform/gtk/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
  • platform/gtk/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
  • platform/gtk/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
  • platform/gtk/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
  • platform/gtk/svg/zoom/text/zoom-foreignObject-expected.txt:
11:16 AM Changeset in webkit [168368] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit

Put WebKitPluginHost.app in WebKitLegacy.framework
https://bugs.webkit.org/show_bug.cgi?id=132592
<rdar://problem/15920046>

Reviewed by Dan Bernstein.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):

11:04 AM Changeset in webkit [168367] by commit-queue@webkit.org
  • 30 edits in trunk/Source

Removed unnecessary notImplemented.h includes.
https://bugs.webkit.org/show_bug.cgi?id=132587

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-06
Reviewed by Anders Carlsson.

Source/WebCore:

  • Modules/webdatabase/Database.cpp:
  • accessibility/AccessibilityObject.cpp:
  • bindings/js/Dictionary.h:
  • bindings/js/SerializedScriptValue.cpp:
  • html/HTMLMediaSession.cpp:
  • html/ImageDocument.cpp:
  • html/parser/HTMLFormattingElementList.cpp:
  • loader/appcache/ApplicationCacheStorage.cpp:
  • page/mac/EventHandlerMac.mm:
  • platform/NotImplemented.cpp:
  • platform/audio/ios/MediaSessionManagerIOS.mm:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
  • platform/graphics/mac/GraphicsContext3DMac.mm:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
  • platform/ios/PlatformScreenIOS.mm:
  • platform/mac/PlatformScreenMac.mm:
  • platform/mac/WidgetMac.mm:
  • platform/mediastream/MediaStreamTrackPrivate.cpp:
  • platform/mediastream/mac/AVCaptureDeviceManager.mm:
  • platform/mediastream/mac/AVMediaCaptureSource.mm:
  • rendering/RenderGrid.cpp:
  • workers/SharedWorkerGlobalScope.cpp:
  • workers/WorkerGlobalScope.cpp:
  • workers/WorkerMessagingProxy.cpp:

Removed notImplemented from list of includes.

Source/WebKit2:

  • UIProcess/ios/WKContentViewInteraction.mm:
  • UIProcess/mac/WebContextMenuProxyMac.mm:
  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
  • WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:

Removed notImplemented from list of includes.

10:58 AM Changeset in webkit [168366] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after http://trac.webkit.org/changeset/168364

  • rendering/RenderLineBreak.cpp:
10:54 AM Changeset in webkit [168365] by ch.dumez@samsung.com
  • 4 edits
    2 adds in trunk

[HTML] Default argument to HTMLTableSectionElement.insertRow() should be -1
https://bugs.webkit.org/show_bug.cgi?id=132570

Reviewed by Darin Adler.

Source/WebCore:
HTMLTableSectionElement.insertRow()'s argument default value should be -1, not
0, as per the specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#the-tbody-element

The new behavior matches the one of Firefox 29 and IE11, and soon Blink:
https://code.google.com/p/chromium/issues/detail?id=369803

Test: fast/dom/HTMLTableSectionElement/insertRow-default-argument.html

  • html/HTMLTableSectionElement.h:
  • html/HTMLTableSectionElement.idl:

LayoutTests:
Add layout test to test that the default argument to
HTMLTableSectionElement.insertRow() is -1.

  • fast/dom/HTMLTableSectionElement/insertRow-default-argument-expected.txt: Added.
  • fast/dom/HTMLTableSectionElement/insertRow-default-argument.html: Added.
10:49 AM Changeset in webkit [168364] by enrica@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION(r155957): Selection rects are incorrect when the selection contains BR elements.
https://bugs.webkit.org/show_bug.cgi?id=132596
<rdar://problem/16692206>

Reviewed by Antti Koivisto.

This patch adds an implementation of collectSelectionRects to RenderLineBreak.
It uses the same logic used by RenderText to compute and annotate the returned rect
which is computed, like the caret rect, using information from the rootline box.

  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::collectSelectionRects):

  • rendering/RenderLineBreak.h:
10:30 AM Changeset in webkit [168363] by abucur@adobe.com
  • 6 edits in trunk

[CSS Regions] Optimize the number of regions invalidations
https://bugs.webkit.org/show_bug.cgi?id=132611

Reviewed by David Hyatt.

Source/WebCore:
It is possible to invalidate the region chain of a flow thread
during the layout of the region when its height is not final.

This patch places the check after the height of the region
is determined, reducing the number of invalidations.

Tests: Less invalidations and repaints in the repaint tests for
the flow threads.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::updateLogicalHeight):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::layoutBlock):
(WebCore::RenderNamedFlowFragment::invalidateRegionIfNeeded):

  • rendering/RenderNamedFlowFragment.h:

LayoutTests:
Because there are less region invalidations there are less repaints
of the flow threads.

  • fast/regions/repaint/repaint-regions-overflow-expected.txt:
9:44 AM Changeset in webkit [168362] by weinig@apple.com
  • 10 edits in trunk/Source/WebCore

[Extended Background] Respect repeat-x/repeat-y when creating margin tiles
https://bugs.webkit.org/show_bug.cgi?id=132534

Reviewed by Beth Dakin.

If the background image that is causing margin tiles only repeats in dimension only create
the tiles in that dimension.

  • page/FrameView.cpp:

(WebCore::FrameView::updateExtendBackgroundIfNecessary):
(WebCore::FrameView::calculateExtendedBackgroundMode):
(WebCore::FrameView::updateTilesForExtendedBackgroundMode):
(WebCore::FrameView::setBackgroundExtendsBeyondPage): Deleted.
(WebCore::FrameView::needsExtendedBackgroundRectForPainting): Deleted.
(WebCore::FrameView::setHasExtendedBackgroundRectForPainting): Deleted.

  • page/FrameView.h:
  • page/Settings.cpp:

(WebCore::Settings::setBackgroundShouldExtendBeyondPage):

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/mac/TileController.h:
  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::hasHorizontalMargins):
(WebCore::TileController::hasVerticalMargins):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleWillChange):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::setTiledBackingHasMargins):

  • rendering/RenderLayerBacking.h:
9:19 AM Changeset in webkit [168361] by Darin Adler
  • 2 edits in trunk/Tools

Try to fix iOS build.

  • DumpRenderTree/mac/TestRunnerMac.mm:

(-[APITestDelegateIPhone initWithTestRunner:utf8Data:baseURL:]):
Updated since I changed testRunner into a pointer instead of a reference.
Updated argument names to avoid conflict with field names.
(-[APITestDelegateIPhone run]): Ditto.
(-[APITestDelegateIPhone _cleanUp]): Ditto.

9:17 AM Changeset in webkit [168360] by Chris Fleizach
  • 7 edits
    2 adds in trunk

AX: VoiceOver does not announce text changes for content editable regions in Safari
https://bugs.webkit.org/show_bug.cgi?id=132577

Reviewed by Mario Sanchez Prada.

Source/WebCore:
When text or children are changed inside of a contenteditable region, we need to
convert those actions into AXValueChange notifications.

Test: accessibility/content-editable-set-inner-text-generates-axvalue-notification.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::childrenChanged):
(WebCore::AccessibilityNodeObject::hasContentEditableAttributeSet): Deleted.

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::hasContentEditableAttributeSet):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textChanged):

LayoutTests:

  • accessibility/content-editable-set-inner-text-generates-axvalue-notification-expected.txt: Added.
  • accessibility/content-editable-set-inner-text-generates-axvalue-notification.html: Added.
9:11 AM WebKitGTK/KeepingTheTreeGreen edited by eocanha@igalia.com
(diff)
7:14 AM Changeset in webkit [168359] by Darin Adler
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Fix two more AdoptCF I missed in my last patch.

  • WebView/WebHTMLView.mm:

(imageFromRect): Use adoptCF instead of AdoptCF.

7:04 AM Changeset in webkit [168358] by krit@webkit.org
  • 7 edits in trunk

[SVG2] Share "on"- event attributes with HTMLElement
https://bugs.webkit.org/show_bug.cgi?id=132604

Reviewed by Mihnea Ovidenie.

Source/WebCore:
Share "on" event attribute parsing between SVGElement and HTMLElement.

Tests: fast/dom/script-tests/event-attribute-availability.js:

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::populateEventNameForAttributeLocalNameMap):
(WebCore::populateEventNameForAttributeLocalNameMap): Deleted.

  • html/HTMLElement.h: Make populateEventNameForAttributeLocalNameMap

public for use in SVGElement.

  • svg/SVGElement.cpp: Use HTMLElement code to parse "on" event

attributes.

(WebCore::SVGElement::parseAttribute):

LayoutTests:
Test that the "on" event attributes supported by HTMLElement are
supported by SVGElement as well.

  • fast/dom/event-attribute-availability-expected.txt:
  • fast/dom/script-tests/event-attribute-availability.js:
6:34 AM Changeset in webkit [168357] by commit-queue@webkit.org
  • 5 edits in trunk

Unreviewed, rolling out r168304.
https://bugs.webkit.org/show_bug.cgi?id=132607

Broke the build (Requested by KaL on #webkit).

Reverted changeset:

"[GTK][CMake] Unable to do make install"
https://bugs.webkit.org/show_bug.cgi?id=130188
http://trac.webkit.org/changeset/168304

6:17 AM Changeset in webkit [168356] by commit-queue@webkit.org
  • 1 edit
    26 copies
    1 delete in trunk/LayoutTests

[CSS Blending] Rename all the tests css3/compositing to css3/blending
https://bugs.webkit.org/show_bug.cgi?id=132606

Patch by Ion Rosca <Ion Rosca> on 2014-05-06
Reviewed by Andrei Bucur.

  • css3/blending: Renamed from LayoutTests/css3/compositing.
5:37 AM Changeset in webkit [168355] by stavila@adobe.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: [CSS Regions] Add the regionOversetChange event to the iOS 7.0 WebInspector UI
https://bugs.webkit.org/show_bug.cgi?id=132566

Reviewed by Antti Koivisto.

The regionOversetChange event was missing from the iOS7 WebInspector.

  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:
5:16 AM Changeset in webkit [168354] by commit-queue@webkit.org
  • 7 edits
    138 copies
    126 moves
    6 adds
    5 deletes in trunk/LayoutTests

[CSS Blending] Rename layout tests css3/compositing to css3/blending
https://bugs.webkit.org/show_bug.cgi?id=132578

Patch by Ion Rosca <Ion Rosca> on 2014-05-06
Reviewed by Andrei Bucur.

  • css3/blending: Renamed from css3/compositing.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-sim/css3/blending: Renamed from platform/ios-sim/css3/compositing
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/css3/blending: Renamed from platform/mac/css3/compositing.
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
3:58 AM Changeset in webkit [168353] by berto@igalia.com
  • 2 edits in trunk/Source/WTF

There is no HW_AVAILCPU on FreeBSD, NetBSD, and OpenBSD
https://bugs.webkit.org/show_bug.cgi?id=132542

Reviewed by Michael Saboff.

Use sysconf() to get the number of processor cores.

  • wtf/NumberOfCores.cpp:

(WTF::numberOfProcessorCores):

May 5, 2014:

11:54 PM Changeset in webkit [168352] by g.czajkowski@samsung.com
  • 4 edits
    2 adds
    2 deletes in trunk/LayoutTests

Share mac/editing/spelling/delete-into-misspelled-word.html with other platforms
https://bugs.webkit.org/show_bug.cgi?id=132561

Reviewed by Darin Adler.

This test does not use Mac specific features and
can be run by other platforms as well.

Due to bug 125689, this test starts using asynchronous spellchecking.

  • editing/spelling/delete-into-misspelled-word-expected.txt:

Renamed from LayoutTests/platform/mac/editing/spelling/delete-into-misspelled-word-expected.txt

  • editing/spelling/delete-into-misspelled-word.html:

Renamed from LayoutTests/platform/mac/editing/spelling/delete-into-misspelled-word.html

  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/win/TestExpectations:

Mark delete-into-misspelled-word.html as failing since those
platforms didn't turn on asynchronous spellchecking.

11:19 PM Changeset in webkit [168351] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[Soup] Use std::unique_ptr<char[]> for the read buffer in SocketStreamHandle
https://bugs.webkit.org/show_bug.cgi?id=132559

Reviewed by Carlos Garcia Campos.

Manage the read buffer array through a std::unique_ptr<char[]> object.
This avoids handling with the raw pointer and also ensures that the memory
allocated with the new[] operator is deleted with the delete[] operator,
a problem exposed by the AddressSanitizer in WebSocket tests.

  • platform/network/soup/SocketStreamHandle.h:
  • platform/network/soup/SocketStreamHandleSoup.cpp:

(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::connected):
(WebCore::SocketStreamHandle::readBytes):
(WebCore::SocketStreamHandle::platformClose):

11:06 PM Changeset in webkit [168350] by krit@webkit.org
  • 118 edits
    12 adds
    46 deletes in trunk

Adapt inline SVG sizing behavior to Firefox and Blink
https://bugs.webkit.org/show_bug.cgi?id=132569

Reviewed by Dean Jackson.

Source/WebCore:
This patch is ported from Blink CR 308992. Thanks to David Vest for helping
with back porting his Blink patch. From the commit message:

"The basis of this change is to map explicit width and height
attributes to CSS properties, essentially promoting them to
presentation attributes. Note that implicit "100%" width and height
are not mapped.

This enables us to remove the concept of "percentage intrinsic size"
and rely on normal CSS rules to resolve percentage values.

The change has been approved by the SVG WG and the spec is being
updated. Minutes here:

http://www.w3.org/2014/04/07-svg-minutes.html#item03"

The new model was indeed approved by the SVG WG and is basically following
the CSS 2.1 model for replaced elements.

With this patch WebKit, Firefox and Blink have the same behavior for inline SVG.
This is the first successful approach to unify the sizing behavior of SVG
across UAs.

Tests: svg/as-object/sizing/svg-in-object-placeholder-height-auto.html

svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html
svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html
svg/in-html/sizing/svg-inline.html

  • css/svg.css: Root SVG elements still need to be sized with height: 100% and

width: 100%. This is necessary since width and height are presentation
attributes now.

(svg:root):

  • rendering/RenderBox.h:

(WebCore::RenderBox::computeIntrinsicRatioInformation): Remove all special

behavior for intrinsic and percentage based sizes in SVG. This simplifies and
unifies the code a lot. Most of the logic that is used is in RenderBox and
RenderReplaced now. RenderSVGRoot was cleaned up a lot and is much lighter.
And so it SVGSVGElement.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeIntrinsicRatioInformation):

  • rendering/RenderImage.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
(WebCore::RenderReplaced::computeIntrinsicRatioInformation):
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):
(WebCore::RenderReplaced::computePreferredLogicalWidths):

  • rendering/RenderReplaced.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
(WebCore::RenderSVGRoot::hasRelativeDimensions):
(WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth): Deleted.
(WebCore::RenderSVGRoot::hasRelativeLogicalHeight): Deleted.

  • rendering/svg/RenderSVGRoot.h:
  • svg/SVGElement.h:

(WebCore::SVGElement::invalidateSVGPresentationAttributeStyle):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::isPresentationAttribute):
(WebCore::SVGSVGElement::collectStyleForPresentationAttribute):
(WebCore::SVGSVGElement::svgAttributeChanged):
(WebCore::SVGSVGElement::currentViewportSize):
(WebCore::SVGSVGElement::hasIntrinsicWidth):
(WebCore::SVGSVGElement::hasIntrinsicHeight):
(WebCore::SVGSVGElement::intrinsicWidth):
(WebCore::SVGSVGElement::intrinsicHeight):
(WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Deleted.
(WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Deleted.

  • svg/SVGSVGElement.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::containerSize):

  • xml/XMLErrors.cpp: If an error occurs in a stand alone SVG file, we create

an XHTML document with the error message and append the SVG file.
This SVG file now follows the CSS sizing behavior as inline SVG.
Therefore, we need to set width and height to 100% explicitly.

(WebCore::XMLErrors::insertErrorMessageBlock):

LayoutTests:
The new sizing behavior for inline SVG causes different DRT outputs for about 40 test cases.
This is expected but for most tests an improvement since the SVGs fit into the documents
and scrollbars disappear or the general size gets smaller.
Some tests needed to be updated. The size was either not set at all or not properly.

svg-in-object.js and svg-inline.js contain dozens of new tests to check the correct sizing
behavior.

The tests were written by David Vest from Opera as part of CR 308992.

Many of the -expected updates are caused by SVG size changes in turn
affecting where line breaks are inserted.

  • TestExpectations:
  • accessibility/svg-image-expected.txt:
  • css3/flexbox/flexitem.html:
  • fast/css/infinite-floating-value-expected.txt:
  • fast/css/remove-fixed-resizer-crash-expected.txt:
  • fast/css3-text/css3-word-spacing-percentage/word-spacing-crash-expected.txt:
  • fast/repaint/moving-shadow-on-container.html:
  • fast/repaint/moving-shadow-on-path.html:
  • fast/repaint/svg-layout-root-style-attr-update.html:
  • fast/shapes/shape-outside-floats/shape-outside-relative-size-svg-expected.html:
  • fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html:
  • http/tests/xmlviewer/dumpAsText/svg-expected.txt:
  • platform/mac/svg/batik/filters/feTile-expected.txt:
  • platform/mac/svg/batik/masking/maskRegions-expected.txt:
  • platform/mac/svg/batik/paints/patternRegions-positioned-objects-expected.txt:
  • platform/mac/svg/batik/text/longTextOnPath-expected.txt:
  • platform/mac/svg/batik/text/textDecoration-expected.txt:
  • platform/mac/svg/batik/text/textEffect-expected.txt:
  • platform/mac/svg/batik/text/textLength-expected.txt:
  • platform/mac/svg/batik/text/textOnPath-expected.txt:
  • platform/mac/svg/batik/text/textPosition-expected.txt:
  • platform/mac/svg/batik/text/verticalText-expected.txt:
  • platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
  • platform/mac/svg/custom/bug45331-expected.txt:
  • platform/mac/svg/custom/junk-data-expected.txt:
  • platform/mac/svg/custom/missing-xlink-expected.txt:
  • platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-height-50p-on-target-svg-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-50p-on-target-svg-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.png: Removed.
  • platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
  • platform/mac/svg/custom/path-bad-data-expected.txt:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
  • platform/mac/svg/custom/use-font-face-crash-expected.txt:
  • platform/mac/svg/foreignObject/svg-document-in-html-document-expected.txt:
  • platform/mac/svg/hixie/error/012-expected.txt:
  • platform/mac/svg/hixie/intrinsic/001-expected.png: Removed.
  • platform/mac/svg/hixie/intrinsic/001-expected.txt: Removed.
  • platform/mac/svg/hixie/intrinsic/002-expected.png: Removed.
  • platform/mac/svg/hixie/intrinsic/002-expected.txt: Removed.
  • platform/mac/svg/in-html/circle-expected.txt:
  • platform/mac/svg/text/non-bmp-positioning-lists-expected.txt:
  • platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt:
  • platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
  • platform/mac/svg/wicd/rightsizing-grid-expected.txt:
  • platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
  • platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.txt:
  • platform/mac/svg/zoom/page/zoom-background-images-expected.txt:
  • platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt:
  • platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
  • platform/mac/svg/zoom/page/zoom-zoom-coords-expected.txt:
  • platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt:
  • svg/animations/animate-css-xml-attributeType-expected.txt:
  • svg/as-image/image-respects-deviceScaleFactor.html:
  • svg/as-image/image-respects-pageScaleFactor.html:
  • svg/as-image/svg-as-image-with-relative-size-expected.html:
  • svg/as-image/svg-as-relative-image.html:
  • svg/as-object/sizing/svg-in-object-placeholder-height-auto-expected.txt: Added.
  • svg/as-object/sizing/svg-in-object-placeholder-height-auto.html: Added.
  • svg/as-object/sizing/svg-in-object-placeholder-height-fixed-expected.txt: Added.
  • svg/as-object/sizing/svg-in-object-placeholder-height-fixed.html: Added.
  • svg/as-object/sizing/svg-in-object-placeholder-height-percentage-expected.txt: Added.
  • svg/as-object/sizing/svg-in-object-placeholder-height-percentage.html: Added.
  • svg/as-object/sizing/svg-in-object.js: Added.

(.):
(.addAttr):
(.generateSVGURI):
(buildDemo):
(.doCombinationTestRecursive):
(doCombinationTest):
(debugHint):
(.debugHint):
(testSVGInObjectWithPlaceholderHeightAttr.):
(testSVGInObjectWithPlaceholderHeightAttr):

  • svg/css/composite-shadow-example.html:
  • svg/css/composite-shadow-with-opacity.html:
  • svg/css/max-width-2.html:
  • svg/css/stars-with-shadow.html:
  • svg/custom/absolute-sized-content-with-resources.xhtml:
  • svg/custom/altglyph.svg:
  • svg/custom/document-all-includes-svg-expected.txt:
  • svg/custom/external-paintserver-reference-expected.txt:
  • svg/custom/external-paintserver-reference.svg:
  • svg/custom/get-text-element-transform-crash-expected.txt:
  • svg/custom/linking-base-external-reference-expected.txt:
  • svg/custom/linking-base-external-reference.xhtml:
  • svg/custom/object-sizing-height-50p-on-target-svg-absolute-expected.txt: Removed.
  • svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml: Removed.
  • svg/custom/object-sizing-height-50p-on-target-svg-expected.txt: Removed.
  • svg/custom/object-sizing-height-50p-on-target-svg.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-height-50p-on-target-svg-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml: Removed.
  • svg/custom/object-sizing-width-50p-on-target-svg-expected.txt: Removed.
  • svg/custom/object-sizing-width-50p-on-target-svg.xhtml: Removed.
  • svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
  • svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml: Removed.
  • svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
  • svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml: Removed.
  • svg/custom/pending-resource-after-removal.xhtml:
  • svg/custom/percentage-of-html-parent.xhtml:
  • svg/custom/relative-sized-content-with-resources.xhtml:
  • svg/custom/relative-sized-content.xhtml:
  • svg/custom/relative-sized-deep-shadow-tree-content.xhtml:
  • svg/custom/relative-sized-image.xhtml:
  • svg/custom/relative-sized-inner-svg.xhtml:
  • svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml:
  • svg/custom/relative-sized-shadow-tree-content.xhtml:
  • svg/custom/relative-sized-use-on-symbol.xhtml:
  • svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml:
  • svg/custom/tref-with-progress-tag-setpseudo-assert-expected.txt:
  • svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt:
  • svg/custom/use-invalid-html-expected.txt:
  • svg/custom/window-named-item-lookup-expected.txt:
  • svg/dom/SVGViewSpec-invalid-ref-crash-expected.txt:
  • svg/dom/parent-view-layout-crash-expected.txt:
  • svg/dom/stylesheet-candidate-node-crash-main-expected.txt:
  • svg/dom/svg-root-lengths.html:
  • svg/foreignObject/absolute-position-foreign-object-child-crash-expected.txt:
  • svg/hixie/intrinsic/001-expected.png: Removed.
  • svg/hixie/intrinsic/001-expected.txt: Removed.
  • svg/hixie/intrinsic/001.html: Removed.
  • svg/hixie/intrinsic/002-expected.png: Removed.
  • svg/hixie/intrinsic/002-expected.txt: Removed.
  • svg/hixie/intrinsic/002.html: Removed.
  • svg/hixie/intrinsic/resources/001.svg: Removed.
  • svg/hixie/intrinsic/resources/002.svg: Removed.
  • svg/in-html/sizing/svg-inline-expected.txt: Added.
  • svg/in-html/sizing/svg-inline.html: Added.
  • svg/in-html/sizing/svg-inline.js: Added.

(.):
(setupSVGElement):
(buildDemo):
(.doCombinationTestRecursive):
(doCombinationTest):
(debugHint):
(.debugHint):

  • svg/path-arc-invalid-expected.txt:
  • svg/repaint/repaint-webkit-svg-shadow-container-expected.txt:
  • svg/text/append-text-node-to-tspan.html:
  • svg/text/kerning.svg:
  • svg/text/modify-text-node-in-tspan.html:
  • svg/text/multichar-glyph.svg:
  • svg/text/remove-text-node-from-tspan.html:
  • svg/text/remove-tspan-from-text.html:
  • svg/text/svg-rtl-text-crash-expected.txt:
  • svg/text/text-block-child-crash-expected.txt:
  • svg/transforms/animated-path-inside-transformed-html.xhtml:
  • svg/transforms/svg-css-transforms-clip-path.xhtml:
  • svg/transforms/transform-origin-css-property.xhtml:
  • svg/zoom/page/zoom-foreignObject.svg:
  • svg/zoom/page/zoom-svg-as-relative-image.html:
  • svg/zoom/text/zoom-foreignObject.svg:
11:04 PM Changeset in webkit [168349] by commit-queue@webkit.org
  • 1 edit
    12 adds in trunk/LayoutTests

[CSS Blending] Add tests using blending and isolation for body and html elements.
https://bugs.webkit.org/show_bug.cgi?id=132325

Patch by Ion Rosca <Ion Rosca> on 2014-05-05
Reviewed by Dirk Schulze.

  • css3/compositing/blend-mode-body-child-background-color-expected.html: Added.
  • css3/compositing/blend-mode-body-child-background-color.html: Added.
  • css3/compositing/blend-mode-body-child-expected.html: Added.
  • css3/compositing/blend-mode-body-child-isolate-background-color-expected.html: Added.
  • css3/compositing/blend-mode-body-child-isolate-background-color.html: Added.
  • css3/compositing/blend-mode-body-child-isolate-html-background-color-expected.html: Added.
  • css3/compositing/blend-mode-body-child-isolate-html-background-color.html: Added.
  • css3/compositing/blend-mode-body-child.html: Added.
  • css3/compositing/blend-mode-body-element-expected.html: Added.
  • css3/compositing/blend-mode-body-element.html: Added.
  • css3/compositing/blend-mode-html-element-screen-expected.html: Added.
  • css3/compositing/blend-mode-html-element-screen.html: Added.
8:12 PM Changeset in webkit [168348] by Darin Adler
  • 4 edits in trunk

RetainPtr: Use adoptCF function instead of AdoptCF constructor argument
https://bugs.webkit.org/show_bug.cgi?id=80222

Reviewed by Alexey Proskuryakov.

Source/WTF:
All the clients are gone, so we can now remove AdoptCF and AdoptNS.

  • wtf/RetainPtr.h: Removed the public constructors that let you specify AdoptCF

and AdoptNS. Instead, made the adoptCF and adoptNS functions be friends and use
a private constructor that takes an Adopt argument.
(WTF::adoptCF): Moved the Objective-C class check in here.
(WTF::adoptNS): Moved the code to deal with the CFRetain for garbage collection
in here; it used to be spread across the constructor and adoptNSReference.

Tools:

  • DumpRenderTree/mac/TestRunnerMac.mm:

(-[APITestDelegateIPhone initWithTestRunner:utf8Data:baseURL:]): Updated to
do more work here so we don't use RetainPtr local variables.
(-[APITestDelegateIPhone dealloc]): Added.
(-[APITestDelegateIPhone run]): Added an early exit if the web view is already
created. Updated for changes to member names and types.
(-[APITestDelegateIPhone _cleanUp]): Added code to set webView to nil and
updated for changes to member names and types. Changed to two word spelling.
(-[APITestDelegateIPhone webView:didFailLoadWithError:forFrame:]): Updated
name of _cleanUp method.
(-[APITestDelegateIPhone webView:didFailProvisionalLoadWithError:forFrame:]):
Ditto.
(-[APITestDelegateIPhone webView:didFinishLoadForFrame:]): Ditto.

7:54 PM Changeset in webkit [168347] by akling@apple.com
  • 4 edits in trunk/Source/WebKit

Unreviewed, rolling out r168334.

Broke builds.

Reverted changeset:

"Put WebKitPluginHost.app in WebKitLegacy.framework"
https://bugs.webkit.org/show_bug.cgi?id=132592
http://trac.webkit.org/changeset/168334

7:49 PM Changeset in webkit [168346] by dino@apple.com
  • 4 edits in trunk/WebKitLibraries

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

Update WebKitSystemInterface to allow animated focus rings.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
7:42 PM Changeset in webkit [168345] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.30.4/WebKitLibraries

Merged r168321.

7:35 PM Changeset in webkit [168344] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.30.4/Source

Versioning.

7:32 PM Changeset in webkit [168343] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.30.4

New tag.

7:08 PM Changeset in webkit [168342] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebCore

[EFL] REGRESSION(167145): JavaScript media controls are broken
https://bugs.webkit.org/show_bug.cgi?id=131573

Reviewed by Brent Fulgham.

  • PlatformEfl.cmake: Add the localized strings file to the list of user agent scripts.
  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::mediaControlsScript): Include the localized strings file in the script body.

6:49 PM Changeset in webkit [168341] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Implement scan backward and forward in video fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=132517

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-05
Reviewed by Simon Fraser.

Source/WebCore:
Implement scanning forward and backward. This implements methods in
WebAVPlayerController and forwards them through WebVideoFullscreenModelMediaElement
and on to HTMLMediaElement.

  • WebCore.exp.in: necessary exports.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController seekToTime:]):
Use fastSeek in this case.
(-[WebAVPlayerController canScanForward]): If you can play, you can scan.
(+[WebAVPlayerController keyPathsForValuesAffectingCanScanForward]): ditto
(-[WebAVPlayerController beginScanningForward:]): ditto
(-[WebAVPlayerController endScanningForward:]): ditto
(-[WebAVPlayerController canScanBackward]): If you can play, you can scan.
(+[WebAVPlayerController keyPathsForValuesAffectingCanScanBackward]): ditto
(-[WebAVPlayerController beginScanningBackward:]): ditto
(-[WebAVPlayerController endScanningBackward:]): ditto
(-[WebAVPlayerController canSeekToBeginning]):
This looks at seekableRanges to determine if any seeking is possible.
(+[WebAVPlayerController keyPathsForValuesAffectingCanSeekToBeginning]):
depends on seekableRanges.
(-[WebAVPlayerController seekToBeginning:]): seek to -ininity
(-[WebAVPlayerController canSeekToEnd]):
This looks at seekableRanges to determine if any seeking is possible.
(+[WebAVPlayerController keyPathsForValuesAffectingCanSeekToEnd]):
depends on seekableRanges.
(-[WebAVPlayerController seekToEnd:]): seek to INFINITY.

  • platform/ios/WebVideoFullscreenModel.h:

Add 4 new functions.

  • platform/ios/WebVideoFullscreenModelMediaElement.h:

ditto

  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::fastSeek): forwards to HTMLMediaEelement
(WebVideoFullscreenModelMediaElement::beginScanningForward): forwards to HTMLMediaEelement
(WebVideoFullscreenModelMediaElement::beginScanningBackward): forwards to HTMLMediaEelement
(WebVideoFullscreenModelMediaElement::endScanning): forwards to HTMLMediaEelement

Source/WebKit2:
Plumb through scanning/seeking functions.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::fastSeek):
(WebKit::WebVideoFullscreenManagerProxy::beginScanningForward):
(WebKit::WebVideoFullscreenManagerProxy::beginScanningBackward):
(WebKit::WebVideoFullscreenManagerProxy::endScanning):

  • WebProcess/ios/WebVideoFullscreenManager.messages.in:
6:22 PM Changeset in webkit [168340] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix debug build.

  • runtime/JSCellInlines.h:

(JSC::JSCell::fastGetOwnProperty):

6:14 PM Changeset in webkit [168339] by benjamin@webkit.org
  • 8 edits in trunk/Source

[iOS][WK2] Prefetch DNS hostnames on tap highlight
https://bugs.webkit.org/show_bug.cgi?id=132509

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-05
Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in:
  • dom/Element.cpp:
  • dom/Element.h:

(WebCore::Element::absoluteLinkURL()):

Source/WebKit2:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::tapHighlightAtPosition):

6:10 PM Changeset in webkit [168338] by Simon Fraser
  • 18 edits in trunk/Source

[iOS WK2] Flickery scrolling inside overflow-scrolling: touch
https://bugs.webkit.org/show_bug.cgi?id=132591
<rdar://problem/16760466>

Reviewed by Tim Horton.

Source/WebCore:

Avoid triggering layer tree commits that touch the layer's boundsOrigin
while the user is scrolling in the UI process.

Fix the WKOverflowScrollViewDelegate to pass along an "inUserInteration"
flag to the ScrollingTree to say that we're in the middle of a user interaction
(and also to send a final non-interactive update). That gets passed along
to the web process, and turned into "SyncScrollingLayerPosition" update.
AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll() consults
this, and uses it to set a flag on the ScrollableArea to say that the scroll
is a user scroll.

RenderLayerBacking then makes use of this (in existing code, shared with WK1)
to avoid triggering layer bounds setting. Instead, it now just calls syncBoundsOrigin(),
which updates the GraphicsLayer without touching platform layers. This is necessary
so that GraphicsLayer geometry is up-to-date (used for tiled layer visibility
computations).

Finally, a hack in GraphicsLayerCA::computeVisibleRect() is conditionalized
for WebKit1 by checking the type of platform layer.

  • WebCore.exp.in:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):

  • page/scrolling/ScrollingTree.h:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::syncBoundsOrigin):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::computeVisibleRect):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

Source/WebKit2:

Avoid triggering layer tree commits that touch the layer's boundsOrigin
while the user is scrolling in the UI process.

Fix the WKOverflowScrollViewDelegate to pass along an "inUserInteration"
flag to the ScrollingTree to say that we're in the middle of a user interaction
(and also to send a final non-interactive update). That gets passed along
to the web process, and turned into "SyncScrollingLayerPosition" update.
AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll() consults
this, and uses it to set a flag on the ScrollableArea to say that the scroll
is a user scroll.

RenderLayerBacking then makes use of this (in existing code, shared with WK1)
to avoid triggering layer bounds setting. Instead, it now just calls syncBoundsOrigin(),
which updates the GraphicsLayer without touching platform layers. This is necessary
so that GraphicsLayer geometry is up-to-date (used for tiled layer visibility
computations).

Finally, a hack in GraphicsLayerCA::computeVisibleRect() is conditionalized
for WebKit1 by checking the type of platform layer.

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID):
(WebKit::RemoteScrollingCoordinatorProxy::isPointInNonFastScrollableRegion):
(WebKit::RemoteScrollingCoordinatorProxy::viewportChangedViaDelegatedScrolling):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
  • UIProcess/Scrolling/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(-[WKOverflowScrollViewDelegate scrollViewDidScroll:]):
(-[WKOverflowScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]):
(-[WKOverflowScrollViewDelegate scrollViewDidEndDecelerating:]):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewDidScroll):

  • WebProcess/Scrolling/RemoteScrollingCoordinator.h:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.mm:

(WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):

6:10 PM Changeset in webkit [168337] by matthew_hanson@apple.com
  • 1 edit in branches/safari-537.76-branch/LayoutTests/ChangeLog

Remove merge artifact.

6:03 PM Changeset in webkit [168336] by akling@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/media/hls/video-controls-live-stream.html as WontFix on Mountain Lion.
<https://webkit.org/b/132491>

  • platform/mac/TestExpectations:
5:53 PM Changeset in webkit [168335] by akling@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Optimize GetByVal when subscript is a rope string.
<https://webkit.org/b/132590>

Use JSString::toIdentifier() in the various GetByVal implementations
to try and avoid allocating extra strings.

Added canUseFastGetOwnProperty() and wrap calls to fastGetOwnProperty()
in that, to avoid calling JSString::value() which always resolves ropes
into new strings and de-optimizes subsequent toIdentifier() calls.

My iMac says ~9% progression on Dromaeo/dom-attr.html

Reviewed by Phil Pizlo.

  • dfg/DFGOperations.cpp:
  • jit/JITOperations.cpp:

(JSC::getByVal):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getByVal):

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::fastGetOwnProperty):
(JSC::JSCell::canUseFastGetOwnProperty):

5:47 PM Changeset in webkit [168334] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit

Put WebKitPluginHost.app in WebKitLegacy.framework
https://bugs.webkit.org/show_bug.cgi?id=132592
<rdar://problem/15920046>

Reviewed by Dan Bernstein.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):

5:42 PM Changeset in webkit [168333] by ap@apple.com
  • 32 edits
    1 add
    2 deletes in trunk/Source

Stop using BlobData on client side
https://bugs.webkit.org/show_bug.cgi?id=132582

Reviewed by Sam Weinig.

Source/WebCore:
Blob registration now uses either a single file path, or a vector of much simpler
BlobPart objects, not an array with arbitrarily sliced blobs or files, which can't happen.

  • Modules/websockets/WebSocket.cpp:(WebCore::WebSocket::didReceiveBinaryData):

Use a new simpler Blob constructor.

  • WebCore.xcodeproj/project.pbxproj: Added BlobPart, removed BlobRegistrationData.
  • bindings/js/JSBlobCustom.cpp: (WebCore::JSBlobConstructor::constructJSBlob):

Use Vector<BlobPart> instead of BlobData (1 line of code instead of 5).

  • dom/DataTransfer.cpp: (WebCore::DataTransfer::hasFileOfType): Updated for

File::contentTypeFromFilePathOrName rename.

  • fileapi/Blob.cpp: (WebCore::Blob::Blob):
  • fileapi/Blob.h:

(WebCore::Blob::create):
(WebCore::Blob::deserialize):

  • fileapi/File.cpp:

(WebCore::File::File):
(WebCore::File::contentTypeFromFilePathOrName):
(WebCore::createBlobDataForFileWithType): Deleted.
(WebCore::createBlobDataForFile): Deleted.
(WebCore::createBlobDataForFileWithName): Deleted.
(WebCore::File::contentTypeFromFilePath): Deleted.

  • fileapi/File.h: (WebCore::File::deserialize): Deleted.

Added and updated constructors to not use BlobData. Changed special case constructors
to use name tags instead of non-enforced comments.

  • fileapi/ThreadableBlobRegistry.h:
  • fileapi/ThreadableBlobRegistry.cpp:

(WebCore::BlobRegistryContext::BlobRegistryContext): Updated with new data members
that were split out of BlobData.
(WebCore::ThreadableBlobRegistry::registerFileBlobURL): Added.
(WebCore::ThreadableBlobRegistry::registerBlobURL): Updated to pass Content-Type
explicitly, as it's no longer hidden in BlobData.

  • fileapi/WebKitBlobBuilder.h:
  • fileapi/WebKitBlobBuilder.cpp:

(WebCore::BlobBuilder::append):
(WebCore::BlobBuilder::finalize):
(WebCore::BlobBuilder::appendBytesData): Deleted.
Updated to use BlobPart. There is no longer any need to special case Files,
the registry takes care of that.

  • platform/network/BlobData.h:
  • platform/network/BlobData.cpp:

(WebCore::BlobDataItem::detachFromCurrentThread): Deleted.
(WebCore::BlobData::detachFromCurrentThread): Deleted.
BlobData will only be used on main thread by the registry.

  • platform/network/BlobPart.h: Added. A new class to encapsulate a list of blobs

that are combined into a new blob, as exposed to JS via Blob constructor.

  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.cpp:

(WebCore::BlobRegistryImpl::registerFileBlobURL):
(WebCore::BlobRegistryImpl::registerBlobURL):

  • platform/network/BlobRegistryImpl.h:

Updated for the new registration methods. We no longer have arbitrary BlobDatas
coming in.

  • platform/network/FormData.cpp: Don't include BlobData for now (but really,

BlobStorageData is the same thing, and they will be merged soon).
Unfortunately, FormData is used by both client and registry side, and there is
no clear delimitation at the time.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseBlob): Use the new simpler

way to create a Blob.

Source/WebKit2:
Update for WebCore changes.

  • CMakeLists.txt:
  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::registerFileBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURL):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::registerFileBlobURL):
(WebKit::NetworkConnectionToWebProcess::registerBlobURL):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • Shared/FileAPI/BlobRegistrationData.cpp: Removed.
  • Shared/FileAPI/BlobRegistrationData.h: Removed.
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<BlobPart>::encode):
(IPC::ArgumentCoder<BlobPart>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerFileBlobURL):
(WebKit::BlobRegistryProxy::registerBlobURL):

  • WebProcess/FileAPI/BlobRegistryProxy.h:
5:29 PM Changeset in webkit [168332] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.76-branch/LayoutTests

Skip fast/workers/worker-copy-shared-blob-url.html.

4:57 PM Changeset in webkit [168331] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.33.2/Source/JavaScriptCore

Merged r168116.

4:40 PM Changeset in webkit [168330] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.33.2/Source

Versioning.

4:39 PM Changeset in webkit [168329] by akling@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r168256): ASSERTION FAILED: (buffer + m_length) == position loading vanityfair.com article.
<https://webkit.org/b/168256>
<rdar://problem/16816316>

Source/JavaScriptCore:
Make resolveRopeSlowCase8() behave like its 16-bit counterpart and not
clear the fibers. The caller takes care of this.

Test: fast/dom/getElementById-with-rope-string-arg.html

Reviewed by Geoffrey Garen.

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeSlowCase8):

LayoutTests:
Reviewed by Geoffrey Garen.

  • fast/dom/getElementById-with-rope-string-arg-expected.txt: Added.
  • fast/dom/getElementById-with-rope-string-arg.html: Added.
4:35 PM Changeset in webkit [168328] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.33.2

New tag.

4:35 PM Changeset in webkit [168327] by benjamin@webkit.org
  • 7 edits in trunk

Clean up Image Document and tweak the layout and viewport
https://bugs.webkit.org/show_bug.cgi?id=132552

Source/WebCore:
Reviewed by Sam Weinig.

The #ifdef in every function was making quite a mess. A lot of that code does
not make sense on iOS.

This patch make a clean split between mouse related stuff and iOS.

Also:
-Change the viewport to be only width based, and avoid scaling in portrait.
-Center the image horizontally in the view.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::ImageDocument):
(WebCore::ImageDocument::createDocumentStructure):
(WebCore::ImageDocument::imageUpdated):
(WebCore::ImageDocument::scale):
(WebCore::ImageDocument::resizeImageToFit):
(WebCore::ImageDocument::imageFitsInWindow):
(WebCore::ImageDocument::windowSizeChanged):
(WebCore::ImageDocument::imageClicked):

  • html/ImageDocument.h:

Tools:
Reviewed by Anders Carlsson.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):
Update the default settings to have something consistent with WebKit2.

LayoutTests:
Reviewed by Anders Carlsson.

  • svg/custom/anchor-on-use-expected.svg:
4:24 PM Changeset in webkit [168326] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.76-branch/LayoutTests

Rebaseline fast/dom/MutationObserver/parser-mutations-actual.txt

A newline should have been added by r168318, not removed.

  • fast/dom/MutationObserver/parser-mutations-expected.txt:
4:14 PM Changeset in webkit [168325] by Beth Dakin
  • 8 edits in trunk/Source

Need a delegate that informs the UI process when the page's pin state changes
https://bugs.webkit.org/show_bug.cgi?id=132583
-and corresponding-
<rdar://problem/16806231>

Reviewed by Anders Carlsson.

Source/WebCore:
We should default all of these pin-state value to true.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::ScrollingTree):

Source/WebKit2:
New UIClient function pinnedStateDidChange.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::pinnedStateDidChange):

Create WKPageUIClientV3 to add this function.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/WKPageUIClient.h:

Change default initialization to true instead of false, which makes more sense for
this API.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

4:09 PM Changeset in webkit [168324] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Add SPI to provide the WebCrypto master key
https://bugs.webkit.org/show_bug.cgi?id=132586
<rdar://problem/16091460>

Reviewed by Dan Bernstein.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::webCryptoMasterKey):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::webCryptoMasterKey):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):

4:06 PM Changeset in webkit [168323] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=132522
Clean up ProcessThrottler

Unreviewed: bad build fix. Will work out what the right include is asap.

  • UIProcess/ios/WebProcessProxyIOS.mm:
3:50 PM Changeset in webkit [168322] by ch.dumez@samsung.com
  • 5 edits
    2 adds in trunk

Named element cache can become invalid during HTMLCollection::updateNamedElementCache()
https://bugs.webkit.org/show_bug.cgi?id=132575

Reviewed by Ryosuke Niwa.

Source/WebCore:
Make sure the named element cache object stays valid in
HTMLCollection::updateNamedElementCache() while it is populating it.

The method was previously creating and setting the cache first, and then start
traversing the DOM tree to populate it. As a consequence, hasNamedElementCache()
would start returning true before the cache is actually populated.
The issue is that finding matches in the DOM tree can cause
HTMLCollection::invalidateCache() to be called under certain circumstances and
thus the named element cache object can become invalid while
updateNamedElementCache() is populating it.

To avoid the issue, this patch updates updateNamedElementCache() so that the
named element cache map is set *after* traversing the DOM tree. This way,
hasNamedElementCache() returns false while the cache is being populated and
there is no chance of it being invalidated too early.

Test: fast/dom/htmlcollection-selectedOptions-namedItem-crash.html

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::updateNamedElementCache):

  • html/HTMLCollection.h:

(WebCore::HTMLCollection::setNameItemCache):
(WebCore::HTMLCollection::createNameItemCache): Deleted.

  • html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::updateNamedElementCache):

LayoutTests:
Add layout test to verify that HTMLCollection::updateNamedElementCache() is no longer
crashing for collections of selected options.

  • fast/dom/htmlcollection-selectedOptions-namedItem-crash-expected.txt: Added.
  • fast/dom/htmlcollection-selectedOptions-namedItem-crash.html: Added.
3:11 PM Changeset in webkit [168321] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[WIN] Enhance auto-version.sh to handle all-caps or mixed-case build environment variable
https://bugs.webkit.org/show_bug.cgi?id=132580
<rdar://problem/16811179>

Reviewed by Dean Jackson.

  • win/tools/scripts/auto-version.sh: Incorporate Mark's revised syntax.
3:09 PM Changeset in webkit [168320] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[WIN] Enhance auto-version.sh to handle all-caps or mixed-case build environment variable
https://bugs.webkit.org/show_bug.cgi?id=132580
<rdar://problem/16811179>

Reviewed by Dean Jackson.

  • win/tools/scripts/auto-version.sh: Fall back to all-caps version

of environment variable if mixed-case version is not present.

3:09 PM Changeset in webkit [168319] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION: RELEASE_ASSERT in CodeBlock::baselineVersion @ cnn.com
https://bugs.webkit.org/show_bug.cgi?id=132581

Reviewed by Filip Pizlo.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::isStillValid): Check that the alternative codeBlock we
started compiling for is still the same at the end of compilation.
Also did some minor restructuring.

2:52 PM Changeset in webkit [168318] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.76-branch/LayoutTests

Rebaseline fast/dom/MutationObserver/parser-mutations-actual.txt

  • fast/dom/MutationObserver/parser-mutations-expected.txt: Remove newline.
2:23 PM Changeset in webkit [168317] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebKit2

[Cocoa WebKit2] Add SPI to clear all visited links in a VisitedLinkProvider
https://bugs.webkit.org/show_bug.cgi?id=132573

Patch by Sam Weinig <sam@webkit.org> on 2014-05-05
Reviewed by Dan Bernstein.

  • Shared/VisitedLinkTable.cpp:

(WebKit::VisitedLinkTable::VisitedLinkTable):
(WebKit::VisitedLinkTable::clear):

  • Shared/VisitedLinkTable.h:

Add functions to clear the visited link table.

  • UIProcess/API/Cocoa/_WKVisitedLinkProvider.h:
  • UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:

(-[_WKVisitedLinkProvider removeAll]):
Add SPI.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::removeAll):

  • UIProcess/VisitedLinkProvider.h:

A remove all resets the provider and notifies all the attached processes.

  • WebProcess/WebPage/VisitedLinkTableController.cpp:

(WebKit::VisitedLinkTableController::removeAllVisitedLinks):

  • WebProcess/WebPage/VisitedLinkTableController.h:
  • WebProcess/WebPage/VisitedLinkTableController.messages.in:

Add message to clear the visited links for a process.

2:13 PM Changeset in webkit [168316] by benjamin@webkit.org
  • 7 edits in trunk/Source

[iOS][WK2] Special case ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture() for image documents
https://bugs.webkit.org/show_bug.cgi?id=132553

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • html/ImageDocument.cpp:

(WebCore::ImageDocument::imageElement):

  • html/ImageDocument.h:

Source/WebKit2:
When collecting the geometry for the smart magnification gesture, always return the image of an image document
on iOS. On iOS, it does not make much sense to return the whole document rect when the gesture is not over the image.

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):

2:13 PM Changeset in webkit [168315] by matthew_hanson@apple.com
  • 1 edit
    2 adds in branches/safari-537.76-branch/LayoutTests

Copy js-test-pre and js-test-post from LayoutTests/fast/js/resources/ to LayoutTests/resources.

Merged tests (such as <rdar://problem/16433711>) expect these files
to live in LayoutTests/resources on the branch.

  • resources/js-test-post.js: Added.
  • resources/js-test-pre.js: Added.
2:08 PM Changeset in webkit [168314] by commit-queue@webkit.org
  • 4 edits
    14 adds in trunk

[CSS Blending] Webkit-blend-mode fails for accelerated parent with overflow:hidden
https://bugs.webkit.org/show_bug.cgi?id=126160

Source/WebCore:
When the isolating layer has overflow:hidden, it will create a descendant clipping layer
(m_childContainmentLayer), which will restrict the bleding layer to reading the backdrop
from the isolating layer.
The solution in this patch is to forbid the isolating layer to create a descendant clipping
layer and make all the children to get their own ancestor clipping layers instead.

Patch by Ion Rosca <Ion Rosca> on 2014-05-05
Reviewed by Dean Jackson.

Tests: css3/compositing/blend-mode-accelerated-parent-overflow-hidden.html

css3/compositing/blend-mode-clip-accelerated-blending-canvas.html
css3/compositing/blend-mode-clip-accelerated-blending-child.html
css3/compositing/blend-mode-clip-accelerated-blending-double.html
css3/compositing/blend-mode-clip-accelerated-blending-with-siblings.html
css3/compositing/blend-mode-clip-accelerated-transformed-blending.html
css3/compositing/blend-mode-clip-rect-accelerated-blending.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
when the compositing ancestor isolates blending we take it into account for computing
the clipping rect for this layer, because it was not allowed to create the descendant
clipping layer.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::clippedByAncestor):
when the compositing ancestor isolates blending we decide if a layer is clipped by ancestor
by computing the clipping rect taking into account all the ancestors up to and including
the compositing ancestor.
(WebCore::RenderLayerCompositor::clipsCompositingDescendants):
if a layer isolates blending, it is not allowed to create a descendant clipping layer.

LayoutTests:
Patch by Ion Rosca <Ion Rosca> on 2014-05-05
Reviewed by Dean Jackson.

  • css3/compositing/blend-mode-accelerated-parent-overflow-hidden-expected.html: Added.
  • css3/compositing/blend-mode-accelerated-parent-overflow-hidden.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-canvas-expected.txt: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-canvas.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-child-expected.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-child.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-double-expected.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-double.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-with-siblings-expected.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-blending-with-siblings.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-transformed-blending-expected.html: Added.
  • css3/compositing/blend-mode-clip-accelerated-transformed-blending.html: Added.
  • css3/compositing/blend-mode-clip-rect-accelerated-blending.html: Added.
  • css3/compositing/blend-mode-clip-rect-accelerated-blending-expected.html: Added.
  • css3/compositing/blend-mode-isolation-accelerated-overflow-hidden-expected.txt:
1:31 PM Changeset in webkit [168313] by krit@webkit.org
  • 32 edits
    2 adds in trunk

AX: tabindex support in SVG2
https://bugs.webkit.org/show_bug.cgi?id=130212

Reviewed by Chris Fleizach.

Source/WebCore:
The patch is mainly based on a patch for Blink by Erik Dahlström.
https://src.chromium.org/viewvc/blink?revision=172964&view=revision

It adds support for tabindex to SVG by reusing the HTML code.

Spec: https://svgwg.org/svg2-draft/interact.html#sequential-focus-navigation-and-the-tabindex-attribute
IDL attribute: https://svgwg.org/svg2-draft/types.html#__svg__SVGElement__tabIndex

Test: svg/custom/tabindex-order.html

  • dom/Element.cpp:

(WebCore::Element::setTabIndex): Moved from HTMLElement and shared with all elements.

  • dom/Element.h:
  • html/HTMLAnchorElement.cpp: Remove outdated comment.

(WebCore::HTMLAnchorElement::canStartSelection):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setTabIndex): Deleted.

  • html/HTMLElement.h:
  • svg/SVGAElement.cpp: Uses the same logic as HTMLAnchorElement now.

(WebCore::SVGAElement::tabIndex):
(WebCore::SVGAElement::supportsFocus):
(WebCore::SVGAElement::isMouseFocusable):
(WebCore::SVGAElement::isKeyboardFocusable):
(WebCore::SVGAElement::canStartSelection):

  • svg/SVGAElement.h:
  • svg/SVGCircleElement.h:
  • svg/SVGClipPathElement.h:
  • svg/SVGDefsElement.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::tabIndex): Return -1 if element can not be focused.
(WebCore::SVGElement::parseAttribute):
(WebCore::SVGElement::isMouseFocusable):
(WebCore::SVGElement::isKeyboardFocusable): Deleted. Use function on Element.

  • svg/SVGElement.h:
  • svg/SVGElement.idl:
  • svg/SVGEllipseElement.h:
  • svg/SVGGElement.h:
  • svg/SVGGraphicsElement.h: Remove supportsFocus() from inheriting functions.

Don't just return true. SVG elements should not be focusable by default.
Instead check if tabindex was set explicitly.

  • svg/SVGImageElement.h:
  • svg/SVGLineElement.h:
  • svg/SVGPathElement.h:
  • svg/SVGPolyElement.h:
  • svg/SVGRectElement.h:
  • svg/SVGSVGElement.h:
  • svg/SVGSwitchElement.h:
  • svg/SVGSymbolElement.h:
  • svg/SVGTextElement.h:

LayoutTests:
Add test for tabindex on various SVG elements. Negative tests included.

Test is based upon a test from Erik Dahlström. Modified to test all SVGGraphicsElements.

  • svg/custom/tabindex-order-expected.txt: Added.
  • svg/custom/tabindex-order.html: Added.
  • accessibility/svg-group-element-with-title.html: Give group element a role.
  • platform/gtk/svg/custom/linking-uri-01-b-expected.txt:
  • platform/ios-sim/svg/custom/linking-uri-01-b-expected.txt:
  • platform/mac/svg/custom/linking-uri-01-b-expected.txt:
1:14 PM Changeset in webkit [168312] by barraclough@apple.com
  • 15 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=132522
Clean up ProcessThrottler

Reviewed by Geoffrey Garen.

The initial implementation of ProcessThrottler relied on the reply from the
SetViewState message to ensure the page visibility notifications have a chance
to be delivered. This resulted in:

  • unnecessarily complicated interface to ProcessThrottler (in VisibilityState class)
  • complexity bleeding out into WebPageProxy (handling 'hiding' state).
  • for cases other than view hiding, no suspension notification in the WebContent.

To fix these issues add an explicit handshake from the ProcessThrottler to the WebPage.
This gives us two things:

  • All previously posted messages (e.g. SetViewState) will be processed before suspension.
  • WebContent is always (bar timeout) notified before suspension.

Since this interlock ensures the SetViewState message will be processed, the WKContentView no
longer needs to request a reply from SetViewState, and WebPageProxy can lose all the 'hiding'
state tracking. In turn, we can simplify VisibilityToken to a couple of simpler types, without
the interface to change state - just acquire/release to keep the process runnable or permit
suspension.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

  • VisibilityToken -> BackgroundActivityToken
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • m_visibilityToken -> m_activityToken, remove m_pendingViewStateUpdates updateVisibilityToken -> updateActivityToken

(WebKit::WebPageProxy::reattachToWebProcess):

  • updateVisibilityToken -> updateActivityToken

(WebKit::WebPageProxy::viewStateDidChange):

  • remove m_pendingViewStateUpdates, updateActivityToken after sending SetViewState

(WebKit::WebPageProxy::updateActivityToken):

  • m_visibilityToken -> m_activityToken, no need to handle 'hiding' state.

(WebKit::WebPageProxy::updateVisibilityToken): Deleted.

  • renamed to updateActivityToken

(WebKit::WebPageProxy::didUpdateViewState): Deleted.

  • implementation moved back into header.
  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::didUpdateViewState):

  • implementation moved back into header.
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):

  • ProcessThrottler constructor now passed WebProcessProxy.
  • UIProcess/WebProcessProxy.h:
    • added ProcessWillSuspend/ProcessReadyToSuspend
  • UIProcess/WebProcessProxy.messages.in:
    • added ProcessWillSuspend/ProcessReadyToSuspend
  • UIProcess/ios/ProcessAssertion.h:

(WebKit::ProcessAssertion::state):

  • accessor
  • UIProcess/ios/ProcessThrottler.h:

(WebKit::ProcessThrottler::VisibilityToken::visibility): Deleted.
(WebKit::ProcessThrottler::VisibilityToken::setVisibility): Deleted.

  • removed VisibilityToken class, replaced with ForegroundActivityToken/BackgroundActivityToken.

(WebKit::ProcessThrottler::ProcessThrottler): Deleted.
(WebKit::ProcessThrottler::visibilityToken): Deleted.
(WebKit::ProcessThrottler::didConnnectToProcess): Deleted.
(WebKit::ProcessThrottler::assertionState): Deleted.
(WebKit::ProcessThrottler::updateAssertion): Deleted.

  • moved implementations to .mm.
  • UIProcess/ios/ProcessThrottler.mm:

(WebKit::ProcessThrottler::ForegroundActivityToken::ForegroundActivityToken):
(WebKit::ProcessThrottler::ForegroundActivityToken::~ForegroundActivityToken):
(WebKit::ProcessThrottler::BackgroundActivityToken::BackgroundActivityToken):
(WebKit::ProcessThrottler::BackgroundActivityToken::~BackgroundActivityToken):

  • new, simpler replacement for VisibilityToken. Instantiate to keep a processes running, release to suspend.

(WebKit::ProcessThrottler::ProcessThrottler):

  • constructor, now initializes WebProcessProxy pointer & timer mechanism

(WebKit::ProcessThrottler::assertionState):

  • select the appropriate AssertionState give current ActivityTokens.

(WebKit::ProcessThrottler::updateAssertionNow):

  • update the current ProcessAssertion.

(WebKit::ProcessThrottler::updateAssertion):

  • update the current ProcessAssertion, delay running->suspended transitions to give the process a chance to clean up.

(WebKit::ProcessThrottler::didConnnectToProcess):

  • moved from header.

(WebKit::ProcessThrottler::suspendTimerFired):

  • timeout to prevent processes from running in the background for too long.

(WebKit::ProcessThrottler::processReadyToSuspend):

  • handshake from the WebContent process to acknowledge it is ready to suspend.

(WebKit::ProcessThrottler::VisibilityToken::VisibilityToken): Deleted.
(WebKit::ProcessThrottler::VisibilityToken::~VisibilityToken): Deleted.
(WebKit::ProcessThrottler::VisibilityToken::hideTimerFired): Deleted.
(WebKit::ProcessThrottler::VisibilityToken::setVisibilityInternal): Deleted.

  • removed VisibilityToken class, replaced with ForegroundActivityToken/BackgroundActivityToken.
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didMoveToWindow]):

  • no longer necessary to request a response from SetViewState; this interlock is now managed by the ProcessThrottler.
  • UIProcess/ios/WebProcessProxyIOS.mm:

(WebKit::WebProcessProxy::sendProcessWillSuspend):
(WebKit::WebProcessProxy::processReadyToSuspend):

  • added ProcessWillSuspend/ProcessReadyToSuspend
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::processWillSuspend):

  • notification from the WebContent process that we will be suspended; for now just send back an ack.
  • WebProcess/WebProcess.h:
    • added ProcessWillSuspend/ProcessReadyToSuspend
  • WebProcess/WebProcess.messages.in:
    • added ProcessWillSuspend/ProcessReadyToSuspend
1:02 PM Changeset in webkit [168311] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Implement beginScrubbing and endScrubbing for video fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=132520

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-05-05
Reviewed by Eric Carlson.

Source/WebCore:
Plumb through beginScrubbing and endScrubbing from AVKit down to HTMLMediaElement.
This keeps the playback state consistent while scrubbing and allows playback state
to return to the original state when scrubbing is complete.

  • WebCore.exp.in:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController beginScrubbing:]):
(-[WebAVPlayerController endScrubbing:]):

  • platform/ios/WebVideoFullscreenModel.h:
  • platform/ios/WebVideoFullscreenModelMediaElement.h:
  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::beginScrubbing):
(WebVideoFullscreenModelMediaElement::endScrubbing):

Source/WebKit2:
Plumb through beginScrubbing and endScrubbing.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::beginScrubbing):
(WebKit::WebVideoFullscreenManagerProxy::endScrubbing):

  • WebProcess/ios/WebVideoFullscreenManager.messages.in:
12:46 PM Changeset in webkit [168310] by Beth Dakin
  • 4 edits in trunk/LayoutTests

REGRESSION (r168244): compositing/visibility/visibility-image-layers-dynamic.html
failing.
https://bugs.webkit.org/show_bug.cgi?id=132551

Reviewed by Tim Horton.

This just needed a re-baseline after all. The bounds have increased in size
because the size of the layer tree dump effects the bounds! So now that we are
printing out anchor points, the bound increase by 15 pixels for every new anchor
point print-out.

Should not longer be marked failing.

Added comment to the test.

  • compositing/visibility/visibility-image-layers-dynamic.html:

Re-baseline.

  • platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
12:43 PM Changeset in webkit [168309] by commit-queue@webkit.org
  • 4 edits
    2 moves
    1 add in trunk/LayoutTests

[CSS Blending] Move fast/repaint tests to css3/compositing/repaint
https://bugs.webkit.org/show_bug.cgi?id=132567

Patch by Ion Rosca <Ion Rosca> on 2014-05-05
Reviewed by Mihnea Ovidenie.

  • css3/compositing/repaint/blend-mode-isolate-stacking-context-expected.txt: Renamed from LayoutTests/fast/repaint/blend-mode-isolate-stacking-context-expected.txt.
  • css3/compositing/repaint/blend-mode-isolate-stacking-context.html: Renamed from LayoutTests/fast/repaint/blend-mode-isolate-stacking-context.html.
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
11:59 AM Changeset in webkit [168308] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

More long hangs under IOSurfacePool::evict
https://bugs.webkit.org/show_bug.cgi?id=132576
<rdar://problem/16769469>

Reviewed by Simon Fraser.

  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::evict):
If the pool is too full, we should be evicting in-use surfaces
even if the size of the in-use surfaces has dropped below maximumInUseBytes,
otherwise we can get stuck in an infinite loop with 0 cached surfaces
and 1+ in-use surfaces.

11:50 AM Changeset in webkit [168307] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r167672 - Check (rather than assume) element is a RenderTableSection before using it
https://bugs.webkit.org/show_bug.cgi?id=121858

Reviewed by David Kilzer.

Source/WebCore:
Test: fast/table/table-insert-object-before-td-crash.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::addChild): Check that lastBox is a table section before
using the node as if it was one.

LayoutTests:

  • fast/table/table-insert-object-before-td-crash-expected.txt: Added.
  • fast/table/table-insert-object-before-td-crash.html: Added.
11:49 AM Changeset in webkit [168306] by stavila@adobe.com
  • 19 edits
    2 deletes in trunk

[CSS Regions] Remove regionLayoutUpdate event
https://bugs.webkit.org/show_bug.cgi?id=132564

Reviewed by Simon Fraser.

Source/WebCore:
The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events:
regionOversetChange and regionFragmentChange.

No new tests needed, this patch removes a feature.

  • dom/EventNames.h:
  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent): Deleted.

  • dom/WebKitNamedFlow.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::resetNonPersistentData):
(WebCore::InspectorCSSAgent::willRemoveNamedFlow):
(WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask): Deleted.
(WebCore::UpdateRegionLayoutTask::scheduleFor): Deleted.
(WebCore::UpdateRegionLayoutTask::unschedule): Deleted.
(WebCore::UpdateRegionLayoutTask::reset): Deleted.
(WebCore::UpdateRegionLayoutTask::timerFired): Deleted.
(WebCore::InspectorCSSAgent::didUpdateRegionLayout): Deleted.
(WebCore::InspectorCSSAgent::regionLayoutUpdated): Deleted.

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl): Deleted.

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didUpdateRegionLayout): Deleted.

  • inspector/protocol/CSS.json:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::updateOversetState):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::layout):
(WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEventIfNeeded): Deleted.
(WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired): Deleted.

  • rendering/RenderNamedFlowThread.h:

Source/WebInspectorUI:
The regionLayoutUpdate event was removed from the regions spec and was replaced by two other events:
regionOversetChange and regionFragmentChange.

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager.prototype.get regionLayoutUpdated): Deleted.

  • UserInterface/Models/ScriptTimelineRecord.js:
  • UserInterface/Protocol/CSSObserver.js:

(WebInspector.CSSObserver.prototype.regionLayoutUpdated): Deleted.

  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-7.0.json:

LayoutTests:
Removed test for regionLayoutUpdate event.

  • fast/regions/auto-size/autoheight-regionlayoutupdate-multipletimes-expected.txt: Removed.
  • fast/regions/auto-size/autoheight-regionlayoutupdate-multipletimes.html: Removed.
11:44 AM Changeset in webkit [168305] by Carlos Garcia Campos
  • 4 edits
    4 adds in releases/WebKitGTK/webkit-2.4

Merge r167569 - Crashes in HTMLFormElement::submit.
https://bugs.webkit.org/show_bug.cgi?id=131910
<rdar://problem/15661790>

Source/WebCore:
Based on a patch by Kent Tamura.

Reviewed by Anders Carlsson.

Tests: fast/forms/form-submission-crash-2.html

fast/forms/form-submission-crash.html

Code that executes arbitrary JS needs to protect objects that it uses afterwards.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::prepareForSubmission):
(WebCore::HTMLFormElement::submit):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::submitForm):

LayoutTests:
Reviewed by Anders Carlsson.

  • fast/forms/form-submission-crash-2-expected.txt: Added.
  • fast/forms/form-submission-crash-2.html: Added.
  • fast/forms/form-submission-crash-expected.txt: Added.
  • fast/forms/form-submission-crash.html: Added.
11:38 AM Changeset in webkit [168304] by Martin Robinson
  • 5 edits in trunk

[GTK][CMake] Unable to do make install
https://bugs.webkit.org/show_bug.cgi?id=130188

Reviewed by Carlos Garcia Campos.

.:
Only try to install the HTML documentation if the build is configured to generate it via
the new ENABLE_GTKDOC option. We cannot conditionally install something, so this allows us
to keep the HTML documentation directory as an installation source.

  • Source/PlatformGTK.cmake: The gtkdoc target now always builds HTML documentation, but

is only added to the default target when ENABLE_GTKDOC is turned on. gtkdoc-no-html is
never added to the default target, but will be triggered by build-webkit, so that
when ENABLE_GTKDOC is off and build-webkit isn't used, documentation isn't built at all.

  • Source/cmake/OptionsGTK.cmake: Add an ENABLE_GTKDOC option to the build.

Tools:

  • Scripts/webkitdirs.pm:

(buildCMakeGeneratedProject): Always build gtkdoc-no-html for WebKitGTK+. This
will give an early signal that a change has broken the documentation.

11:34 AM Changeset in webkit [168303] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4/Source

Merge r167548 - Make it easier to check if an integer sum would overflow
https://bugs.webkit.org/show_bug.cgi?id=131900

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • dfg/DFGOperations.cpp:
  • runtime/Operations.h:

(JSC::jsString):

Source/WTF:

  • wtf/CheckedArithmetic.h:

(WTF::checkedSum):
(WTF::sumOverflows):

11:31 AM Changeset in webkit [168302] by cabanier@adobe.com
  • 119 edits in trunk

Enhance IDL compiler so it supports unrestricted float and double
https://bugs.webkit.org/show_bug.cgi?id=132460

Reviewed by Dirk Schulze.

Source/WebCore:
Updated IDL compiler so it supports unrestricted types.
Also updated the IDL files so they use unrestricted float and
double.

Tests:

  • canvas/philip/tests/2d.gradient.linear.nonfinite.html:
  • canvas/philip/tests/2d.gradient.object.invalidoffset.html:
  • canvas/philip/tests/2d.gradient.radial.nonfinite.html:
  • canvas/philip/tests/2d.imageData.get.nonfinite.html:
  • canvas/philip/tests/2d.imageData.put.nonfinite.html:
  • canvas/philip/tests/2d.missingargs.html:
  • fast/canvas/canvas-getImageData-invalid-expected.txt:
  • fast/canvas/canvas-putImageData-expected.txt:
  • fast/canvas/canvas-putImageData.js:
  • Modules/battery/BatteryManager.idl:
  • Modules/gamepad/Gamepad.idl:
  • Modules/geolocation/Coordinates.idl:
  • Modules/mediasource/MediaSource.idl:
  • Modules/mediasource/SourceBuffer.idl:
  • Modules/mediasource/VideoPlaybackQuality.idl:
  • Modules/mediastream/MediaSourceStates.idl:
  • Modules/proximity/DeviceProximityEvent.idl:
  • Modules/speech/SpeechGrammar.idl:
  • Modules/speech/SpeechGrammarList.idl:
  • Modules/speech/SpeechRecognitionAlternative.idl:
  • Modules/speech/SpeechSynthesisEvent.idl:
  • Modules/speech/SpeechSynthesisUtterance.idl:
  • Modules/webaudio/AnalyserNode.idl:
  • Modules/webaudio/AudioBuffer.idl:
  • Modules/webaudio/AudioBufferSourceNode.idl:
  • Modules/webaudio/AudioContext.idl:
  • Modules/webaudio/AudioListener.idl:
  • Modules/webaudio/AudioParam.idl:
  • Modules/webaudio/AudioProcessingEvent.idl:
  • Modules/webaudio/OfflineAudioContext.idl:
  • Modules/webaudio/OscillatorNode.idl:
  • Modules/webaudio/PannerNode.idl:
  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorGObject.pm:

(GetGValueTypeName):
(GetGlibTypeName):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateParametersCheck):
(JSValueToNative):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GetObjCType):
(GenerateHeader):

  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/TestTypedefs.idl:
  • css/CSSPrimitiveValue.idl:
  • css/WebKitCSSMatrix.idl:
  • dom/ClientRect.idl:
  • dom/DeviceMotionEvent.idl:
  • dom/DeviceOrientationEvent.idl:
  • dom/Document.idl:
  • dom/RequestAnimationFrameCallback.idl:
  • dom/Touch.idl:
  • dom/TransitionEvent.idl:
  • dom/WebKitAnimationEvent.idl:
  • dom/WebKitTransitionEvent.idl:
  • dom/WheelEvent.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLMeterElement.idl:
  • html/HTMLProgressElement.idl:
  • html/MediaController.idl:
  • html/TextMetrics.idl:
  • html/TimeRanges.idl:
  • html/canvas/CanvasRenderingContext2D.idl:
  • html/canvas/WebGLRenderingContext.idl:
  • html/track/DataCue.idl:
  • html/track/TextTrackCue.idl:
  • html/track/VTTCue.idl:
  • html/track/VTTRegion.idl:
  • inspector/InspectorFrontendHost.idl:
  • inspector/ScriptProfile.idl:
  • inspector/ScriptProfileNode.idl:
  • page/DOMWindow.idl:
  • page/Performance.idl:
  • page/PerformanceEntry.idl:
  • page/PerformanceResourceTiming.idl:
  • page/SpeechInputResult.idl:
  • page/WebKitPoint.idl:
  • svg/SVGAngle.idl:
  • svg/SVGAnimatedNumber.idl:
  • svg/SVGAnimationElement.idl:
  • svg/SVGFEDropShadowElement.idl:
  • svg/SVGFEGaussianBlurElement.idl:
  • svg/SVGFEMorphologyElement.idl:
  • svg/SVGGlyphRefElement.idl:
  • svg/SVGLength.idl:
  • svg/SVGMatrix.idl:
  • svg/SVGNumber.idl:
  • svg/SVGPathElement.idl:
  • svg/SVGPathSegArcAbs.idl:
  • svg/SVGPathSegArcRel.idl:
  • svg/SVGPathSegCurvetoCubicAbs.idl:
  • svg/SVGPathSegCurvetoCubicRel.idl:
  • svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
  • svg/SVGPathSegCurvetoCubicSmoothRel.idl:
  • svg/SVGPathSegCurvetoQuadraticAbs.idl:
  • svg/SVGPathSegCurvetoQuadraticRel.idl:
  • svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
  • svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
  • svg/SVGPathSegLinetoAbs.idl:
  • svg/SVGPathSegLinetoHorizontalAbs.idl:
  • svg/SVGPathSegLinetoHorizontalRel.idl:
  • svg/SVGPathSegLinetoRel.idl:
  • svg/SVGPathSegLinetoVerticalAbs.idl:
  • svg/SVGPathSegLinetoVerticalRel.idl:
  • svg/SVGPathSegMovetoAbs.idl:
  • svg/SVGPathSegMovetoRel.idl:
  • svg/SVGPoint.idl:
  • svg/SVGRect.idl:
  • svg/SVGSVGElement.idl:
  • svg/SVGTextContentElement.idl:
  • svg/SVGTransform.idl:
  • svg/SVGZoomEvent.idl:
  • testing/InternalSettings.idl:
  • testing/Internals.idl:
  • xml/XPathResult.idl:

LayoutTests:

  • canvas/philip/tests/2d.gradient.linear.nonfinite.html:
  • canvas/philip/tests/2d.gradient.object.invalidoffset.html:
  • canvas/philip/tests/2d.gradient.radial.nonfinite.html:
  • canvas/philip/tests/2d.imageData.get.nonfinite.html:
  • canvas/philip/tests/2d.imageData.put.nonfinite.html:
  • canvas/philip/tests/2d.missingargs-expected.txt:
  • canvas/philip/tests/2d.missingargs.html:
  • fast/canvas/canvas-getImageData-invalid-expected.txt:
  • fast/canvas/canvas-putImageData-expected.txt:
  • fast/canvas/canvas-putImageData.js:
  • fast/canvas/linearGradient-infinite-values-expected.txt:
  • fast/canvas/radialGradient-infinite-values-expected.txt:
  • fast/canvas/script-tests/canvas-getImageData-invalid.js:
  • fast/canvas/script-tests/linearGradient-infinite-values.js:
  • fast/canvas/script-tests/radialGradient-infinite-values.js:
  • platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
11:30 AM Changeset in webkit [168301] by timothy_horton@apple.com
  • 10 edits
    4 adds
    2 deletes in trunk/Source

Use a layer delegate instead of web_disableAllActions wherever possible
https://bugs.webkit.org/show_bug.cgi?id=132560
<rdar://problem/16459284>

Reviewed by Simon Fraser.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::commonInit):
If we own the platform layer, set its delegate to the action-disabling WebActionDisablingCALayerDelegate.
If we don't, its actual owner might want to control the delegate, so continue using web_disableAllActions.

  • platform/graphics/cocoa/WebActionDisablingCALayerDelegate.h: Added.
  • platform/graphics/cocoa/WebActionDisablingCALayerDelegate.mm: Added.

(+[WebActionDisablingCALayerDelegate shared]):
(-[WebActionDisablingCALayerDelegate actionForLayer:forKey:]):
Add a class that can act as the delegate of a CALayer, and disables all actions.

  • platform/graphics/cocoa/WebCoreCALayerExtras.h: Renamed from Source/WebCore/platform/graphics/mac/WebCoreCALayerExtras.h.
  • platform/graphics/cocoa/WebCoreCALayerExtras.mm: Renamed from Source/WebCore/platform/graphics/mac/WebCoreCALayerExtras.mm.

(-[CALayer web_disableAllActions]):
Move WebCoreCALayerExtras from mac/ to cocoa/.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _setAcceleratedCompositingModeRootLayer:]):

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
Make use of WebActionDisablingCALayerDelegate where possible.
Also, UIKit disables actions for us, so don't bother doing anything on iOS.

11:08 AM Changeset in webkit [168300] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Optimize PutByVal when subscript is a rope string.
<https://webkit.org/b/132572>

Add a JSString::toIdentifier() that is smarter when the JSString is
really a rope string. Use this in baseline & DFG's PutByVal to avoid
allocating new StringImpls that we immediately deduplicate anyway.

Reviewed by Antti Koivisto.

  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • jit/JITOperations.cpp:
  • runtime/JSString.h:

(JSC::JSString::toIdentifier):

11:04 AM Changeset in webkit [168299] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Merge r167544 - Address some feedback on https://bugs.webkit.org/show_bug.cgi?id=130684.

  • dfg/DFGOperations.cpp:
  • runtime/JSString.h:

(JSC::JSRopeString::RopeBuilder::append):

10:50 AM Changeset in webkit [168298] by psolanki@apple.com
  • 2 edits in trunk/Tools

Update framework locations in package-root
https://bugs.webkit.org/show_bug.cgi?id=132571

Reviewed by Simon Fraser.

  • Scripts/package-root:
10:47 AM Changeset in webkit [168297] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r167524 - Harden RenderInline::inlineElementContinuation()

<https://bugs.webkit.org/show_bug.cgi?id=131858>

Reviewed by Sam Weinig.

No new tests, as there are no known cases of this happening.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::inlineElementContinuation):
Return nullptr if the continuation is neither a RenderInline nor a
RenderBlock.

10:42 AM Changeset in webkit [168296] by Carlos Garcia Campos
  • 3 edits
    4 adds in releases/WebKitGTK/webkit-2.4

Merge r167480 - Source/WebCore: origin spoofing possible (HTTP Origin, postMessage event.origin) due to inappropriate URL escape sequence decoding
https://bugs.webkit.org/show_bug.cgi?id=131837
rdar://problem/15211936

Reviewed by Anders Carlsson and Dave Hyatt.

Tests: fast/dom/DOMURL/parsing.html

fast/dom/HTMLAnchorElement/anchor-element-href-parsing.html

  • platform/URL.cpp:

(WebCore::URL::host): Removed unnecessary call to decodeURLEscapeSequences, which caused
problems and was not needed.

LayoutTests: hostname extraction from a URL should not decode percent-escape sequences
https://bugs.webkit.org/show_bug.cgi?id=131837
rdar://problem/15211936

Reviewed by Anders Carlsson and Dave Hyatt.

  • fast/dom/DOMURL/parsing-expected.txt: Added.
  • fast/dom/DOMURL/parsing.html: Added.
  • fast/dom/HTMLAnchorElement/anchor-element-href-parsing-expected.txt: Added.
  • fast/dom/HTMLAnchorElement/anchor-element-href-parsing.html: Added.
10:41 AM Changeset in webkit [168295] by Carlos Garcia Campos
  • 10 edits
    4 adds in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Merge r167336 - compileMakeRope does not emit necessary bounds checks
https://bugs.webkit.org/show_bug.cgi?id=130684
<rdar://problem/16398388>

Reviewed by Oliver Hunt.

Add string length bounds checks in a bunch of places. We should never allow a string
to have a length greater than 231-1 because it's not clear that the language has
semantics for it and because there is code that assumes that this cannot happen.

Also add a bunch of tests to that effect to cover the various ways in which this was
previously allowed to happen.

  • dfg/DFGOperations.cpp:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileMakeRope):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileMakeRope):

  • runtime/JSString.cpp:

(JSC::JSRopeString::RopeBuilder::expand):

  • runtime/JSString.h:

(JSC::JSString::create):
(JSC::JSRopeString::RopeBuilder::append):
(JSC::JSRopeString::RopeBuilder::release):
(JSC::JSRopeString::append):

  • runtime/Operations.h:

(JSC::jsString):
(JSC::jsStringFromRegisterArray):
(JSC::jsStringFromArguments):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):

  • tests/stress/make-large-string-jit-strcat.js: Added.

(foo):

  • tests/stress/make-large-string-jit.js: Added.

(foo):

  • tests/stress/make-large-string-strcat.js: Added.
  • tests/stress/make-large-string.js: Added.
10:33 AM Changeset in webkit [168294] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.76-branch/Source

Versioning.

10:24 AM Changeset in webkit [168293] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.76.2

New Tag.

10:23 AM Changeset in webkit [168292] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-537.76.2

Remove this tag, as it was created from another tag.

10:17 AM Changeset in webkit [168291] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.76.2

New Tag.

9:49 AM Changeset in webkit [168290] by mhock@apple.com
  • 17 edits in trunk/Source

Session-aware plugin autostart data
https://bugs.webkit.org/show_bug.cgi?id=131758
<rdar://problem/15906540>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::userDidClickSnapshot):

  • page/PlugInClient.h:

Source/WebKit2:

  • Shared/WebProcessCreationParameters.cpp:
  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Plugins/PlugInAutoStartProvider.cpp:

(WebKit::PlugInAutoStartProvider::PlugInAutoStartProvider):
(WebKit::PlugInAutoStartProvider::addAutoStartOriginHash):
(WebKit::PlugInAutoStartProvider::autoStartOriginHashesCopy):
(WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest):
(WebKit::PlugInAutoStartProvider::setAutoStartOriginsArray):
(WebKit::PlugInAutoStartProvider::didReceiveUserInteraction):

  • UIProcess/Plugins/PlugInAutoStartProvider.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::addPlugInAutoStartOriginHash):
(WebKit::WebContext::plugInDidReceiveUserInteraction):

  • UIProcess/WebContext.h:
  • UIProcess/WebContext.messages.in:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginDidReceiveUserInteraction):

  • WebProcess/WebCoreSupport/WebPlugInClient.cpp:

(WebKit::WebPlugInClient::didStartFromOrigin):

  • WebProcess/WebCoreSupport/WebPlugInClient.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::isPlugInAutoStartOriginHash):
(WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):
(WebKit::WebProcess::plugInDidStartFromOrigin):
(WebKit::WebProcess::didAddPlugInAutoStartOriginHash):
(WebKit::WebProcess::resetPlugInAutoStartOriginDefaultHashes):
(WebKit::WebProcess::resetPlugInAutoStartOriginHashes):
(WebKit::WebProcess::plugInDidReceiveUserInteraction):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
9:28 AM Changeset in webkit [168289] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

Another iOS build fix after r168260.

Removed an unnecessary 'using namespace WebCore'.

  • UIProcess/ios/WebMemoryPressureHandlerIOS.cpp:
9:14 AM Changeset in webkit [168288] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] Elements with overflow:auto are not painted inside regions when following a float
https://bugs.webkit.org/show_bug.cgi?id=131161

Reviewed by David Hyatt.

Source/WebCore:
When a float-avoiding element (such as overflow:auto) is flowed into a flow thread after a float, its
logical left is not set on its frameRect or its layer's topLeft, but is instead kept in its RenderBoxRegionInfo
structure. In some situation, this causes paint rejection to kick-in because intersecting the layer's rect
(which DOESN'T contain the logical left from the region info object) with the computed background rect
(which contains the logical left from the region info object) results in an empty rect.

Test: fast/regions/overflow-auto-after-float.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:
Added test for an overflow:auto element being flowed after a float.

  • fast/regions/overflow-auto-after-float-expected.html: Added.
  • fast/regions/overflow-auto-after-float.html: Added.
7:51 AM Changeset in webkit [168287] by aestes@apple.com
  • 2 edits in branches/safari-537.76-branch/Source/WebCore

Fix the Mountain Lion build.

Some versions of Clang on Mountain Lion do not set cplusplus to 201103L when compiling with -std=gnu++11,
which causes CF_ENUMs to be weakly-typed. Detect this case and export the correct symbols.

On Lion, CFURLComponentType is not defined using CF_ENUM, so it will always be a weakly-typed enum.

  • WebCore.exp.in:
7:47 AM Changeset in webkit [168286] by abucur@adobe.com
  • 4 edits
    2 adds in trunk

[CSSRegions] Slider displayed wrong in regions
https://bugs.webkit.org/show_bug.cgi?id=132243

Reviewed by Mihnea Ovidenie.

Source/WebCore:
In case a box didn't have a range, getRegionRangeForBox was searching for
the top-most unplittable ancestor. This is not correct in every case. It's
possible to have a box with range that has children without ranges (e.g. an
absolutely positioned inline box with shadow descendants).

I've modified getRegionRangeForBox to search for the first ancestor that
has a cached range and use that instead of looking for an unsplittable box.
The range of the box is the region at the top of the box, clamped by the
range of the ancestor. This will be correct all the time once all the layout
systems are region range aware and are able to cache it.

Test: fast/regions/positioned-slider-in-regions.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::hasRegionRangeForBox):
(WebCore::RenderFlowThread::getRegionRangeForBox):

  • rendering/RenderFlowThread.h:

LayoutTests:
Tests that the thumb of positioned slider inside regions is correctly painted.

  • fast/regions/positioned-slider-in-regions-expected.html: Added.
  • fast/regions/positioned-slider-in-regions.html: Added.
6:46 AM Changeset in webkit [168285] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166736 - Continuations casting issue.
https://bugs.webkit.org/show_bug.cgi?id=130057
<rdar://problem/16283406>

Reviewed by Simon Fraser.

Source/WebCore:

The code to update relative positioned anonymous block continuations should not
have assumed that all siblings were RenderBlocks. Make the code smarter and
make it bail when it hits something that isn't part of the block continuation
chain.

Added fast/block/continuation-crash.html

  • rendering/RenderInline.cpp:

(WebCore::updateStyleOfAnonymousBlockContinuations):

LayoutTests:

  • fast/block/continuation-crash-expected.txt: Added.
  • fast/block/continuation-crash.html: Added.
6:21 AM Changeset in webkit [168284] by Carlos Garcia Campos
  • 7 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r167295 - Assertion failure under FEImage::determineAbsolutePaintRect()

<https://bugs.webkit.org/show_bug.cgi?id=131660>
<rdar://problem/15669294>

Source/WebCore:
This patch merges Chromium r149536 (see
<https://chromiumcodereview.appspot.com/14701012>), which moves
m_absoluteTransform out of SVGFilter and into the base Filter class, so
that it isn't necessary to cast a Filter to SVGFilter to get the
absolute transform.

Reviewed by Geoffrey Garen.

Test: svg/filters/feImage-filter-assertion.html

  • platform/graphics/filters/Filter.h:

(WebCore::Filter::Filter):
Changed to take the absolute transform.
(WebCore::Filter::absoluteTransform):
Moved from SVGFilter.
(WebCore::Filter::mapAbsolutePointToLocalPoint):
Ditto.

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::FilterEffectRenderer):
Pass a default AffineTransform() to the Filter base class.

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::determineAbsolutePaintRect):
Use the Filter without casting it to SVGFilter.
(WebCore::FEImage::platformApplySoftware):
Ditto.

  • svg/graphics/filters/SVGFilter.cpp:

(WebCore::SVGFilter::SVGFilter):
Pass the transform to the base class, and remove initialization of a
removed member var.

  • svg/graphics/filters/SVGFilter.h:

Member var moved to Filter.h.

LayoutTests:
Reviewed by Geoffrey Garen.

  • svg/filters/feImage-filter-assertion-expected.txt: Added.
  • svg/filters/feImage-filter-assertion.html: Added.
6:19 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
(diff)
6:01 AM Changeset in webkit [168283] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore
Merge r167278 - Assertion failure !node
node->isElementNode() in

WebCore::RenderBlock::inlineElementContinuation

https://bugs.webkit.org/show_bug.cgi?id=108829
<rdar://problem/13666405>

I can't reproduce this assertion failure, but there seems to be an
invalid assumption in RenderBlock::inlineElementContinuation() that
anything with the "isInline()" bit set is a RenderInline.

No new test because the test case in the bug does not repro for me.

Reviewed by Brent Fulgham.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::inlineElementContinuation):
Dave Hyatt says that this function should only return RenderInline
objects (not non-RenderInline inline objects), so update the checks
from isInline() to isRenderInline() before casting with
toRenderInline().

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::inlineElementContinuation):
Ditto.

5:55 AM Changeset in webkit [168282] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r167167 - Assertion failure changing select element size during focus event
dispatch
<https://bugs.webkit.org/show_bug.cgi?id=131566>
<rdar://problem/16400735>

Reviewed by Andy Estes.

Source/WebCore:

Test: fast/forms/select-change-size-during-focus.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
Adopt the fix from Chromium r171216; check that the renderer is still
of the expected type, and return early if it is not.

LayoutTests:

  • fast/forms/select-change-size-during-focus-expected.txt: Added.
  • fast/forms/select-change-size-during-focus.html: Added.
5:40 AM Changeset in webkit [168281] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r167093 - Assertion failure in WebCore::FlexBoxIterator::next()
<https://bugs.webkit.org/show_bug.cgi?id=117176>
<rdar://problem/14054549>

Source/WebCore:

Code added in r115687 began removing anonymous wrappers when children
become inline. However, there are some objects, like
RenderDeprecatedFlexBox, whose children should always be blocks.

Reviewed by Tim Horton.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::canCollapseAnonymousBlockChild):
Made public.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary):
Return early if we can't collapse anonymous block children.

LayoutTests:

Reviewed by Tim Horton.

  • fast/flexbox/collapse-anonymous-wrappers-assertion-expected.txt: Added.
  • fast/flexbox/collapse-anonymous-wrappers-assertion.html: Added.
5:23 AM Changeset in webkit [168280] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4
Merge r167092 - Assertion failure, !node
node->isElementNode(), in

WebCore::RenderBlock::clone()
<https://bugs.webkit.org/show_bug.cgi?id=110489>
<rdar://problem/13666425>

Reviewed by Antti Koivisto.

Source/WebCore:

We're ending up in RenderBlock::splitBlocks() with |this| ==
|fromBlock|. We then try to climb the ancestor block chain from
this->parent() to |fromBlock|, but this->parent() is already above
|fromBlock|, so we end up climbing up to the RenderView and trying to
clone it, causing the assertion failure.

Adopt Chromium's mitigation for this from
<https://codereview.chromium.org/13852041>. This is not intended as a
fix for the underlying issue.

Also, fix another issue that occurs with this fuzzed test case that's
not handled by the Chromium fix.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::splitBlocks):
Ensure while we're in the loop that |curr| is a descendant of
|fromBlock|. From the Chromium patch:

We need to check in every iteration of the loop because
moveChildrenTo could have moved |curr|. This is a mitigation and
not really a fix against a class of tree craziness.

Finally, before moving children from |fromBlock| to |toBlock|, ensure
that the children are children of |fromBlock|. If we never entered the
loop, they will be siblings of |fromBlock|, not children.

LayoutTests:

  • fast/multicol/fuzzed-test-case-expected.txt: Added.
  • fast/multicol/fuzzed-test-case.html: Added.
4:32 AM Changeset in webkit [168279] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r167447 - Tidy up isIsolatedInline() and highestContainingIsolateWithinRoot()
<http://webkit.org/b/131117>

Reviewed by Daniel Bates.

Based on review feedback for r166650.

  • rendering/InlineIterator.h:

(WebCore::isIsolatedInline):

  • Switch argument to a reference since it is never called with a nullptr.

(WebCore::highestContainingIsolateWithinRoot):

  • Switch first argument to a reference since it's never a nullptr.
  • Use nullptr for pointer initialization.
  • Switch while() loop to for() loop. Pass reference to isIsolatedInline().

(WebCore::numberOfIsolateAncestors):

  • Switch while() loop to for() loop. Pass reference to isIsolatedInline().
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRunsForSegment):

  • Rename startObj to startObject.
  • No longer need to pass the address of startObject here.
4:23 AM Changeset in webkit [168278] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166650 - Use outermost containing isolate when constructing bidi runs
<http://webkit.org/b/131107>
<rdar://problem/15690021>

Reviewed by Darin Adler.

Merged from Blink (patch by jww@chromium.org):
https://src.chromium.org/viewvc/blink?revision=157268&view=revision
http://crbug.com/279277

Update containingIsolate to go back all the way to top
isolate from current root, rather than stopping at the first
isolate it finds. This works because the current root is
always updated with each isolate run.

Source/WebCore:

Tests: fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html

fast/text/international/unicode-bidi-isolate-nested-with-removes.html

  • rendering/InlineIterator.h:

(WebCore::highestContainingIsolateWithinRoot):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRunsForSegment):

LayoutTests:

  • fast/text/international/unicode-bidi-isolate-nested-with-removes-expected.txt: Updated.
  • fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent-expected.txt: Added.
  • fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html: Added.
  • fast/text/international/unicode-bidi-isolate-nested-with-removes.html: Updated.
4:20 AM Changeset in webkit [168277] by Carlos Garcia Campos
  • 1 edit
    2 adds in releases/WebKitGTK/webkit-2.4/LayoutTests

Merge r166645 - Add LayoutTest for crash with bidi isolates

Merged from Blink (patch by jww@chromium.org):
https://src.chromium.org/viewvc/blink?revision=156580&view=revision
http://crbug.com/265838

See Bug 120504: Fix nested unicode-bidi: isolate
<https://bugs.webkit.org/show_bug.cgi?id=120504>
<http://trac.webkit.org/changeset/155554>

  • fast/text/international/unicode-bidi-isolate-nested-with-removes-expected.txt: Added.
  • fast/text/international/unicode-bidi-isolate-nested-with-removes.html: Added.
3:58 AM Changeset in webkit [168276] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS build.

  • UIProcess/API/Cocoa/WKWebView.mm:
3:54 AM Changeset in webkit [168275] by calvaris@igalia.com
  • 4 edits in trunk/LayoutTests

Unreviewed. New GTK baseline for media/media-controls-clone.html.

  • platform/gtk/TestExpectations: Removed from the expectations.
  • platform/gtk/media/media-controls-clone-expected.png:
  • platform/gtk/media/media-controls-clone-expected.txt: New

baseline.

3:30 AM Changeset in webkit [168274] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166601 - RenderQuote must destroy remaining text renderer before first letter renderer
https://bugs.webkit.org/show_bug.cgi?id=78023
<rdar://problem/10830009>

Reviewed by Brent Fulgham.

Merged from Blink (patch by Abhishek Arya):
https://src.chromium.org/viewvc/blink?view=rev&revision=151270

Source/WebCore:

Following the fix for <https://bugs.webkit.org/show_bug.cgi?id=114586>, a
RenderQuote may have child render objects for the first letter of its text
and everything following the first letter so as to support the CSS first-
letter property. The latter renderer is responsible for destroying the former
on destruction. It's sufficient to reverse the destruction of the children of
RenderQuote to ensure that we destroy the remaining text renderer before we
destroy the first letter renderer.

Test: fast/css-generated-content/quote-first-letter-crash.html

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::updateText):

LayoutTests:

  • fast/css-generated-content/quote-first-letter-crash-expected.txt: Added.
  • fast/css-generated-content/quote-first-letter-crash.html: Added.
3:27 AM Changeset in webkit [168273] by Carlos Garcia Campos
  • 4 edits
    18 adds in releases/WebKitGTK/webkit-2.4

Merge r166600 - Do not allow HTTP refresh headers to refresh to javascript: URLs
<http://webkit.org/b/119051>
<rdar://problem/14536453>

Reviewed by Alexey Proskuryakov.

Merged from Blink (patch by tsepez@chromium.org):
https://src.chromium.org/viewvc/blink?revision=153912&view=revision
http://crbug.com/258151

This behaviour has been standard in IE since IE7. This makes us both
more compatible and less vulnerable to XSS.

Source/WebCore:

Tests: http/tests/security/no-javascript-location-percent-escaped.html

http/tests/security/no-javascript-location.html
http/tests/security/no-javascript-refresh-percent-escaped.php
http/tests/security/no-javascript-refresh-spaces.php
http/tests/security/no-javascript-refresh-static-percent-escaped.html
http/tests/security/no-javascript-refresh-static-spaces.html
http/tests/security/no-javascript-refresh-static.html
http/tests/security/no-javascript-refresh.php

  • dom/Document.cpp:

(WebCore::Document::processHttpEquiv):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::receivedFirstData):

  • Do not fire meta http refresh for a javascript: URL protocol.

LayoutTests:

  • http/tests/security/no-javascript-refresh-expected.txt: Added.
  • http/tests/security/no-javascript-refresh-static-expected.txt: Added.
  • http/tests/security/no-javascript-refresh-static.html: Added.
  • http/tests/security/no-javascript-refresh.php: Added.
  • Original Blink layout tests with typos fixed and 'PASS:' text added.
  • http/tests/security/no-javascript-location.html: Added.
  • http/tests/security/no-javascript-location-expected.txt: Added.
  • http/tests/security/resources/no-javascript-location.php: Copied from LayoutTests/http/tests/security/no-javascript-refresh.php.
  • http/tests/security/no-javascript-location-percent-escaped.html: Added.
  • http/tests/security/no-javascript-location-percent-escaped-expected.txt: Added.
  • http/tests/security/resources/no-javascript-location-percent-escaped.php: Added.
  • Add tests using a javascript: URL in a Location: header.
  • http/tests/security/no-javascript-refresh-percent-escaped.php: Copied from LayoutTests/http/tests/security/no-javascript-refresh.php.
  • http/tests/security/no-javascript-refresh-percent-escaped-expected.txt: Added.
  • http/tests/security/no-javascript-refresh-spaces.php: Copied from LayoutTests/http/tests/security/no-javascript-refresh.php.
  • http/tests/security/no-javascript-refresh-spaces-expected.txt: Added.
  • Add tests using a percent-escaped javascript: URL and a javascript: URL with leading spaces in a Refresh: header from a web server.
  • http/tests/security/no-javascript-refresh-static-percent-escaped.html: Added.
  • http/tests/security/no-javascript-refresh-static-percent-escaped-expected.txt: Added.
  • http/tests/security/no-javascript-refresh-static-spaces.html: Added.
  • http/tests/security/no-javascript-refresh-static-spaces-expected.txt: Added.
  • Add tests using a percent-escaped javascript: URL and a javascript: URL with leading spaces in a meta http-equiv tag.
3:09 AM Changeset in webkit [168272] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166457 - Preserve selection end positions in directionOfSelection
<http://webkit.org/b/104813>
<rdar://problem/13666417>

Reviewed by Brent Fulgham.

Merged from Blink (patch by kenrb@chromium.org):
https://src.chromium.org/viewvc/blink?revision=150621&view=revision
http://crbug.com/164263

VisibleSelection::visibleStart() and VisibleSelection::visibleEnd()
can both cause layouts, which has the potential to invalidate any
rendertree-based objects. This was causing a problem in
FrameSelection::directionOfSelection(), where a reference to a
lineBox was being held across a call to visibleEnd().

This patch ensures that the any layout is completed before linebox
references are retrieved.

Source/WebCore:

Test: editing/selection/layout-during-move-selection-crash.html

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::directionOfSelection):

LayoutTests:

  • editing/selection/layout-during-move-selection-crash-expected.txt: Added.
  • editing/selection/layout-during-move-selection-crash.html: Added.
3:05 AM Changeset in webkit [168271] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166428 - In some situations, partial layouts of floating elements produce incorrect results.
https://bugs.webkit.org/show_bug.cgi?id=122668

Reviewed by David Hyatt.

Source/WebCore:

When performing partial layout of float elements and checking if other float
elements are encountered, incorrect results were obtained by not checking
the size of the existing floats vector.

Test: fast/block/float/floats-in-clean-line-crash.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::checkFloatsInCleanLine):

LayoutTests:

Added test to ensure an assertion is not reached when performing a partial
layout of float elements in certain situations.

  • fast/block/float/floats-in-clean-line-crash-expected.txt: Added.
  • fast/block/float/floats-in-clean-line-crash.html: Added.
3:01 AM Changeset in webkit [168270] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166420 - Clear SVGInlineTextBox fragments when the text changes.
https://bugs.webkit.org/show_bug.cgi?id=130879

Reviewed by Darin Adler.

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

Source/WebCore:

This patch modifies SVGInlineTextBox::dirtyLineBoxes to clear all
following text boxes when invoked. Typically this method is called
when the underlying text string changes, and that change needs to
be propagated to all the boxes that use the text beyond the point
where the text is first modified.

Also cleans up final function keywords for SVGRootInlineBox.

Test: svg/custom/unicode-in-tspan-multi-svg-crash.html

  • rendering/InlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function

(WebCore::InlineTextBox::dirtyOwnLineBoxes): Calls dirtyLineBoxes()

  • rendering/svg/SVGInlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function

(WebCore::SVGInlineTextBox::dirtyOwnLineBoxes):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::dirtyOwnLineBoxes): Non-recursive part of dirtyLineBoxes()
(WebCore::SVGInlineTextBox::dirtyLineBoxes): Calls dirtyOwnLineBoxes() in a loop

  • rendering/svg/SVGRootInlineBox.h:

LayoutTests:

When failing, this test will render garbage characters or crash.

  • svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt: Added.
  • svg/custom/unicode-in-tspan-multi-svg-crash.html: Added.
2:58 AM Changeset in webkit [168269] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r163282 - Minor SVGRootInlineBox cleanup.
<https://webkit.org/b/128094>

Remove two virtual functions and sprinkle some missing overrides.

Reviewed by Anders Carlsson.

  • rendering/svg/SVGRootInlineBox.h:
2:55 AM EFLWebKitTests edited by tanay.c@samsung.com
Spelling correction (diff)
2:43 AM Changeset in webkit [168268] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r165053 - SVGPropertyTearOffs should detachChildren before deleting its value.
<http://webkit.org/b/129618>
<rdar://problem/15661617>

Reviewed by Maciej Stachowiak.

Merged from Blink (patch by kouhei@chromium.org):
https://src.chromium.org/viewvc/blink?revision=158563&view=revision
http://crbug.com/296276

Test: svg/transforms/svg-matrix-tearoff-crash.html

NOTE: The test does not reproduce a crash on WebKit using
JavaScriptCore.

  • svg/properties/SVGPropertyTearOff.h:

(WebCore::SVGPropertyTearOff::setValue):
(WebCore::SVGPropertyTearOff::~SVGPropertyTearOff):

  • Call detachChildren() if m_value is a copy. The original Blink patch did not modify the destructor code path, although that seems obvious via code inspection.
2:31 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
2:18 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
(diff)
1:19 AM Changeset in webkit [168267] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove two now-incorrect assertions after r168256.

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeSlowCase8):
(JSC::JSRopeString::resolveRopeSlowCase):

1:18 AM Changeset in webkit [168266] by Carlos Garcia Campos
  • 8 edits
    1 move
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r164917 - Fix lifetime handling of SVGPropertyTearOffs
<http://webkit.org/b/129211>
<rdar://problem/15696025>

Reviewed by Maciej Stachowiak.

Merged from Blink (patch by Ojan Vafai):
https://src.chromium.org/viewvc/blink?revision=157801&view=revision
http://crbug.com/288771

-Replace SVGStaticPropertyWithParentTearOff with SVGMatrixTearOff
since it's only used in that one place. This means we can get rid
of the templatizing and the method pointer.
-Change SVGPropertyTearOff to keep track of it's child tearoffs
and call detachWrapper on its child tearoffs when it's destroyed
or when it's wrapper is detached.
-Have SVGPropertyTearOff hold WeakPtrs to the child tearoffs
to avoid having a cycle.

Source/WebCore:

Test: svg/transforms/svg-matrix-tearoff-crash.html

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGeneratorJS.pm:

(NativeToJSValue):

  • svg/properties/SVGMatrixTearOff.h: Renamed from Source/WebCore/svg/properties/SVGStaticPropertyWithParentTearOff.h.

(WebCore::SVGMatrixTearOff::create):
(WebCore::SVGMatrixTearOff::commitChange):
(WebCore::SVGMatrixTearOff::SVGMatrixTearOff):

  • svg/properties/SVGPropertyTearOff.h:

(WebCore::SVGPropertyTearOff::addChild):
(WebCore::SVGPropertyTearOff::detachChildren):

LayoutTests:

  • svg/transforms/svg-matrix-tearoff-crash-expected.txt: Added.
  • svg/transforms/svg-matrix-tearoff-crash.html: Added.
1:08 AM Changeset in webkit [168265] by ryuan.choi@samsung.com
  • 12 edits in trunk

[EFL][WK2] Refactor favicon database APIs
https://bugs.webkit.org/show_bug.cgi?id=132519

Reviewed by Gyuyoung Kim.

Source/WebKit2:
ewebkit2 has two options to get favicon.

The first option is ewk_view_favicon_get with "favicon,changed" signal.
It's simple to use but it always adds the callback to EwkView although applications does not use favicon.

The other option is ewk_favicon_database_icon_get with ewk_favicon_database_icon_change_callback_add API.
But the callback doesn't have information about Ewk_Favicon_Database to call ewk_favicon_database_icon_get.

This patch removed ewk_view_favicon_get and "favicon,changed" signal.
In addition, improved ewk_favicon_database_icon_change_callback.

  • UIProcess/API/efl/EwkView.cpp: Remove ewk_favicon_database related code.

(EwkView::EwkView):
(EwkView::~EwkView):
(EwkView::informURLChange):
(EwkView::handleFaviconChanged):
(EwkView::createFavicon): Deleted.

  • UIProcess/API/efl/EwkViewCallbacks.h:
  • UIProcess/API/efl/ewk_favicon_database.cpp:

(EwkFaviconDatabase::iconDataReadyForPageURL):
(EwkFaviconDatabase::didChangeIconForPageURL): Deleted. dead code.

  • UIProcess/API/efl/ewk_favicon_database.h:

Refactor Ewk_Favicon_Database_Icon_Change_Cb and improve doxygen.

  • UIProcess/API/efl/ewk_favicon_database_private.h:
  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_favicon_get): Deleted.

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:

(EWK2FaviconDatabaseTest::requestFaviconData):
(TEST_F):

Tools:

  • MiniBrowser/efl/main.c: Use ewk_favicon_database_icon_get instead of ewk_view_favicon_get.

(update_view_favicon):
(on_icon_changed_cb):
(window_free):
(on_url_changed):
(window_create):
(on_view_favicon_changed): Deleted.

1:01 AM Changeset in webkit [168264] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166236 - Hold a reference to firstSuccessfulSubmitButton in HTMLFormElement::submit
<http://webkit.org/b/130713>
<rdar://problem/15661876>

Reviewed by Darin Adler.

Merged from Blink (patch by Ian Beer):
http://crbug.com/303657
https://src.chromium.org/viewvc/blink?view=rev&revision=158938

Source/WebCore:

Test: fast/forms/form-submission-crash-successful-submit-button.html

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submit):

LayoutTests:

  • fast/forms/form-submission-crash-successful-submit-button-expected.txt: Added.
  • fast/forms/form-submission-crash-successful-submit-button.html: Added.
1:01 AM Changeset in webkit [168263] by abucur@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] ASSERT when hovering over region
https://bugs.webkit.org/show_bug.cgi?id=128809

Reviewed by Mihnea Ovidenie.

Source/WebCore:
There's no point in hit-testing a box for a region if it's not contained inside
that region.

Test: fast/regions/hit-test-box-non-containing-region.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::nodeAtPoint):

LayoutTests:
Add a test verifying we're not trying to hit-test a box inside a region
where it's not contained.

  • fast/regions/hit-test-box-non-containing-region-expected.txt: Added.
  • fast/regions/hit-test-box-non-containing-region.html: Added.
12:53 AM Changeset in webkit [168262] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r166049 - HTMLFrameOwnerElement should obey the SubframeLoadingDisabler when creating subframes
<rdar://problem/15675780>

Merge Blink r156744 by Adam Klein.

Source/WebCore:

Test: fast/frames/set-iframe-src-in-pagehide-crash.html

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadSubframe):

LayoutTests:

  • fast/frames/set-iframe-src-in-pagehide-crash-expected.txt: Added.
  • fast/frames/set-iframe-src-in-pagehide-crash.html: Added.
12:46 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:45 AM Changeset in webkit [168261] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.4/Source/JavaScriptCore

Unreviewed. Revert r159826 - "Finally fix some obvious Bartlett bugs"

This reverts r159826.

12:37 AM Changeset in webkit [168260] by timothy_horton@apple.com
  • 20 edits
    2 adds in trunk/Source/WebKit2

[iOS WebKit2] Swipe snapshots should be taken asynchronously
https://bugs.webkit.org/show_bug.cgi?id=132417
<rdar://problem/16535921>

Reviewed by Anders Carlsson.

Reorganize takeViewSnapshot to return a ViewSnaphot with the image
filled in (the other properties are filled in by ViewSnapshotStore).

Make ViewSnapshotStore use a fixed size instead of count for the snapshot cache.
iOS doesn't use purgeable snapshots, so make the cache much smaller there.

Use CARenderServerCaptureLayerWithTransform to achieve async snapshotting.

Rename WebKit::ViewSnapshotStore::Snapshot to WebKit::ViewSnapshot so that
it can be forward-declared in a bunch of places.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _takeViewSnapshot:]):
Use CARenderServerCaptureLayerWithTransform.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/mac/WKView.mm:

(createIOSurfaceFromImage):
(-[WKView _takeViewSnapshot:]):
Adjust to the new push model.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::takeViewSnapshot):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::takeViewSnapshot):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::takeViewSnapshot):
Plumbing.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Realize an object that can be used as the layer contents from the slot ID.

  • UIProcess/ios/WebMemoryPressureHandlerIOS.cpp:

(WebKit::WebMemoryPressureHandler::sharedHandler):
(WebKit::WebMemoryPressureHandler::WebMemoryPressureHandler):

  • UIProcess/WebMemoryPressureHandlerIOS.h:

Add a memory pressure handler for the UI process. This does not use
WebCore's platform independent memory pressure handler because that
mechanism only allows for one handler per process, and we don't want to
stomp on any handlers installed by WebKit1 in a process where the WebKits coexist.

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _takeViewSnapshot]): Deleted.
Get rid of an unnecessary bounce through WKContentView.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::retrieveSnapshotForItem):
(WebKit::ViewGestureController::endSwipeGesture):
Use the new name, ViewSnapshot.

  • UIProcess/mac/ViewSnapshotStore.h:

(WebKit::ViewSnapshot::ViewSnapshot):

  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshotStore::~ViewSnapshotStore):
(WebKit::ViewSnapshotStore::snapshottingContext):
Use a custom CAContext for snapshotting so that snapshots don't
disappear when the main context is destroyed on hibernation.

(WebKit::ViewSnapshotStore::removeSnapshotImage):
(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshotStore::getSnapshot):
(WebKit::ViewSnapshotStore::discardSnapshots):
(WebKit::ViewSnapshot::clearImage):
(WebKit::ViewSnapshot::hasImage):
(WebKit::createIOSurfaceFromImage): Deleted.
(WebKit::ViewSnapshotStore::Snapshot::clearImage): Deleted.
(WebKit::ViewSnapshotStore::Snapshot::hasImage): Deleted.
Cache by image size instead of counts.

  • WebKit2.xcodeproj/project.pbxproj:
12:23 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:09 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:08 AM Changeset in webkit [168259] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r167885 - [WK2][X11] NetscapePluginModule::scanPlugin() should write UTF-8 strings to stdout
https://bugs.webkit.org/show_bug.cgi?id=132245

Reviewed by Carlos Garcia Campos.

NetscapePluginModule::scanPlugin(), in the helper writeLine function, takes each character
of the given string and writes it out as a UChar, doing two fputc calls for each byte of the
16-bit type.

This fails badly with characters with integer value less than 256 as the most significant byte
of the UChar is written out as a null character. This effectively chops the output that's gathered
in the UIProcess and is parsed in PluginProcessProxy::scanPlugin().

To avoid all this, the UTF-8 encoding of the string is written out in the PluginProcess, and
String::fromUTF8() is called in the UIProcess to properly decode the received string.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::writeCharacter):
(WebKit::writeLine):
(WebKit::writeByte): Deleted.

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::PluginProcessProxy::scanPlugin):

Note: See TracTimeline for information about the timeline view.