Timeline



Nov 2, 2017:

11:20 PM Changeset in webkit [224388] by jonlee@apple.com
  • 68 edits in trunk/PerformanceTests

Add license for MotionMark
https://bugs.webkit.org/show_bug.cgi?id=179222

Reviewed by Ryosuke Niwa.

  • MotionMark/about.html:
  • MotionMark/developer.html:
  • MotionMark/index.html:
  • MotionMark/resources/debug-runner/graph.js:
  • MotionMark/resources/debug-runner/motionmark.css:
  • MotionMark/resources/debug-runner/motionmark.js:
  • MotionMark/resources/debug-runner/tests.js:
  • MotionMark/resources/extensions.js:
  • MotionMark/resources/statistics.js:
  • MotionMark/resources/strings.js:
  • MotionMark/tests/3d/resources/webgl.js:
  • MotionMark/tests/3d/webgl.html:
  • MotionMark/tests/bouncing-particles/bouncing-canvas-images.html:
  • MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html:
  • MotionMark/tests/bouncing-particles/bouncing-css-images.html:
  • MotionMark/tests/bouncing-particles/bouncing-css-shapes.html:
  • MotionMark/tests/bouncing-particles/bouncing-svg-images.html:
  • MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html:
  • MotionMark/tests/bouncing-particles/bouncing-tagged-images.html:
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-particles.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js:
  • MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js:
  • MotionMark/tests/dom/compositing-transforms.html:
  • MotionMark/tests/dom/focus.html:
  • MotionMark/tests/dom/leaves.html:
  • MotionMark/tests/dom/particles.html:
  • MotionMark/tests/dom/resources/compositing-transforms.js:
  • MotionMark/tests/dom/resources/dom-particles.js:
  • MotionMark/tests/dom/resources/focus.js:
  • MotionMark/tests/dom/resources/leaves.js:
  • MotionMark/tests/master/canvas-stage.html:
  • MotionMark/tests/master/focus.html:
  • MotionMark/tests/master/image-data.html:
  • MotionMark/tests/master/leaves.html:
  • MotionMark/tests/master/multiply.html:
  • MotionMark/tests/master/resources/canvas-stage.js:
  • MotionMark/tests/master/resources/canvas-tests.js:
  • MotionMark/tests/master/resources/focus.js:
  • MotionMark/tests/master/resources/image-data.js:
  • MotionMark/tests/master/resources/leaves.js:
  • MotionMark/tests/master/resources/multiply.js:
  • MotionMark/tests/master/resources/particles.js:
  • MotionMark/tests/master/resources/svg-particles.js:
  • MotionMark/tests/master/resources/text.js:
  • MotionMark/tests/master/svg-particles.html:
  • MotionMark/tests/master/text.html:
  • MotionMark/tests/resources/main.js:
  • MotionMark/tests/resources/math.js:
  • MotionMark/tests/resources/stage.css:
  • MotionMark/tests/simple/resources/simple-canvas-paths.js:
  • MotionMark/tests/simple/resources/simple-canvas.js:
  • MotionMark/tests/simple/resources/tiled-canvas-image.js:
  • MotionMark/tests/simple/simple-canvas-paths.html:
  • MotionMark/tests/simple/tiled-canvas-image.html:
  • MotionMark/tests/template/resources/template-canvas.js:
  • MotionMark/tests/template/resources/template-css.js:
  • MotionMark/tests/template/resources/template-svg.js:
  • MotionMark/tests/template/template-canvas.html:
  • MotionMark/tests/template/template-css.html:
  • MotionMark/tests/template/template-svg.html:
11:08 PM Changeset in webkit [224387] by mjs@apple.com
  • 11 edits in trunk/Source

Don't try to guess plugin MIME type from a file extension in a URL (no observable effect)
https://bugs.webkit.org/show_bug.cgi?id=178333

Reviewed by Darin Adler.

Source/WebCore:

No test cases because I could not find an observable behavior difference,
even after trying many different plugin loading scenarios.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): loadedMIMEType --> serviceType
(WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): ditto
(WebCore::HTMLPlugInImageElement::userDidClickSnapshot): ditto
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): ditto

  • html/HTMLPlugInImageElement.h:

(WebCore::HTMLPlugInImageElement::loadedMimeType const): Deleted. This was the one call site
for mimeTypeFromURL, and is otherwise just a wrapper for SerciceType()

  • platform/URL.cpp:

(WebCore::mimeTypeFromURL): Deleted. This was the only use of MIMETypeDatabase in URL.

  • platform/URL.h: Removed declaration for mimeTypeFromURL.
  • WebCore.order: Removed mimeTypeFromURL.

Source/WebKit:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginDidReceiveUserInteraction): loadedMIMEType --> serviceType

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn): ditto

Source/WebKitLegacy/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::objectContentType): Remove unnecessary call to mimeTypeFromURL

11:05 PM Changeset in webkit [224386] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Fix cancellation process implementation
https://bugs.webkit.org/show_bug.cgi?id=179199

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-11-02
Reviewed by Alex Christensen.

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::cancel):
(WebCore::CurlRequest::willSendData):
(WebCore::CurlRequest::didReceiveHeader):
(WebCore::CurlRequest::didReceiveData):
(WebCore::CurlRequest::completeDidReceiveResponse):
(WebCore::CurlRequest::pausedStatusChanged):

  • platform/network/curl/CurlRequest.h:

(WebCore::CurlRequest::isSyncRequest const):
(WebCore::CurlRequest::isCompletedOrCancelled const):
(WebCore::CurlRequest::needToInvokeDidCancelTransfer const):
(WebCore::CurlRequest::isSyncRequest): Deleted.

10:33 PM Changeset in webkit [224385] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.0-branch

Cherry-pick r224366. rdar://problem/35329722

10:33 PM Changeset in webkit [224384] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.0-branch

Cherry-pick r224349. rdar://problem/35329729

10:32 PM Changeset in webkit [224383] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.10-branch

Cherry-pick r224366. rdar://problem/35329721

10:31 PM Changeset in webkit [224382] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.10-branch

Cherry-pick r224349. rdar://problem/35329728

10:30 PM Changeset in webkit [224381] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.1-branch

Cherry-pick r224366. rdar://problem/35329720

10:30 PM Changeset in webkit [224380] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604.4.7.1-branch

Cherry-pick r224349. rdar://problem/35329727

9:36 PM Changeset in webkit [224379] by beidson@apple.com
  • 21 edits
    1 copy in trunk/Source

SW: Implement "Update Registration State" algorithm (unused for now)
https://bugs.webkit.org/show_bug.cgi?id=179186

Reviewed by Chris Dumez.

Source/WebCore:

No new tests (No behavior change yet).

This algorithm is very simple, and this patch plumbs it through.
But it's not useful to start using this algorithm without "Update Worker State" also.
So to keep this patch small, it's unused for now. Will be used in the next patch.

  • WebCore.xcodeproj/project.pbxproj:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):

  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::~ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::updateStateFromServer):

  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/ServiceWorkerTypes.h: Copied from Source/WebCore/workers/service/server/SWServerRegistration.cpp.
  • workers/service/server/SWClientConnection.cpp:

(WebCore::SWClientConnection::addServiceWorkerRegistration):
(WebCore::SWClientConnection::removeServiceWorkerRegistration):
(WebCore::SWClientConnection::updateRegistrationState):

  • workers/service/server/SWClientConnection.h:
  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::Connection::addServiceWorkerRegistrationInServer):
(WebCore::SWServer::Connection::removeServiceWorkerRegistrationInServer):
(WebCore::SWServer::addClientServiceWorkerRegistration):
(WebCore::SWServer::removeClientServiceWorkerRegistration):

  • workers/service/server/SWServer.h:

(WebCore::SWServer::getConnection):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::runRegisterJob):

  • workers/service/server/SWServerRegistration.cpp:

(WebCore::SWServerRegistration::SWServerRegistration):
(WebCore::SWServerRegistration::updateRegistrationState):
(WebCore::SWServerRegistration::addClientServiceWorkerRegistration):
(WebCore::SWServerRegistration::removeClientServiceWorkerRegistration):

  • workers/service/server/SWServerRegistration.h:

Source/WebKit:

  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/WebCoreArgumentCoders.h:
  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::updateRegistrationStateInClient):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer):
(WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer):

  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
8:48 PM Changeset in webkit [224378] by rniwa@webkit.org
  • 7 edits in trunk/Source/WebCore

Assert that updateStyle and updateLayout are only called when it's safe to dispatch events
https://bugs.webkit.org/show_bug.cgi?id=179157
<rdar://problem/35144778>

Reviewed by Zalan Bujtas.

Added assertions to Document::updateStyleIfNeeded and Document::updateLayout that these functions are
only called when NoEventDispatchAssertion::isEventAllowedInMainThread() is true with two exceptions:

  1. Inside SVGImage::draw which triggers a layout on a separate document.
  2. While doing a nested layout for a frame flattening.

No new tests since there should be no behavioral changes.

  • dom/ContainerNode.cpp:

(NoEventDispatchAssertion::DisableAssertionsInScope::s_existingCount): Deleted. This is now an instance
variable of DisableAssertionsInScope.
(ContainerNode::removeNodeWithScriptAssertion): Moved childrenChanged out of the scope since it could
invoke respondToChangedSelection via HTMLTextAreaElement::childrenChanged.

  • dom/Document.cpp:

(WebCore::Document::updateStyleIfNeeded): Added the assertion. Allow updateWidgetPositions() to call
this function but exit early when checking needsStyleRecalc().
(WebCore::Document::updateLayout): Added the assertion.

  • dom/NoEventDispatchAssertion.h:

(WebCore::NoEventDispatchAssertion::DisableAssertionsInScope::DisableAssertionsInScope): Made this class
store the original value of s_count as an instance variable to support re-entrancy.
(WebCore::NoEventDispatchAssertion::DisableAssertionsInScope::~DisableAssertionsInScope): Ditto.

  • page/LayoutContext.cpp:

(WebCore::LayoutContext::runOrScheduleAsynchronousTasks): Temporarily disable the assertion. This is safe
since SVGImage has its own document.

  • svg/SVGSVGElement.cpp:

(WebCore::checkIntersectionWithoutUpdatingLayout): Extracted out of SVGSVGElement::checkIntersection.
(WebCore::checkEnclosureWithoutUpdatingLayout): Extracted out of SVGSVGElement::checkEnclosure.
(WebCore::SVGSVGElement::getIntersectionList): Use checkIntersectionWithoutUpdatingLayout to avoid
calling updateLayoutIgnorePendingStylesheets while iterating over elements.
(WebCore::SVGSVGElement::getEnclosureList): Ditto.
(WebCore::SVGSVGElement::checkIntersection):
(WebCore::SVGSVGElement::checkEnclosure):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw): Temporarily disable the assertion. This is safe as SVGImage has its own page.

8:44 PM Changeset in webkit [224377] by jmarcell@apple.com
  • 5 edits
    1 add in branches/safari-604.4.7.0-branch

Cherry-pick r224302. rdar://problem/35296412

8:37 PM Changeset in webkit [224376] by jmarcell@apple.com
  • 5 edits
    1 add in branches/safari-604.4.7.10-branch

Cherry-pick r224302. rdar://problem/35323822

8:36 PM Changeset in webkit [224375] by jmarcell@apple.com
  • 5 edits
    1 add in branches/safari-604.4.7.1-branch

Cherry-pick r224302. rdar://problem/35296408

8:16 PM Changeset in webkit [224374] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix Windows debug build after r224371

  • platform/graphics/win/DIBPixelData.h:
7:54 PM Changeset in webkit [224373] by achristensen@apple.com
  • 45 edits in trunk/Source

Use CompletionHandlers for redirects
https://bugs.webkit.org/show_bug.cgi?id=179163

Reviewed by Tim Horton.

Source/WebCore:

Having functions sometimes have to remember to call client->continueWillSendRequest is fragile.
CompletionHandler asserts if it's not called once before destruction, and that's what we need here.
This will prevent future bugs, and make ResourceHandle look more like NetworkDataTask.

No change in behavior.

  • loader/NetscapePlugInStreamLoader.cpp:

(WebCore::NetscapePlugInStreamLoader::willSendRequest):

  • loader/NetscapePlugInStreamLoader.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::willSendRequestAsync):

  • loader/ResourceLoader.h:
  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::willSendRequestAsync):

  • loader/appcache/ApplicationCacheGroup.h:
  • platform/network/BlobResourceHandle.cpp:
  • platform/network/PingHandle.h:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h:
  • platform/network/SynchronousLoaderClient.cpp:

(WebCore::SynchronousLoaderClient::willSendRequestAsync):

  • platform/network/SynchronousLoaderClient.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueWillSendRequest): Deleted.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest): Deleted.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::willSendRequest):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueWillSendRequest): Deleted.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate continueWillSendRequest:]): Deleted.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::doRedirect):
(WebCore::ResourceHandle::continueWillSendRequest): Deleted.

Source/WebKit:

  • NetworkProcess/Downloads/BlobDownloadClient.cpp:

(WebKit::BlobDownloadClient::willSendRequestAsync):

  • NetworkProcess/Downloads/BlobDownloadClient.h:
  • NetworkProcess/NetworkDataTask.h:
  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::willSendRequestAsync):

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/NetworkLoadClient.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):

  • UIProcess/API/APIDownloadClient.h:

(API::DownloadClient::willSendRequest):

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetDownloadClient):

  • UIProcess/Cocoa/DownloadClient.h:
  • UIProcess/Cocoa/DownloadClient.mm:

(WebKit::DownloadClient::willSendRequest):

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::Stream::~Stream):
(WebKit::PluginView::Stream::continueLoad):
(WebKit::PluginView::Stream::willSendRequest):

  • WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:

Source/WebKitLegacy/mac:

  • Plugins/Hosted/HostedNetscapePluginStream.h:
  • Plugins/Hosted/HostedNetscapePluginStream.mm:

(WebKit::HostedNetscapePluginStream::willSendRequest):

  • Plugins/WebNetscapePluginStream.h:
  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::willSendRequest):

Source/WebKitLegacy/win:

  • Plugins/PluginStream.cpp:

(WebCore::PluginStream::willSendRequest):

  • Plugins/PluginStream.h:

(WebCore::PluginStreamClient::~PluginStreamClient):
(WebCore::PluginStreamClient::streamDidFinishLoading):
(WebCore::PluginStream::create):
(WebCore::PluginStream::setLoadManually):

7:50 PM Changeset in webkit [224372] by timothy_horton@apple.com
  • 2 edits in trunk

Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204

Unreviewed build fix.

  • Source/Makefile:

Take three. An empty SDKROOT should be like Mac (and build all the things).

7:33 PM Changeset in webkit [224371] by commit-queue@webkit.org
  • 150 edits in trunk

Add a FileSystem namespace to FileSystem.cpp
https://bugs.webkit.org/show_bug.cgi?id=179063

Patch by Christopher Reid <chris.reid@sony.com> on 2017-11-02
Reviewed by Darin Adler.

Source/WebCore:

No new tests, no change in behavior.

Adding a FileSystem namespace so its functions aren't global in WebCore.

  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:
  • Modules/entriesapi/DOMFileSystem.cpp:
  • Modules/entriesapi/FileSystemEntry.cpp:
  • Modules/indexeddb/IDBDatabaseIdentifier.cpp:
  • Modules/indexeddb/server/IDBServer.cpp:
  • Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
  • Modules/indexeddb/server/SQLiteIDBTransaction.cpp:
  • Modules/indexeddb/shared/InProcessIDBServer.cpp:
  • Modules/webdatabase/DatabaseTracker.cpp:
  • Modules/webdatabase/OriginLock.cpp:
  • Modules/webdatabase/OriginLock.h:
  • fileapi/File.cpp:
  • fileapi/FileCocoa.mm:
  • html/FileListCreator.cpp:
  • html/HTMLMediaElement.cpp:
  • loader/appcache/ApplicationCacheStorage.cpp:
  • page/Page.cpp:
  • page/SecurityOrigin.cpp:
  • page/SecurityOriginData.cpp:
  • platform/FileHandle.cpp:
  • platform/FileHandle.h:
  • platform/FileStream.cpp:
  • platform/FileStream.h:
  • platform/FileSystem.cpp: Added FileSystem namespace
  • platform/FileSystem.h: Added FileSystem namespace
  • platform/SharedBuffer.cpp:
  • platform/SharedBuffer.h:
  • platform/cf/FileSystemCF.cpp: Added FileSystem namespace
  • platform/cocoa/FileMonitorCocoa.mm:
  • platform/cocoa/FileSystemCocoa.mm: Added FileSystem namespace
  • platform/glib/FileMonitorGLib.cpp:
  • platform/glib/FileSystemGlib.cpp: Added FileSystem namespace
  • platform/glib/SharedBufferGlib.cpp:
  • platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/win/DIBPixelData.h:
  • platform/ios/QuickLook.mm:
  • platform/ios/WebItemProviderPasteboard.mm:
  • platform/mac/FileSystemMac.mm: Added FileSystem namespace
  • platform/network/BlobDataFileReference.cpp:
  • platform/network/BlobRegistryImpl.cpp:
  • platform/network/FormData.cpp:
  • platform/network/cf/FormDataStreamCFNet.cpp:
  • platform/network/cocoa/ResourceRequestCocoa.mm:
  • platform/network/curl/CurlCacheEntry.cpp:
  • platform/network/curl/CurlCacheEntry.h:
  • platform/network/curl/CurlCacheManager.cpp:
  • platform/network/curl/CurlDownload.cpp:
  • platform/network/curl/CurlRequest.cpp:
  • platform/network/curl/CurlRequest.h:
  • platform/network/curl/ResourceHandleCurl.cpp:
  • platform/network/mac/BlobDataFileReferenceMac.mm:
  • platform/network/soup/ResourceRequestSoup.cpp:
  • platform/network/soup/SoupNetworkSession.cpp:
  • platform/posix/FileSystemPOSIX.cpp: Added FileSystem namespace
  • platform/posix/SharedBufferPOSIX.cpp:
  • platform/sql/SQLiteFileSystem.cpp:
  • platform/text/hyphen/HyphenationLibHyphen.cpp:
  • platform/win/FileSystemWin.cpp: Added FileSystem namespace
  • rendering/RenderThemeGtk.cpp:
  • rendering/RenderThemeWin.cpp:

Source/WebKit:

  • NetworkProcess/Downloads/BlobDownloadClient.cpp:
  • NetworkProcess/Downloads/BlobDownloadClient.h:
  • NetworkProcess/NetworkDataTaskBlob.cpp:
  • NetworkProcess/NetworkDataTaskBlob.h:
  • NetworkProcess/NetworkProcess.cpp:
  • NetworkProcess/cache/CacheStorageEngine.cpp:
  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:
  • NetworkProcess/cache/NetworkCache.cpp:
  • NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
  • NetworkProcess/cache/NetworkCacheData.cpp:
  • NetworkProcess/cache/NetworkCacheFileSystem.cpp:
  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
  • NetworkProcess/cache/NetworkCacheStatistics.cpp:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:
  • NetworkProcess/capture/NetworkCaptureManager.cpp:
  • NetworkProcess/capture/NetworkCaptureManager.h:
  • NetworkProcess/capture/NetworkCaptureRecorder.cpp:
  • NetworkProcess/capture/NetworkCaptureResource.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:
  • NetworkProcess/soup/NetworkProcessSoup.cpp:
  • Shared/Plugins/Netscape/unix/NetscapePluginModuleUnix.cpp:
  • Shared/Plugins/unix/PluginSearchPath.cpp:
  • Shared/WebMemorySampler.cpp:
  • Shared/WebMemorySampler.h:
  • Shared/gtk/ProcessExecutablePathGtk.cpp:
  • Shared/ios/ChildProcessIOS.mm:
  • Shared/mac/ChildProcessMac.mm:
  • Shared/mac/SandboxExtensionMac.mm:
  • Shared/wpe/ProcessExecutablePathWPE.cpp:
  • StorageProcess/StorageProcess.cpp:
  • UIProcess/API/APIContentRuleListStore.cpp:
  • UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:
  • UIProcess/API/glib/IconDatabase.cpp:
  • UIProcess/API/glib/WebKitFaviconDatabase.cpp:
  • UIProcess/API/glib/WebKitFileChooserRequest.cpp:
  • UIProcess/API/glib/WebKitWebContext.cpp:
  • UIProcess/API/glib/WebKitWebsiteDataManager.cpp:
  • UIProcess/Automation/WebAutomationSession.cpp:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:
  • UIProcess/Cocoa/WebViewImpl.mm:
  • UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:
  • UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
  • UIProcess/ResourceLoadStatisticsPersistentStorage.cpp:
  • UIProcess/WebStorage/LocalStorageDatabase.cpp:
  • UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:
  • UIProcess/gtk/WebProcessPoolGtk.cpp:
  • UIProcess/mac/WebPageProxyMac.mm:
  • UIProcess/wpe/WebProcessPoolWPE.cpp:
  • WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp:
  • WebProcess/InjectedBundle/glib/InjectedBundleGlib.cpp:
  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
  • WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
  • WebProcess/Plugins/Netscape/NetscapePluginStream.h:
  • WebProcess/WebCoreSupport/SessionStateConversion.cpp:

Source/WebKitLegacy:

  • Storage/StorageAreaSync.cpp:
  • Storage/StorageSyncManager.cpp:
  • Storage/StorageTracker.cpp:

Source/WebKitLegacy/mac:

  • Misc/WebNSFileManagerExtras.mm:
  • Storage/WebDatabaseProvider.mm:

Source/WebKitLegacy/win:

  • Plugins/PluginDatabase.cpp:
  • Plugins/PluginPackage.cpp:
  • Plugins/PluginStream.cpp:
  • Plugins/PluginStream.h:
  • WebApplicationCache.cpp:
  • WebDatabaseManager.cpp:
  • WebDownloadCurl.cpp:
  • WebPreferences.cpp:
  • WebView.cpp:

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:
  • TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
  • TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
  • TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
  • TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
  • TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
6:53 PM Changeset in webkit [224370] by webkit@devinrousso.com
  • 19 edits
    2 adds in trunk

Web Inspector: Canvas Tab: show supported GL extensions for selected canvas
https://bugs.webkit.org/show_bug.cgi?id=179070
<rdar://problem/35278276>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/protocol/Canvas.json:

Add extensionEnabled event that is fired each time getExtension is called with a
different string on a WebGL context.

Source/WebCore:

Test: inspector/canvas/extensions.html

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getExtension):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
Rework common logic into a macro for readability and to simplify adding calls to
InspectorInstrumentation functions.

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::extensionIsEnabled):

  • inspector/InspectorCanvasAgent.h:
  • inspector/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::didEnableExtension):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didEnableExtension):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didEnableExtensionImpl):

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Protocol/CanvasObserver.js:

(WI.CanvasObserver.prototype.extensionEnabled):

  • UserInterface/Controllers/CanvasManager.js:

(WI.CanvasManager.prototype.extensionEnabled):

  • UserInterface/Models/Canvas.js:

(WI.Canvas.prototype.get extensions):
(WI.Canvas.prototype.enableExtension):
Maintain a Set of enabled extensions, and dispatch an event whenever an extension is enabled.

  • UserInterface/Views/CanvasDetailsSidebarPanel.css:

(.sidebar > .panel.details.canvas .details-section.canvas-extensions .content > ul):

  • UserInterface/Views/CanvasDetailsSidebarPanel.js:

(WI.CanvasDetailsSidebarPanel.prototype.set canvas):
(WI.CanvasDetailsSidebarPanel.prototype.initialLayout):
(WI.CanvasDetailsSidebarPanel.prototype.layout):
(WI.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
(WI.CanvasDetailsSidebarPanel.prototype._refreshExtensionsSection):
Drive-by: hide Attributes section when the canvas has no attributes.

LayoutTests:

  • inspector/canvas/extensions-expected.txt: Added.
  • inspector/canvas/extensions.html: Added.
6:36 PM Changeset in webkit [224369] by commit-queue@webkit.org
  • 3 edits
    7 adds in trunk

Do not check for CORS in case response is coming from a service worker
https://bugs.webkit.org/show_bug.cgi?id=179177

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-02
Reviewed by Chris Dumez.

Source/WebCore:

Test: http/tests/workers/service/cors-image-fetch.html

As per fetch spec, CORS check (https://fetch.spec.whatwg.org/#cors-check) is done
within HTTP fetch (https://fetch.spec.whatwg.org/#http-fetch).
It does not apply to fetches handled by service workers.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):

LayoutTests:

  • http/tests/workers/service/cors-image-fetch-expected.txt: Added.
  • http/tests/workers/service/cors-image-fetch.html: Added.
  • http/tests/workers/service/resources/cors-image-fetch-worker.js: Added.
  • http/tests/workers/service/resources/cors-image-fetch.js: Added.
  • http/tests/workers/service/resources/tainted-image-fetch.js: Added.
  • http/tests/workers/service/tainted-image-fetch-expected.txt: Added.
  • http/tests/workers/service/tainted-image-fetch.html: Added.
6:30 PM Changeset in webkit [224368] by Joseph Pecoraro
  • 29 edits
    1 copy
    3 adds in trunk/Source

Make ServiceWorker a Remote Inspector debuggable target
https://bugs.webkit.org/show_bug.cgi?id=179043
<rdar://problem/34126008>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/remote/RemoteControllableTarget.h:
  • inspector/remote/RemoteInspectionTarget.h:
  • inspector/remote/RemoteInspectorConstants.h:

Include a new ServiceWorker remote inspector target type.

  • inspector/remote/cocoa/RemoteInspectorCocoa.mm:

(Inspector::RemoteInspector::listingForInspectionTarget const):
Implement listing for a ServiceWorker to include a URL like a page.

  • inspector/remote/glib/RemoteInspectorGlib.cpp:

(Inspector::RemoteInspector::listingForInspectionTarget const):
Bail for ServiceWorker support in glib. They will need to implement their support.

Source/WebCore:

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

New files.

  • workers/service/context/ServiceWorkerDebuggable.h: Added.
  • workers/service/context/ServiceWorkerDebuggable.cpp: Added.

(WebCore::ServiceWorkerDebuggable::ServiceWorkerDebuggable):
(WebCore::ServiceWorkerDebuggable::connect):
(WebCore::ServiceWorkerDebuggable::disconnect):
(WebCore::ServiceWorkerDebuggable::dispatchMessageFromRemote):
ServiceWorker remote inspector target, exposes the script url to debuggers.
Pass the channel on to the inspector proxy to hook it up to the worker.

  • workers/service/context/ServiceWorkerInspectorProxy.h:
  • workers/service/context/ServiceWorkerInspectorProxy.cpp: Added.

(WebCore::ServiceWorkerInspectorProxy::ServiceWorkerInspectorProxy):
(WebCore::ServiceWorkerInspectorProxy::~ServiceWorkerInspectorProxy):
(WebCore::ServiceWorkerInspectorProxy::serviceWorkerTerminated):
Handle interesting events throughout a Service Worker life cycle.

(WebCore::ServiceWorkerInspectorProxy::connectToWorker):
(WebCore::ServiceWorkerInspectorProxy::disconnectFromWorker):
(WebCore::ServiceWorkerInspectorProxy::sendMessageToWorker):
(WebCore::ServiceWorkerInspectorProxy::sendMessageFromWorkerToFrontend):
Implement existing worker debugger hooks for connection setup and sending messages.
Inspector protocol messages come in on the MainThread and hop over to the
WorkerThread to be handled on the expected context thread. Likewise outgoing
messages hop back to be sent through the InspectorFrontend channel on MainThread.

  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::ServiceWorkerThread):

  • workers/service/context/ServiceWorkerThread.h:
  • workers/service/context/ServiceWorkerThreadProxy.h:
  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
(WebCore::ServiceWorkerThreadProxy::postMessageToDebugger):
Construct the new inspector proxy and debuggable registration.
Call lifecycle events and debugger hooks when appropriate.

Source/WebInspectorUI:

Customize the Web Inspector frontend for a ServiceWorker target.
Currently this just behaves like a JavaScript Context target because
we haven't yet added support for Networking capabilities.

  • UserInterface/Controllers/DebuggerManager.js:

(WI.DebuggerManager.prototype.get knownNonResourceScripts):
Drive-by fix a bug where lazily initializing the Resources / Debugger tabs
would show Console evaluation scripts. We should ignore them, like we
do in other places.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/AppController.js:

(WI.AppController):
(WI.AppController.debuggableTypeFromHost):

  • UserInterface/Controllers/AppControllerBase.js:
  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager.defaultTimelineTypes):
(WI.TimelineManager.availableTimelineTypes):

  • UserInterface/Models/TimelineRecording.js:

(WI.TimelineRecording.sourceCodeTimelinesSupported):

  • UserInterface/Protocol/MainTarget.js:

(WI.MainTarget.prototype.get displayName):

  • UserInterface/Test/TestAppController.js:
  • UserInterface/Views/DashboardContainerView.css:

(body:not(.web) .toolbar .dashboard-container):
(body.javascript .toolbar .dashboard-container): Deleted.

  • UserInterface/Views/DefaultDashboardView.css:

(body:not(.web) .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)):
(body.javascript .toolbar .dashboard.default > :matches(.resourcesCount, .resourcesSize, .time)): Deleted.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WI.ResourceSidebarPanel):
(WI.ResourceSidebarPanel.shouldPlaceResourcesAtTopLevel):
(WI.ResourceSidebarPanel.prototype.initialLayout):
(WI.ResourceSidebarPanel.prototype._addScript):
(WI.ResourceSidebarPanel.prototype._extraDomainsActivated):

  • UserInterface/Views/Toolbar.js:

Source/WebKit:

  • UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h:
  • UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm:

(debuggableTypeString):
Provide a way to start a Remote Web Inspector frontend for a ServiceWorker target type.

5:54 PM Changeset in webkit [224367] by webkit@devinrousso.com
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: Canvas: recording parameters that include an Image should show an InlineSwatch (2D canvas)
https://bugs.webkit.org/show_bug.cgi?id=177032

Reviewed by Brian Burg.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Test.html:
  • UserInterface/Base/ImageUtilities.js:

(WI.scratchCanvasContext2D):
Creates a static canvas that can be used for scratch purposes, such as converting ImageData
to an Image, or rendering the result of a CanvasGradient. The canvas is reset after each
call of the function so it can be reused by other callers.

(WI.imageFromImageData):
(WI.imageFromCanvasGradient):
Utility functions for getting a dataURL image of ImageData/CanvasGradient after drawing it
onto WI.scratchCanvasContext2D.

  • UserInterface/Models/Recording.js:

(WI.Recording.prototype.async.swizzle):
Set the Image used to create a CanvasPattern as an expando property for later use.

  • UserInterface/Models/RecordingAction.js:

(WI.RecordingAction.prototype.getImageParameters):

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement._generateDOM):
Add Image InlineSwatch elements for parameters that are viewable as an image. For ImageData
and CanvasGradient, WI.scratchCanvasContext2D is used to draw the ImageData/CanvasGradient
and get a dataURL to be used as the image.

(WI.RecordingActionTreeElement._createSwatchForColorParameters):
Drive-by: add checks that the parameter is not a CanvasGradient or CanvasPattern.

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.js:

(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
Add Image InlineSwatch elements for fillStyle/strokeStyle when the value is a CanvasGradient
or a CanvasPattern.

  • UserInterface/Views/InlineSwatch.js:

(WI.InlineSwatch):
(WI.InlineSwatch.prototype._updateSwatch):
(WI.InlineSwatch.prototype._swatchElementClicked):

  • UserInterface/Views/InlineSwatch.css:

(.inline-swatch):
(.inline-swatch:matches(.color, .gradient)):
(.inline-swatch:matches(.bezier, .spring, .variable)):
(.inline-swatch:not(.read-only):matches(.bezier, .spring, .variable):hover):
(.inline-swatch:not(.read-only):matches(.bezier, .spring, .variable):active):
(.inline-swatch:not(.read-only):active > span):
(.inline-swatch:matches(.bezier, .spring, .variable) > span):
(.inline-swatch.image > span):
(.inline-swatch:matches(.bezier, .spring, .variable):hover): Deleted.
(.inline-swatch:matches(.bezier, .spring, .variable):active): Deleted.
(.inline-swatch:active > span): Deleted.
(.inline-swatch:matches(.bezier, .spring) > span): Deleted.
Add Image type for showing previews of images.
Drive-by: simplify some styles.

  • UserInterface/Views/RecordingActionTreeElement.css:

(.item.action > .titles .parameters > .inline-swatch):
(.tree-outline:matches(:focus, .force-focus) .item.action > .titles .parameters > .inline-swatch): Deleted.
Drive-by: remove the :focus requirement, as it would cause the InlineSwatch to shift when
the user clicked out of the WebInspector window.

5:23 PM Changeset in webkit [224366] by msaboff@apple.com
  • 3 edits
    1 add in trunk

DFG needs to handle code motion of code in for..in loop bodies
https://bugs.webkit.org/show_bug.cgi?id=179212

Reviewed by Keith Miller.

JSTests:

New regression test.

  • stress/for-in-side-effects.js: Added.

(getPrototypeOf):
(reset):
(testWithoutFTL.f):
(testWithoutFTL):
(testWithFTL.f):
(testWithFTL):

Source/JavaScriptCore:

The processing of the DFG nodes HasGenericProperty, HasStructureProperty & GetPropertyEnumerator
make calls with side effects. Updated clobberize() for those nodes to take that into account.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

5:12 PM Changeset in webkit [224365] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip editing/selection/move-by-word-visually-multi-space.html on iOS debug bots.
https://bugs.webkit.org/show_bug.cgi?id=179201

Unreviewed test gardening.

  • platform/ios/TestExpectations:
5:05 PM Changeset in webkit [224364] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=179193

Unreviewed test gardening.

4:50 PM Changeset in webkit [224363] by timothy_horton@apple.com
  • 1 edit in trunk/Source/Makefile

Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204

  • Source/Makefile:

Address some post-landing review comments to keep the order of the MODULES correct.

4:50 PM Changeset in webkit [224362] by timothy_horton@apple.com
  • 1 edit in trunk/ChangeLog

Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204

  • Source/Makefile:

Address some post-landing review comments to keep the order of the MODULES correct.

4:00 PM Changeset in webkit [224361] by timothy_horton@apple.com
  • 2 edits in trunk

Reduce duplication in the toplevel Makefile
https://bugs.webkit.org/show_bug.cgi?id=179204

Reviewed by Simon Fraser.

  • Source/Makefile:

Make MODULES additive instead of completely repeated, and only build
libwebrtc where it's needed.

3:38 PM Changeset in webkit [224360] by Antti Koivisto
  • 10 edits in trunk

display:contents should work with dynamic table mutations
https://bugs.webkit.org/show_bug.cgi?id=179179

Reviewed by Ryosuke Niwa.

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addChildIgnoringContinuation):

RenderText with inline text wrapper as beforeChild is now resolved in RenderTreePosition, covering all cases.
Verify this with assert.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::insertChildInternal):

Add assertion.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::addChild):

Fix cases where we did unchecked downcasts for anonymous beforeChild.

  • style/RenderTreePosition.cpp:

(WebCore::RenderTreePosition::insert):

When inserting before a text rendeder with an display:contents inline wrapper, use the wrapper as beforeChild.

  • style/RenderTreePosition.h:

(WebCore::RenderTreePosition::insert): Deleted.

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateRenderTree):
(WebCore::RenderTreeUpdater::renderingParent):

Add separate helper to get parent frame for the closest rendered (non display:contents) ancestor.

(WebCore::RenderTreeUpdater::renderTreePosition):
(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::textRendererIsNeeded):
(WebCore::RenderTreeUpdater::updateTextRenderer):
(WebCore::RenderTreeUpdater::storePreviousRenderer):

Use it for tracking state related to render tree siblings. With this we compute whitespace nodes
correctly for display:contents. The test cases end up depending on that.

  • style/RenderTreeUpdater.h:

LayoutTests:

These now pass:

imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-none.html
imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-none.html

3:28 PM Changeset in webkit [224359] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Bump the size of SameAsRenderElement after r224324

  • rendering/RenderElement.cpp:

RenderElement uses one more bit in the bitfield now.

3:05 PM Changeset in webkit [224358] by Ryan Haddad
  • 8 edits in trunk/Source

Unreviewed, rolling out r224353.

Breaks internal builds.

Reverted changeset:

"Ignore HSTS for partitioned, cross-origin subresource
requests"
https://bugs.webkit.org/show_bug.cgi?id=178993
https://trac.webkit.org/changeset/224353

3:00 PM Changeset in webkit [224357] by Joseph Pecoraro
  • 16 edits
    3 adds in trunk

Inspector should display service worker served responses properly
https://bugs.webkit.org/show_bug.cgi?id=178597
<rdar://problem/35186111>

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/protocol/Network.json:

Expose a new "service-worker" response source.

Source/WebCore:

Test: http/tests/inspector/network/resource-response-service-worker.html

  • inspector/InspectorNetworkAgent.cpp:

(WebCore::responseSource):
Use the new protocol enum.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

New Service Worker related strings.

  • UserInterface/Controllers/HARBuilder.js:

(WI.HARBuilder.entry):
(WI.HARBuilder.timings):
Only output timing data when we have real resource timing data.

(WI.HARBuilder.fetchType):
Output a new string for a Service Worker load in our custom field.

  • UserInterface/Models/ResourceTimingData.js:

(WI.ResourceTimingData.prototype.get responseStart):
Fallback further to the responseEnd. This can happen if the response
itself is an error/failure and there was no response, so treat it as
the same as response end.

  • UserInterface/Models/Resource.js:

(WI.Resource.responseSourceFromPayload):
(WI.Resource.prototype.updateForRedirectResponse):
(WI.Resource.prototype.updateForResponse):
A fetch response won't change the URL, so if the URL is empty
don't change it from what the request's URL was.

(WI.Resource.prototype.hasResponse):
Failure is like finished. We should likely transition to an "isComplete" method.

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.prototype._populateTransferSizeCell):
(WI.NetworkTableContentView.prototype._generateSortComparator):
Output "(service worker)" in the transfer size field, to indicate this came
from a Service worker. Sort such loads together.

  • UserInterface/Views/ResourceHeadersContentView.js:

(WI.ResourceHeadersContentView.prototype._responseSourceDisplayString):
(WI.ResourceHeadersContentView.prototype._refreshSummarySection):
Include the Service Worker response source in this details view. Also include
a FIXME, since we would like to link directly to the service worker in the future.

LayoutTests:

  • LayoutTests/platform/gtk/TestExpectations:
  • LayoutTests/platform/mac-wk1/TestExpectations:
  • LayoutTests/platform/win/TestExpectations:
  • LayoutTests/platform/wpe/TestExpectations:

Skip Inspector service worker tests on platforms where Service Workers
are not yet supported. For now this is just one test, future tests
specific to Service Workers will go into a directory.

  • http/tests/inspector/network/resource-response-service-worker-expected.txt: Added.
  • http/tests/inspector/network/resource-response-service-worker.html: Added.
  • http/tests/inspector/network/resources/fetch-service-worker.js: Added.

Test for service worker initiated loads.

2:56 PM Changeset in webkit [224356] by rniwa@webkit.org
  • 16 edits in trunk/Source/WebCore

Eliminate isMainThread() checks in most call sites of NoEventDispatchAssertion
https://bugs.webkit.org/show_bug.cgi?id=179161

Reviewed by Zalan Bujtas.

Introduced NoEventDispatchAssertion::InMainThread which bypasses the expensive isMainThread() check
in order to turn NoEventDispatchAssertion into a release assertion in a separate patch.

Also removed instances of NoEventDispatchAssertion in notifyChildNodeInserted and notifyChildNodeRemoved
and asserted that the caller has instantiated NoEventDispatchAssertion instead.

No new tests since there should be no behavioral changes.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::canExecuteScripts):

  • dom/Attr.cpp:
  • dom/CharacterData.cpp:
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeAllChildrenWithScriptAssertion):
(WebCore::ContainerNode::removeNodeWithScriptAssertion):
(WebCore::executeNodeInsertionWithScriptAssertion):
(WebCore::ContainerNode::removeDetachedChildren): Instantiated NoEventDispatchAssertion::InMainThread
so that notifyChildNodeRemoved would be called inside NoEventDispatchAssertion.
(WebCore::ContainerNode::insertBeforeCommon):
(WebCore::ContainerNode::appendChildCommon):
(WebCore::ContainerNode::removeBetween):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::notifyChildNodeInserted): Assert that the caller has instantiated NoEventDispatchAssertion.
(WebCore::notifyChildNodeRemoved): Ditto.

  • dom/Document.cpp:

(WebCore::Document::resolveStyle):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore::Document::nodeWillBeRemoved):
(WebCore::Document::dispatchWindowEvent): Replaced RELEASE_ASSERT with ASSERT_WITH_SECURITY_IMPLICATION
for clarity since NoEventDispatchAssertion::isEventAllowedInMainThread() always returns true in release
builds right now.
(WebCore::Document::dispatchWindowLoadEvent): Ditto.
(WebCore::Document::applyPendingXSLTransformsTimerFired): Use ASSERT_WITH_SECURITY_IMPLICATION instead
of regular ASSERT.

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot): Instantiate NoEventDispatchAssertion::InMainThread to call
notifyChildNodeInserted will it.
(WebCore::Element::attachAttributeNodeIfNeeded):
(WebCore::Element::setAttributeNode): Fixed the indentation.
(WebCore::Element::setAttributeNodeNS): Ditto.
(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):

  • dom/NoEventDispatchAssertion.h:

(WebCore::NoEventDispatchAssertion::isEventDispatchAllowedInSubtree): Moved to InMainThread.
(WebCore::NoEventDispatchAssertion::InMainThread): Added.
(WebCore::NoEventDispatchAssertion::InMainThread::InMainThread): Assert that we're in the main thread
instead of exiting early.
(WebCore::NoEventDispatchAssertion::InMainThread::~InMainThread): Ditto.
(WebCore::NoEventDispatchAssertion::InMainThread::isEventDispatchAllowedInSubtree): Moved here.
(WebCore::NoEventDispatchAssertion::InMainThread::isEventAllowed):

  • dom/Node.cpp:

(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchDOMActivateEvent):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForDocumentSuspension):
(WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
(WebCore::ScriptExecutionContext::resumeActiveDOMObjects):

  • history/CachedPage.cpp:

(WebCore::CachedPage::restore):

  • history/PageCache.cpp:

(WebCore::PageCache::addIfCacheable):

  • page/LayoutContext.cpp:

(WebCore::LayoutContext::layout):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollRectToVisible):

2:24 PM Changeset in webkit [224355] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/preload/viewport/meta-viewport-link-headers.php as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=178029

Unreviewed test gardening.

  • platform/ios/TestExpectations:
1:46 PM Changeset in webkit [224354] by Nikita Vasilyev
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles Redesign: turn on CSS spreadsheet editor by default
https://bugs.webkit.org/show_bug.cgi?id=179100
<rdar://problem/35285990>

Reviewed by Brian Burg.

Add a "Legacy Style Editor" checkbox and remove the experimental "Spreadsheet Style Editor" checkbox.

Remove settings of the legacy styles editor:

  • Show inline warnings
  • Automatically insert newline
  • Select text on first click

These settings are not applicable for the spreadsheet styles editor and
now are always enabled for the legacy styles editor.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WI.CSSStyleDeclarationTextEditor):
(WI.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
(WI.CSSStyleDeclarationTextEditor.):

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WI.CSSStyleDetailsSidebarPanel):

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

1:43 PM Changeset in webkit [224353] by wilander@apple.com
  • 8 edits in trunk/Source

Ignore HSTS for partitioned, cross-origin subresource requests
https://bugs.webkit.org/show_bug.cgi?id=178993
<rdar://problem/34962462>

Reviewed by Brent Fulgham and Alex Christensen.

Source/WebCore:

No new tests. HSTS is not supported in layout tests.
Tested manually.

  • platform/network/mac/WebCoreURLResponse.mm:

(WebCore::synthesizeRedirectResponseIfNecessary):

Now also synthesizes a response if
_schemeWasUpgradedDueToDynamicHSTS is set on the
request. Because in such cases the scheme might
have been downgraded and there the two schemes
match.

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Added

  • (BOOL)_schemeWasUpgradedDueToDynamicHSTS
  • (BOOL)_preventHSTSStorage
  • (BOOL)_ignoreHSTS
  • (void)_setPreventHSTSStorage:(BOOL)preventHSTSStorage
  • (void)_setIgnoreHSTS:(BOOL)ignoreHSTS

Source/WebKit:

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(downgradeRequest):

Convenience function to downgrade a request if
CFNetwork as already upgraded it during
canonicalization. This allows the rest of
WebKit's processing to function, such as UIR
and mixed content blocking.

(updateIgnoreStrictTransportSecuritySettingIfNecessary):

Adds and removed the ignore request accordingly.

(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):

Now asks CFNetwork to ignore HSTS on resource loads we
partition cookies for.

(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):

Now asks CFNetwork to ignore HSTS on resource loads we
partition cookies for.

Source/WTF:

  • wtf/Platform.h:

Added HAVE_CFNETWORK_IGNORE_HSTS.

1:41 PM Changeset in webkit [224352] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark two service worker tests as flaky.

Unreviewed test gardening.

1:18 PM Changeset in webkit [224351] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk/Source/WebKit

[WinCairo] Add IPC files for wincairo webkit
https://bugs.webkit.org/show_bug.cgi?id=177919

Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2017-11-02
Reviewed by Alex Christensen.

  • Platform/IPC/Attachment.cpp:
  • Platform/IPC/Attachment.h:

(IPC::Attachment::Attachment):
(IPC::Attachment::handle):

  • Platform/IPC/Connection.h:

(IPC::Connection::identifierIsNull):
(IPC::Connection::sendWithReply):

  • Platform/IPC/win/AttachmentWin.cpp: Added.

(IPC::Attachment::encode const):
(IPC::getDuplicatedHandle):
(IPC::Attachment::decode):

  • Platform/IPC/win/ConnectionWin.cpp: Added.

(IPC::Connection::createServerAndClientIdentifiers):
(IPC::Connection::platformInitialize):
(IPC::Connection::platformInvalidate):
(IPC::Connection::readEventHandler):
(IPC::Connection::writeEventHandler):
(IPC::Connection::open):
(IPC::Connection::platformCanSendOutgoingMessages const):
(IPC::Connection::sendOutgoingMessage):
(IPC::Connection::willSendSyncMessage):
(IPC::Connection::didReceiveSyncReply):

  • PlatformWin.cmake:
12:24 PM Changeset in webkit [224350] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

LayoutState::m_next is really the ancestor state.
https://bugs.webkit.org/show_bug.cgi?id=179187
<rdar://problem/35319525>

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):
(WebCore::LayoutState::clearPaginationInformation):
(WebCore::LayoutState::propagateLineGridInfo):
(WebCore::LayoutState::establishLineGrid):

  • rendering/LayoutState.h:
  • rendering/RenderView.h:
12:17 PM Changeset in webkit [224349] by fpizlo@apple.com
  • 3 edits
    1 add in trunk

AI does not correctly model the clobber case of ArithClz32
https://bugs.webkit.org/show_bug.cgi?id=179188

Reviewed by Michael Saboff.

JSTests:

  • stress/arith-clz32-effects.js: Added.

(foo):
(valueOf):

Source/JavaScriptCore:

The non-Int32 case clobbers the world because it may call valueOf.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

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

Fix iOS WebKitLegacy after r224267
https://bugs.webkit.org/show_bug.cgi?id=179189

Reviewed by Tim Horton.

Use callOnMainThread instead of dispatch_async to work correctly on the web thread.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveAuthenticationChallenge:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveData:lengthReceived:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connectionDidFinishLoading:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didFailWithError:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):

11:55 AM Changeset in webkit [224347] by Adrian Perez de Castro
  • 6 edits in trunk/Source/WebCore

[WPE] Add some error reporting during EGL display/context creation
https://bugs.webkit.org/show_bug.cgi?id=178937

Reviewed by Carlos Alberto Lopez Perez.

Unconditionally log errors using WTFLogAlways during EGL context creation. This
provides a small degree of help for troubleshooting, and while eglGetError() only
returns numeric error codes, it's better than nothing.

No new tests needed.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::initializeEGLDisplay):

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::GLContextEGL::errorString):
(WebCore::GLContextEGL::lastErrorString):
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createPbufferContext):
(WebCore::GLContextEGL::createSurfacelessContext):
(WebCore::GLContextEGL::createContext):
(WebCore::GLContextEGL::createSharingContext):
(WebCore::GLContextEGL::GLContextEGL):

  • platform/graphics/egl/GLContextEGL.h:
  • platform/graphics/egl/GLContextEGLWPE.cpp:

(WebCore::GLContextEGL::createWPEContext):

  • platform/graphics/wpe/PlatformDisplayWPE.cpp:

(WebCore::PlatformDisplayWPE::initialize):

11:43 AM WebKitGTK/Gardening/Calendar edited by magomez@igalia.com
(diff)
11:27 AM Changeset in webkit [224346] by Megan Gardner
  • 2 edits in trunk/Source/WebKit

Early out selection update when data is not present
https://bugs.webkit.org/show_bug.cgi?id=179084

Reviewed by Ryosuke Niwa.

We should early out of a selection update when we do not have the data that is necessary to make that
update. This mostly helps avoid debug asserts, but will be helpful with the selection changes that are
ongoing.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _updateChangedSelection:]):

11:25 AM Changeset in webkit [224345] by Joseph Pecoraro
  • 4 edits
    48 moves
    3 adds in trunk/Source/WebCore

Web Inspector: Move InspectorAgents into a folder
https://bugs.webkit.org/show_bug.cgi?id=179132

Reviewed by Devin Rousso.

  • CMakeLists.txt:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Move files around.

  • inspector/agents/InspectorApplicationCacheAgent.cpp: Renamed from Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp.
  • inspector/agents/InspectorApplicationCacheAgent.h: Renamed from Source/WebCore/inspector/InspectorApplicationCacheAgent.h.
  • inspector/agents/InspectorCSSAgent.cpp: Renamed from Source/WebCore/inspector/InspectorCSSAgent.cpp.
  • inspector/agents/InspectorCSSAgent.h: Renamed from Source/WebCore/inspector/InspectorCSSAgent.h.
  • inspector/agents/InspectorCanvasAgent.cpp: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.cpp.
  • inspector/agents/InspectorCanvasAgent.h: Renamed from Source/WebCore/inspector/InspectorCanvasAgent.h.
  • inspector/agents/InspectorDOMAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDOMAgent.cpp.
  • inspector/agents/InspectorDOMAgent.h: Renamed from Source/WebCore/inspector/InspectorDOMAgent.h.
  • inspector/agents/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp.
  • inspector/agents/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorDOMDebuggerAgent.h.
  • inspector/agents/InspectorDOMStorageAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDOMStorageAgent.cpp.
  • inspector/agents/InspectorDOMStorageAgent.h: Renamed from Source/WebCore/inspector/InspectorDOMStorageAgent.h.
  • inspector/agents/InspectorDatabaseAgent.cpp: Renamed from Source/WebCore/inspector/InspectorDatabaseAgent.cpp.
  • inspector/agents/InspectorDatabaseAgent.h: Renamed from Source/WebCore/inspector/InspectorDatabaseAgent.h.
  • inspector/agents/InspectorIndexedDBAgent.cpp: Renamed from Source/WebCore/inspector/InspectorIndexedDBAgent.cpp.
  • inspector/agents/InspectorIndexedDBAgent.h: Renamed from Source/WebCore/inspector/InspectorIndexedDBAgent.h.
  • inspector/agents/InspectorLayerTreeAgent.cpp: Renamed from Source/WebCore/inspector/InspectorLayerTreeAgent.cpp.
  • inspector/agents/InspectorLayerTreeAgent.h: Renamed from Source/WebCore/inspector/InspectorLayerTreeAgent.h.
  • inspector/agents/InspectorMemoryAgent.cpp: Renamed from Source/WebCore/inspector/InspectorMemoryAgent.cpp.
  • inspector/agents/InspectorMemoryAgent.h: Renamed from Source/WebCore/inspector/InspectorMemoryAgent.h.
  • inspector/agents/InspectorNetworkAgent.cpp: Renamed from Source/WebCore/inspector/InspectorNetworkAgent.cpp.
  • inspector/agents/InspectorNetworkAgent.h: Renamed from Source/WebCore/inspector/InspectorNetworkAgent.h.
  • inspector/agents/InspectorPageAgent.cpp: Renamed from Source/WebCore/inspector/InspectorPageAgent.cpp.
  • inspector/agents/InspectorPageAgent.h: Renamed from Source/WebCore/inspector/InspectorPageAgent.h.
  • inspector/agents/InspectorTimelineAgent.cpp: Renamed from Source/WebCore/inspector/InspectorTimelineAgent.cpp.
  • inspector/agents/InspectorTimelineAgent.h: Renamed from Source/WebCore/inspector/InspectorTimelineAgent.h.
  • inspector/agents/InspectorWorkerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorWorkerAgent.cpp.
  • inspector/agents/InspectorWorkerAgent.h: Renamed from Source/WebCore/inspector/InspectorWorkerAgent.h.
  • inspector/agents/WebConsoleAgent.cpp: Renamed from Source/WebCore/inspector/WebConsoleAgent.cpp.
  • inspector/agents/WebConsoleAgent.h: Renamed from Source/WebCore/inspector/WebConsoleAgent.h.
  • inspector/agents/WebDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/WebDebuggerAgent.cpp.
  • inspector/agents/WebDebuggerAgent.h: Renamed from Source/WebCore/inspector/WebDebuggerAgent.h.
  • inspector/agents/WebHeapAgent.cpp: Renamed from Source/WebCore/inspector/WebHeapAgent.cpp.
  • inspector/agents/WebHeapAgent.h: Renamed from Source/WebCore/inspector/WebHeapAgent.h.
  • inspector/agents/page/PageConsoleAgent.cpp: Renamed from Source/WebCore/inspector/PageConsoleAgent.cpp.
  • inspector/agents/page/PageConsoleAgent.h: Renamed from Source/WebCore/inspector/PageConsoleAgent.h.
  • inspector/agents/page/PageDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/PageDebuggerAgent.cpp.
  • inspector/agents/page/PageDebuggerAgent.h: Renamed from Source/WebCore/inspector/PageDebuggerAgent.h.
  • inspector/agents/page/PageHeapAgent.cpp: Renamed from Source/WebCore/inspector/PageHeapAgent.cpp.
  • inspector/agents/page/PageHeapAgent.h: Renamed from Source/WebCore/inspector/PageHeapAgent.h.
  • inspector/agents/page/PageRuntimeAgent.cpp: Renamed from Source/WebCore/inspector/PageRuntimeAgent.cpp.
  • inspector/agents/page/PageRuntimeAgent.h: Renamed from Source/WebCore/inspector/PageRuntimeAgent.h.
  • inspector/agents/worker/WorkerConsoleAgent.cpp: Renamed from Source/WebCore/inspector/WorkerConsoleAgent.cpp.
  • inspector/agents/worker/WorkerConsoleAgent.h: Renamed from Source/WebCore/inspector/WorkerConsoleAgent.h.
  • inspector/agents/worker/WorkerDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/WorkerDebuggerAgent.cpp.
  • inspector/agents/worker/WorkerDebuggerAgent.h: Renamed from Source/WebCore/inspector/WorkerDebuggerAgent.h.
  • inspector/agents/worker/WorkerRuntimeAgent.cpp: Renamed from Source/WebCore/inspector/WorkerRuntimeAgent.cpp.
  • inspector/agents/worker/WorkerRuntimeAgent.h: Renamed from Source/WebCore/inspector/WorkerRuntimeAgent.h.

Move agents into folders.

10:46 AM Changeset in webkit [224344] by commit-queue@webkit.org
  • 9 edits in trunk

Service Worker fetch should transmit headers to its client
https://bugs.webkit.org/show_bug.cgi?id=179156

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-02
Reviewed by Chris Dumez.

Source/WebCore:

Covered by updated tests.

Making resourceResponse getter return a ResourceResponse with the headers of the FetchResponse Headers object.

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::toConnectionRecord):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::resourceResponse const):

  • Modules/fetch/FetchResponse.h:

LayoutTests:

  • http/tests/workers/service/basic-fetch.https-expected.txt:
  • http/tests/workers/service/resources/basic-fetch-worker.js:

Adding header specific subtest.

  • http/tests/workers/service/resources/image-fetch-worker.js:

Updating test so that image does not go in the memory cache.
Otherwise test is flaky when run multiple times on the same runner.

10:46 AM Changeset in webkit [224343] by commit-queue@webkit.org
  • 8 edits in trunk/LayoutTests

Fix WPT service worker tests using www1 URLs
https://bugs.webkit.org/show_bug.cgi?id=179144

Patch by Youenn Fablet <youenn@apple.com> on 2017-11-02
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-response-taint.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/resources/test-helpers.sub.js:

LayoutTests:

10:45 AM Changeset in webkit [224342] by pvollan@apple.com
  • 40 edits in trunk/LayoutTests

[Win] Update test expectations after r224324.

Unreviewed test gardening.

  • platform/win/css1/pseudo/firstletter-expected.txt:
  • platform/win/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/win/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
  • platform/win/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-166-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-166a-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-39-expected.txt:
  • platform/win/css3/selectors3/html/css3-modsel-39b-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
  • platform/win/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-166-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-166a-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-39-expected.txt:
  • platform/win/css3/selectors3/xml/css3-modsel-39b-expected.txt:
  • platform/win/fast/block/lineboxcontain/glyphs-expected.txt:
  • platform/win/fast/box-shadow/basic-shadows-expected.txt:
  • platform/win/fast/css-generated-content/003-expected.txt:
  • platform/win/fast/css-generated-content/007-expected.txt:
  • platform/win/fast/css-generated-content/009-expected.txt:
  • platform/win/fast/css-generated-content/012-expected.txt:
  • platform/win/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
  • platform/win/fast/css/first-letter-capitalized-expected.txt:
  • platform/win/fast/css/first-letter-detach-expected.txt:
  • platform/win/fast/css/first-letter-first-line-hover-expected.txt:
  • platform/win/fast/css/first-letter-float-expected.txt:
  • platform/win/fast/css/first-letter-hover-expected.txt:
  • platform/win/fast/css/first-letter-punctuation-expected.txt:
  • platform/win/fast/css/first-letter-recalculation-expected.txt:
  • platform/win/fast/css/first-letter-visibility-expected.txt:
  • platform/win/fast/multicol/shadow-breaking-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-rt1-expected.txt:
  • platform/win/fast/selectors/039-expected.txt:
  • platform/win/fast/selectors/039b-expected.txt:
  • platform/win/fast/selectors/166a-expected.txt:
  • platform/win/fast/text/firstline/002-expected.txt:
  • platform/win/fast/text/firstline/003-expected.txt:
  • platform/win/ietestcenter/css3/text/textshadow-004-expected.txt:
10:38 AM Changeset in webkit [224341] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Update SWServerJobQueue to follow the Service Worker specification more closely
https://bugs.webkit.org/show_bug.cgi?id=179147

Reviewed by Youenn Fablet.

Align naming with the specification.

Get rid of unnecessary m_currentJob as the current job is always the first
job in the queue.

Inline some of the tiny methods to simplify code. Those were leftovers from when
we used to have a background thread.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::scheduleJob):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::SWServerJobQueue):
(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::scriptContextStarted):
(WebCore::SWServerJobQueue::runNextJob):
(WebCore::SWServerJobQueue::runNextJobSynchronously):
(WebCore::SWServerJobQueue::runRegisterJob):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::runUpdateJob):
(WebCore::SWServerJobQueue::rejectCurrentJob):
(WebCore::SWServerJobQueue::finishCurrentJob):

  • workers/service/server/SWServerJobQueue.h:

(WebCore::SWServerJobQueue::firstJob const):
(WebCore::SWServerJobQueue::lastJob const):
(WebCore::SWServerJobQueue::enqueueJob):
(WebCore::SWServerJobQueue::size const):

10:24 AM Changeset in webkit [224340] by Konstantin Tokarev
  • 2 edits in trunk/Source/WebCore

Unreviewed, removed useless semicolon at the end of namespace

  • platform/graphics/texmap/BitmapTextureGL.cpp:
10:13 AM Changeset in webkit [224339] by Michael Catanzaro
  • 4 edits
    1 add in trunk/Source/WebCore

WPE does not build with DragImage.cpp in unified sources.
https://bugs.webkit.org/show_bug.cgi?id=178844

Reviewed by Keith Miller.

Add a stub implementation of DragImage for WPE so that we can drop the @no-unify.

  • Sources.txt:
  • SourcesWPE.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/wpe/DragImageWPE.cpp: Added.

(WebCore::dragImageSize):
(WebCore::deleteDragImage):
(WebCore::scaleDragImage):
(WebCore::dissolveDragImageToFraction):
(WebCore::createDragImageFromImage):
(WebCore::createDragImageIconForCachedImageFilename):
(WebCore::createDragImageForLink):

10:00 AM Changeset in webkit [224338] by eric.carlson@apple.com
  • 7 edits in trunk/Source

[MediaStream] audioTrack.label is always empty on macOS
https://bugs.webkit.org/show_bug.cgi?id=179175
<rdar://problem/35315438>

Reviewed by Youenn Fablet.

Source/WebCore:

  • platform/mediastream/RealtimeMediaSourceSettings.h:

(WebCore::RealtimeMediaSourceSettings::label const): New.
(WebCore::RealtimeMediaSourceSettings::setLabel): Ditto.
(WebCore::RealtimeMediaSourceSettings::encode const): Encode label.
(WebCore::RealtimeMediaSourceSettings::decode): Decode label.

  • platform/mediastream/mac/AVMediaCaptureSource.mm:

(WebCore::AVMediaCaptureSource::initializeSettings): Set label.

  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:

(WebCore::CoreAudioCaptureSource::settings const): Ditto.

  • platform/mock/MockRealtimeMediaSource.cpp:

(WebCore::MockRealtimeMediaSource::initializeSettings): Ditto.

Source/WebKit:

  • WebProcess/cocoa/UserMediaCaptureManager.cpp:

(WebKit::UserMediaCaptureManager::createCaptureSource): Pass settings.label to Source constructor.

9:58 AM Changeset in webkit [224337] by Chris Dumez
  • 8 edits in trunk

[Service Workers] Add initial implementation for try Clear Registration / Clear Registration algorithms
https://bugs.webkit.org/show_bug.cgi?id=179151

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebbaseline several WPT tests now that registrations are actually removed.

  • web-platform-tests/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-basic.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-scope.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/serviceworkerobject-scripturl.https-expected.txt:

Source/WebCore:

[Service Workers] Add initial implementation for try Clear Registration / Clear Registration algorithms:

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::tryClearRegistration):
(WebCore::SWServerJobQueue::clearRegistration):

  • workers/service/server/SWServerJobQueue.h:
9:55 AM Changeset in webkit [224336] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Clear Node renderer pointer when destroying RenderObject
https://bugs.webkit.org/show_bug.cgi?id=179112

Reviewed by Zalan Bujtas.

Make sure we don't leave renderer pointers behind in Nodes.
This could be done with WeakPtr but that would add extra indirection between DOM and render tree.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):

Null the node renderer pointer.
With continuations we have a case where renderer points to a node that has a different renderer.
This is is ok as we know no node points to a continuation (they should really be anonymous renderers).

9:38 AM Changeset in webkit [224335] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, release throw scope
https://bugs.webkit.org/show_bug.cgi?id=178726

  • dfg/DFGOperations.cpp:
9:35 AM Changeset in webkit [224334] by magomez@igalia.com
  • 86 edits
    7 adds in trunk/LayoutTests

Unreviewed GTK+ gardening. Adjusting test expectations and rebaseline some
tests after r224328.

  • platform/gtk/TestExpectations:
  • platform/gtk/css1/pseudo/firstletter-expected.png:
  • platform/gtk/css1/pseudo/firstletter-expected.txt:
  • platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/gtk/css2.1/t051202-c24-first-lttr-00-b-expected.png:
  • platform/gtk/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
  • platform/gtk/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
  • platform/gtk/css3/selectors3/html/css3-modsel-166-expected.png:
  • platform/gtk/css3/selectors3/html/css3-modsel-166-expected.txt:
  • platform/gtk/css3/selectors3/html/css3-modsel-166a-expected.png:
  • platform/gtk/css3/selectors3/html/css3-modsel-166a-expected.txt:
  • platform/gtk/css3/selectors3/html/css3-modsel-39-expected.png:
  • platform/gtk/css3/selectors3/html/css3-modsel-39-expected.txt:
  • platform/gtk/css3/selectors3/html/css3-modsel-39b-expected.png:
  • platform/gtk/css3/selectors3/html/css3-modsel-39b-expected.txt:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-166-expected.png:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-166a-expected.png:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-39-expected.png:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-39b-expected.png:
  • platform/gtk/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
  • platform/gtk/css3/selectors3/xml/css3-modsel-166-expected.png:
  • platform/gtk/css3/selectors3/xml/css3-modsel-166-expected.txt:
  • platform/gtk/css3/selectors3/xml/css3-modsel-166a-expected.png:
  • platform/gtk/css3/selectors3/xml/css3-modsel-166a-expected.txt:
  • platform/gtk/css3/selectors3/xml/css3-modsel-39-expected.png:
  • platform/gtk/css3/selectors3/xml/css3-modsel-39-expected.txt:
  • platform/gtk/css3/selectors3/xml/css3-modsel-39b-expected.png:
  • platform/gtk/css3/selectors3/xml/css3-modsel-39b-expected.txt:
  • platform/gtk/editing/selection/extend-by-word-002-expected.png:
  • platform/gtk/editing/selection/extend-by-word-002-expected.txt:
  • platform/gtk/fast/block/lineboxcontain/glyphs-expected.png:
  • platform/gtk/fast/block/lineboxcontain/glyphs-expected.txt:
  • platform/gtk/fast/box-shadow/basic-shadows-expected.png:
  • platform/gtk/fast/box-shadow/basic-shadows-expected.txt:
  • platform/gtk/fast/css-generated-content/003-expected.png:
  • platform/gtk/fast/css-generated-content/003-expected.txt:
  • platform/gtk/fast/css-generated-content/007-expected.png:
  • platform/gtk/fast/css-generated-content/007-expected.txt:
  • platform/gtk/fast/css-generated-content/009-expected.png:
  • platform/gtk/fast/css-generated-content/009-expected.txt:
  • platform/gtk/fast/css-generated-content/012-expected.png:
  • platform/gtk/fast/css-generated-content/012-expected.txt:
  • platform/gtk/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-basic-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-basic-expected.txt:
  • platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-border-padding-expected.txt:
  • platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-clearance-expected.txt:
  • platform/gtk/fast/css-generated-content/initial-letter-descender-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-descender-expected.txt:
  • platform/gtk/fast/css-generated-content/initial-letter-raised-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-raised-expected.txt:
  • platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.png: Added.
  • platform/gtk/fast/css-generated-content/initial-letter-sunken-expected.txt:
  • platform/gtk/fast/css/first-letter-capitalized-expected.png:
  • platform/gtk/fast/css/first-letter-capitalized-expected.txt:
  • platform/gtk/fast/css/first-letter-detach-expected.png:
  • platform/gtk/fast/css/first-letter-detach-expected.txt:
  • platform/gtk/fast/css/first-letter-first-line-hover-expected.png:
  • platform/gtk/fast/css/first-letter-first-line-hover-expected.txt:
  • platform/gtk/fast/css/first-letter-float-after-float-expected.png:
  • platform/gtk/fast/css/first-letter-float-after-float-expected.txt:
  • platform/gtk/fast/css/first-letter-float-expected.png:
  • platform/gtk/fast/css/first-letter-float-expected.txt:
  • platform/gtk/fast/css/first-letter-hover-expected.png:
  • platform/gtk/fast/css/first-letter-hover-expected.txt:
  • platform/gtk/fast/css/first-letter-punctuation-expected.png:
  • platform/gtk/fast/css/first-letter-punctuation-expected.txt:
  • platform/gtk/fast/css/first-letter-recalculation-expected.png:
  • platform/gtk/fast/css/first-letter-recalculation-expected.txt:
  • platform/gtk/fast/css/first-letter-visibility-expected.png:
  • platform/gtk/fast/css/first-letter-visibility-expected.txt:
  • platform/gtk/fast/dynamic/first-letter-display-change-expected.txt:
  • platform/gtk/fast/multicol/shadow-breaking-expected.png:
  • platform/gtk/fast/multicol/shadow-breaking-expected.txt:
  • platform/gtk/fast/selectors/039-expected.png:
  • platform/gtk/fast/selectors/039-expected.txt:
  • platform/gtk/fast/selectors/039b-expected.png:
  • platform/gtk/fast/selectors/039b-expected.txt:
  • platform/gtk/fast/selectors/166a-expected.png:
  • platform/gtk/fast/selectors/166a-expected.txt:
  • platform/gtk/fast/text/firstline/002-expected.png:
  • platform/gtk/fast/text/firstline/002-expected.txt:
  • platform/gtk/fast/text/firstline/003-expected.png:
  • platform/gtk/fast/text/firstline/003-expected.txt:
  • platform/gtk/ietestcenter/css3/text/textshadow-004-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
  • platform/gtk/svg/batik/text/smallFonts-expected.txt:
9:15 AM Changeset in webkit [224333] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=177322

Unreviewed test gardening.

  • platform/ios/TestExpectations:
8:57 AM Changeset in webkit [224332] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Remove empty continuations in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers
https://bugs.webkit.org/show_bug.cgi?id=179014

Remove overly optimistic non-critical assertion that is hit on WK1 debug.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::removeAndDestroyAllContinuations):

7:48 AM Changeset in webkit [224331] by clopez@igalia.com
  • 2 edits in trunk/Tools

[WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
https://bugs.webkit.org/show_bug.cgi?id=179169

Reviewed by Michael Catanzaro.

Update WPEBackend and WPEBackend-mesa to last master as of today.

  • wpe/jhbuild.modules:
6:56 AM Changeset in webkit [224330] by fred.wang@free.fr
  • 14 edits in trunk

Add references to bug 179167 in FIXME comments
https://bugs.webkit.org/show_bug.cgi?id=179168

Patch by Frederic Wang <fwang@igalia.com> on 2017-11-02
Reviewed by Daniel Bates.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
6:41 AM Changeset in webkit [224329] by berto@igalia.com
  • 2 edits in trunk

Unreviewed, fix typos in library names for the GTK+ port.

  • Source/cmake/OptionsGTK.cmake:
5:01 AM Changeset in webkit [224328] by Ms2ger@igalia.com
  • 7 edits in trunk/LayoutTests

Mark some ietestcenter tests as failing on all platforms.
https://bugs.webkit.org/show_bug.cgi?id=179166

Unreviewed test gardening.

This makes it a little easier to figure out which failure expectations
are actually platform-specific.

These tests might not be correct; I haven't tried to figure that out.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wpe/TestExpectations:
4:31 AM Changeset in webkit [224327] by Antti Koivisto
  • 15 edits in trunk

Remove empty continuations in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers
https://bugs.webkit.org/show_bug.cgi?id=179014

Reviewed by Geoff Garen.

Source/WebCore:

Treat continuation similarly to other anonymous wrappers. This makes things more understandable
and allows removal of some questionable code in RenderBlock::takeChild.

The patch also makes continuation chain a double linked so we can efficiently remove single
continuations from the chain. It also gets rid of algorithms that recurse in continuation chain.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::firstChildInContinuation):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::styleDidChange):

Don't add and remove continuations from the chain when updating style. Prevent recursion by walking
the chain only in the (non-continuation) head renderer.

(WebCore::RenderBlock::dropAnonymousBoxChild):

Make a member function.

(WebCore::RenderBlock::takeChild):

Remove code that destroyed empty continuations and caused the parent to destroy itself.
Empty continuations are now removed by RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers.

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

(WebCore::RenderBoxModelObject::ContinuationChainNode::ContinuationChainNode):
(WebCore::RenderBoxModelObject::ContinuationChainNode::~ContinuationChainNode):
(WebCore::RenderBoxModelObject::ContinuationChainNode::insertAfter):

Track continuations with double linked lists.

(WebCore::continuationChainNodeMap):
(WebCore::RenderBoxModelObject::willBeDestroyed):

Don't recurse to destroy continuation chain.
Destroy all continuations iteratively if this is the head of the chain.
When destroying a continuation renderer simply remove it from the chain.

(WebCore::RenderBoxModelObject::continuation const):
(WebCore::RenderBoxModelObject::insertIntoContinuationChainAfter):
(WebCore::RenderBoxModelObject::removeFromContinuationChain):
(WebCore::RenderBoxModelObject::ensureContinuationChainNode):
(WebCore::continuationMap): Deleted.
(WebCore::RenderBoxModelObject::setContinuation): Deleted.

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

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):

Make this a function of the parent renderer itself instead of getting 'parent()' as first operation and
then using it.
Don't remove continuations (isAnonymousBlockContinuation() test gives wrong result for the last continuation of the chain).

(WebCore::RenderElement::styleDidChange):

removeAnonymousWrappersForInlinesIfNecessary is no function of the parent.

(WebCore::RenderElement::updateOutlineAutoAncestor):

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasContinuationChainNode const):
(WebCore::RenderElement::setHasContinuationChainNode):
(WebCore::RenderElement::hasContinuation const): Deleted.
(WebCore::RenderElement::setHasContinuation): Deleted.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::styleDidChange):

Don't add and remove continuations from the chain when updating style. Prevent recursion by walking
the chain only in the (non-continuation) head renderer.

(WebCore::RenderInline::addChildIgnoringContinuation):

Remove the old continuation from the chain. splitFlow() will add it back into the right place.

(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::addChildToContinuation):
(WebCore::RenderInline::childBecameNonInline):

Remove the old continuation from the chain. splitFlow() will add it back into the right place.

  • rendering/RenderInline.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded const):
(WebCore::RenderObject::outputRenderObject const):
(WebCore::findDestroyRootIncludingAnonymous):

Allow anonymous continuations as destroy roots.

(WebCore::RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers):

Removing a continuation may leave behind unnecessary anonymous sibling wrappers.
Call removeAnonymousWrappersForInlinesIfNecessary() on parent after removal to get rid of them.
If takeChild/removeAnonymousWrappersForInlinesIfNecessary leaves us with empty anonymous parent destroy that too.

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::takeChild):

Similar to RenderBlock::takeChild, remove the code that would make the renderer destroy itself.
Cleaning up RenderRubyRuns is now handled by removeFromParentAndDestroyCleaningUpAnonymousWrappers.

LayoutTests:

  • fast/ruby/float-overhang-from-ruby-text-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt:
2:53 AM Changeset in webkit [224326] by Ms2ger@igalia.com
  • 4 edits
    2 deletes in trunk/LayoutTests

[GTK] Test gardening.
https://bugs.webkit.org/show_bug.cgi?id=179164

Unreviewed test gardening.

  • platform/gtk/TestExpectations: update for failing tests reported in bug 179113.
  • platform/gtk/editing/deleting/delete-br-009-expected.txt: Rebaseline for r224177.
  • platform/gtk/fast/css-generated-content/details-summary-before-after-expected.txt: Rebaseline for r223848.
  • platform/gtk/http/tests/security/contentSecurityPolicy/1.1/module-scriptnonce-redirect-expected.txt: Removed; platform-specific expectations were added unnecessarily due to failures around bug 178340.
  • platform/gtk/http/tests/security/module-no-mime-type-expected.txt: Removed; platform-specific expectations were added unnecessarily due to failures around bug 178340.
1:58 AM Changeset in webkit [224325] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r224053): Crash in WebCore::Node::moveTreeToNewScope
https://bugs.webkit.org/show_bug.cgi?id=179158

Reviewed by Antti Koivisto.

Call decrementReferencingNodeCount after checking the release assertion
since that could delete oldDocument.

  • dom/Node.cpp:

(WebCore::Node::moveTreeToNewScope):

1:05 AM Changeset in webkit [224324] by Antti Koivisto
  • 106 edits in trunk

Source/WebCore:
First letter text renderer should be anonymous
https://bugs.webkit.org/show_bug.cgi?id=179114

Reviewed by Darin Adler.

Currently both RenderTextFragment and RenderText for first letter point to the same Text node.
There should only be one non-anonymous renderer per node.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):

Skip the first letter text renderer instead of the fragment.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::firstLetterRemainingTextMap):

Use WeakPtr.
Modernize.

(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::firstLetterRemainingText const):

Avoid hash lookup with the new isFirstLetter bit.

(WebCore::RenderBoxModelObject::setFirstLetterRemainingText):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::isFirstLetter const):
(WebCore::RenderElement::setIsFirstLetter):

Add a bit for more explicit code.

  • rendering/RenderTextFragment.cpp:

(WebCore::RenderTextFragment::setText):

Assert that RenderTextFragment is always the non-anonymous renderer.

  • style/RenderTreeUpdaterFirstLetter.cpp:

(WebCore::updateFirstLetterStyle):

Set the isFirstLetter bit.

(WebCore::createFirstLetterRenderer):

Set the isFirstLetter bit.
Remove the old text renderer before adding a new one.

LayoutTests:
First letter renderer should be anonymous
https://bugs.webkit.org/show_bug.cgi?id=179114

Reviewed by Darin Adler.

  • fast/dynamic/first-letter-after-list-marker-expected.txt:
  • platform/mac/css1/pseudo/firstletter-expected.txt:
  • platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/mac/css2.1/t051202-c24-first-lttr-00-b-expected.txt:
  • platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
  • platform/mac/css3/selectors3/html/css3-modsel-166-expected.txt:
  • platform/mac/css3/selectors3/html/css3-modsel-166a-expected.txt:
  • platform/mac/css3/selectors3/html/css3-modsel-39-expected.txt:
  • platform/mac/css3/selectors3/html/css3-modsel-39b-expected.txt:
  • platform/mac/css3/selectors3/xhtml/css3-modsel-166-expected.txt:
  • platform/mac/css3/selectors3/xhtml/css3-modsel-166a-expected.txt:
  • platform/mac/css3/selectors3/xhtml/css3-modsel-39-expected.txt:
  • platform/mac/css3/selectors3/xhtml/css3-modsel-39b-expected.txt:
  • platform/mac/css3/selectors3/xml/css3-modsel-166-expected.txt:
  • platform/mac/css3/selectors3/xml/css3-modsel-166a-expected.txt:
  • platform/mac/css3/selectors3/xml/css3-modsel-39-expected.txt:
  • platform/mac/css3/selectors3/xml/css3-modsel-39b-expected.txt:
  • platform/mac/editing/selection/extend-by-word-002-expected.txt:
  • platform/mac/fast/block/lineboxcontain/glyphs-expected.txt:
  • platform/mac/fast/box-shadow/basic-shadows-expected.txt:
  • platform/mac/fast/css-generated-content/003-expected.txt:
  • platform/mac/fast/css-generated-content/007-expected.txt:
  • platform/mac/fast/css-generated-content/009-expected.txt:
  • platform/mac/fast/css-generated-content/012-expected.txt:
  • platform/mac/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-clearance-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-descender-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-raised-expected.txt:
  • platform/mac/fast/css-generated-content/initial-letter-sunken-expected.txt:
  • platform/mac/fast/css/first-letter-capitalized-expected.txt:
  • platform/mac/fast/css/first-letter-detach-expected.txt:
  • platform/mac/fast/css/first-letter-first-line-hover-expected.txt:
  • platform/mac/fast/css/first-letter-float-after-float-expected.txt:
  • platform/mac/fast/css/first-letter-float-expected.txt:
  • platform/mac/fast/css/first-letter-hover-expected.txt:
  • platform/mac/fast/css/first-letter-punctuation-expected.txt:
  • platform/mac/fast/css/first-letter-recalculation-expected.txt:
  • platform/mac/fast/css/first-letter-visibility-expected.txt:
  • platform/mac/fast/dynamic/first-letter-display-change-expected.txt:
  • platform/mac/fast/multicol/shadow-breaking-expected.txt:
  • platform/mac/fast/selectors/039-expected.txt:
  • platform/mac/fast/selectors/039b-expected.txt:
  • platform/mac/fast/selectors/166a-expected.txt:
  • platform/mac/fast/text/firstline/002-expected.txt:
  • platform/mac/fast/text/firstline/003-expected.txt:

Nov 1, 2017:

10:57 PM Changeset in webkit [224323] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove ScrollableArea::isTouchScrollable and ScrollableArea::isOverflowScroll
https://bugs.webkit.org/show_bug.cgi?id=179121

Patch by Frederic Wang <fwang@igalia.com> on 2017-11-01
Reviewed by Alex Christensen.

These functions were introduced in r161589 and r160236 but it seems that they have never
been used.

No new tests, behavior unchanged.

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::isTouchScrollable const): Deleted.
(WebCore::ScrollableArea::isOverflowScroll const): Deleted.

  • rendering/RenderLayer.h:
10:55 PM Changeset in webkit [224322] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Make the order of scheduler job handling sequential
https://bugs.webkit.org/show_bug.cgi?id=179127

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-11-01
Reviewed by Alex Christensen.

  • platform/network/curl/CurlRequestScheduler.cpp:

(WebCore::CurlRequestScheduler::add):
(WebCore::CurlRequestScheduler::cancel):
(WebCore::CurlRequestScheduler::stopThreadIfNoMoreJobRunning):
(WebCore::CurlRequestScheduler::executeTasks):
(WebCore::CurlRequestScheduler::workerThread):
(WebCore::CurlRequestScheduler::startTransfer):
(WebCore::CurlRequestScheduler::completeTransfer):
(WebCore::CurlRequestScheduler::cancelTransfer):
(WebCore::CurlRequestScheduler::finalizeTransfer):
(WebCore::CurlJobList::isEmpty const): Deleted.
(WebCore::CurlJobList::startJobs): Deleted.
(WebCore::CurlJobList::finishJobs): Deleted.
(WebCore::CurlRequestScheduler::updateJobList): Deleted.

  • platform/network/curl/CurlRequestScheduler.h:
10:53 PM Changeset in webkit [224321] by rniwa@webkit.org
  • 24 edits in trunk/Source/WebCore

NavigatorBase::onLine() accesses NetworkStateNotifier's singleton in a worker thread
https://bugs.webkit.org/show_bug.cgi?id=179149
<rdar://problem/35307552>

Reviewed by Jiewen Tan.

Fixed the bug making NavigatorBase::onLine a pure virtual function, and having two separate
implementations for Navigator and WorkerNavigator. The former uses the singleton directly,
and the latter returns the boolean stored in its instance. The boolean value is updated
via WorkerMessagingProxy when the online status changes.

No new tests.

  • page/Navigator.cpp:

(WebCore::Navigator::onLine const):

  • page/Navigator.h:
  • page/NavigatorBase.cpp:

(WebCore::NavigatorBase::onLine): Deleted.

  • page/NavigatorBase.h:
  • page/WorkerNavigator.cpp:

(WebCore::WorkerNavigator::WorkerNavigator):
(WebCore::WorkerNavigator::onLine const):

  • page/WorkerNavigator.h:
  • platform/network/NetworkStateNotifier.cpp:

(WebCore::NetworkStateNotifier::singleton):

  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):

  • workers/DedicatedWorkerGlobalScope.h:
  • workers/DedicatedWorkerThread.cpp:

(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):

  • workers/DedicatedWorkerThread.h:
  • workers/Worker.cpp:

(WebCore::Worker::notifyFinished):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::navigator):
(WebCore::WorkerGlobalScope::setIsOnline):

  • workers/WorkerGlobalScope.h:
  • workers/WorkerGlobalScopeProxy.h:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::notifyNetworkStateChange):

  • workers/WorkerMessagingProxy.h:
  • workers/WorkerThread.cpp:

(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):

  • workers/WorkerThread.h:
  • workers/service/ServiceWorkerGlobalScope.cpp:

(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):

  • workers/service/ServiceWorkerGlobalScope.h:
  • workers/service/context/ServiceWorkerThread.cpp:

(WebCore::ServiceWorkerThread::ServiceWorkerThread):
(WebCore::ServiceWorkerThread::createWorkerGlobalScope):

  • workers/service/context/ServiceWorkerThread.h:
10:43 PM Changeset in webkit [224320] by jiewen_tan@apple.com
  • 47 edits in trunk/Source

Let is<T>() accept RefPtrs
https://bugs.webkit.org/show_bug.cgi?id=178612
<rdar://problem/35102004>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Get rid of .get() for all is<T>() calls.

No changes in behaviors.

  • bindings/js/JSElementCustom.cpp:

(WebCore::createNewElementWrapper):

  • bindings/js/JSMediaStreamTrackCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::createWrapperInline):

  • bindings/js/JSTextCustom.cpp:

(WebCore::toJSNewlyCreated):

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::loadSubimages):

  • css/CSSFontFaceSet.cpp:

(WebCore::CSSFontFaceSet::matchingFaces):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapNinePieceImage):

  • css/FontFace.cpp:

(WebCore::FontFace::create):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::createGridTrackList):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueCursor):
(WebCore::StyleBuilderCustom::applyValueContent):
(WebCore::StyleBuilderCustom::applyValueWillChange):

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::propertyAsColor const):
(WebCore::StyleProperties::propertyAsValueID const):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::createFilterOperations):

  • css/TransformFunctions.cpp:

(WebCore::transformsForValue):

  • css/ViewportStyleResolver.cpp:

(WebCore::ViewportStyleResolver::getViewportArgumentValue const):

  • dom/Document.cpp:

(WebCore::Document::setBodyOrFrameset):
(WebCore::Document::setFocusedElement):
(WebCore::Document::updateHoverActiveState):

  • dom/Element.cpp:

(WebCore::Element::setOuterHTML):

  • dom/Range.cpp:

(WebCore::Range::insertNode):

  • editing/ApplyStyleCommand.cpp:

(WebCore::toIdentifier):
(WebCore::ApplyStyleCommand::applyBlockStyle):
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):

  • editing/EditingStyle.cpp:

(WebCore::identifierForStyleProperty):
(WebCore::HTMLElementEquivalent::valueIsPresentInStyle const):
(WebCore::EditingStyle::extractFontSizeDelta):
(WebCore::EditingStyle::textDirection const):
(WebCore::textDecorationValueList):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::legacyFontSize const):
(WebCore::EditingStyle::textDirectionForSelection):
(WebCore::StyleChange::StyleChange):
(WebCore::StyleChange::extractTextStyles):
(WebCore::diffTextDecorations):

  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::updateAppearance):

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::findAssociatedForm):

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::imageElement const):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setOuterText):
(WebCore::HTMLElement::dirAttributeChanged):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::rendererIsNeeded):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor const):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::dataList const):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::setText):
(WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel const):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::isKeyboardFocusable const):
(WebCore::HTMLPlugInElement::isUserObservable const):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::selectOption):

  • html/HTMLSummaryElement.cpp:

(WebCore::isClickableControl):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):

  • html/RadioInputType.cpp:

(WebCore::RadioInputType::isKeyboardFocusable const):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::attachLater):
(WebCore::HTMLConstructionSite::insertTextNode):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):

  • html/track/TextTrackList.cpp:

(TextTrackList::append):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setNodeName):

  • inspector/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::setJavaScriptPaused):

  • page/FocusController.cpp:

(WebCore::shouldClearSelectionWhenChangingFocusedElement):

  • page/FrameView.cpp:

(WebCore::FrameView::hasCustomScrollbars const):

  • page/Page.cpp:

(WebCore::Page::pluginViews):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformPrepareForWheelEvents):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • testing/Internals.cpp:

(WebCore::deferredStyleRulesCountForList):
(WebCore::deferredGroupRulesCountForList):
(WebCore::deferredKeyframesRulesCountForList):

Source/WTF:

Add support for is<T>() for RefPtrs.

  • wtf/RefPtr.h:

(WTF::is):

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

[curl] Fix build after r224299
https://bugs.webkit.org/show_bug.cgi?id=179155

Unreviewed.

Bug 175597 added the 6th argument of ResourceHandle constructor.
Apply the same change of ResourceHandleCFNet.cpp to
platformLoadResourceSynchronously of ResourceHandleCurl.cpp.

No new tests since there should be no behavioral change other

Patch by Fujii Hironori <Fujii Hironori> on 2017-11-01

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::platformLoadResourceSynchronously):
Added the 6th arguemnt shouldContentEncodingSniff.

9:30 PM Changeset in webkit [224318] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix iOS build after r224312.

  • platform/graphics/cocoa/GraphicsContextCocoa.mm:

(WebCore::GraphicsContext::drawFocusRing):

9:17 PM Changeset in webkit [224317] by jonlee@apple.com
  • 3 edits
    1 add in trunk/PerformanceTests

Add about page for MotionMark
https://bugs.webkit.org/show_bug.cgi?id=179152

Reviewed by Ryosuke Niwa.

  • MotionMark/about.html: Added.
  • MotionMark/index.html:
  • MotionMark/resources/runner/motionmark.css:
9:13 PM Changeset in webkit [224316] by dbates@webkit.org
  • 21 edits in trunk/Source/WebCore

Change Element::didAddUserAgentShadowRoot() to take a reference instead of a pointer
https://bugs.webkit.org/show_bug.cgi?id=179153

Reviewed by Ryosuke Niwa.

Element::didAddUserAgentShadowRoot() is always passed a non-null pointer to the added
ShadowRoot. Therefore we should have didAddUserAgentShadowRoot() take a lvalue reference
to a ShadowRoot.

No functionality changed. So, no new tests.

  • dom/Element.cpp:

(WebCore::Element::addShadowRoot):

  • dom/Element.h:

(WebCore::Element::didAddUserAgentShadowRoot):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):

  • html/HTMLDetailsElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didAddUserAgentShadowRoot):

  • html/HTMLInputElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):

  • html/HTMLMediaElement.h:
  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::didAddUserAgentShadowRoot):

  • html/HTMLMeterElement.h:
  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot):

  • html/HTMLPlugInElement.h:
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):

  • html/HTMLPlugInImageElement.h:
  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::didAddUserAgentShadowRoot):

  • html/HTMLProgressElement.h:
  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):

  • html/HTMLSummaryElement.h:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot):

  • html/HTMLTextAreaElement.h:
9:03 PM Changeset in webkit [224315] by dbates@webkit.org
  • 2 edits in trunk/Source

Fix up ChangeLog description for r224299 as per <https://bugs.webkit.org/show_bug.cgi?id=175597#c33>.

8:34 PM Changeset in webkit [224314] by webkit@devinrousso.com
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: consolidate DOMTreeElement contextmenu items into submenus
https://bugs.webkit.org/show_bug.cgi?id=178996

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/ContextMenu.js:

(WI.ContextSubMenuItem.prototype.appendItem):
(WI.ContextSubMenuItem.prototype.appendSubMenuItem):
(WI.ContextSubMenuItem.prototype.appendCheckboxItem):
(WI.ContextSubMenuItem.prototype.pushItem):
(WI.ContextSubMenuItem.prototype._pushItem): Deleted.
Made pushItem public so that it is possible to create a ContextMenuItem without
immediately adding it to the ContextMenu.

(WI.ContextSubMenuItem.prototype._buildDescriptor):
(WI.ContextMenu.prototype._buildDescriptor):
Filter out submenus that have no items.

  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForDOMNode):

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement.prototype.toggleElementVisibility):
(WI.DOMTreeElement.prototype._populateTagContextMenu):
(WI.DOMTreeElement.prototype._populateTextContextMenu):
(WI.DOMTreeElement.prototype._populateNodeContextMenu):
(WI.DOMTreeElement.prototype._populateForcedPseudoStateItems): Deleted.
Add relevant items to the provided submenus and reorder the entire contextmenu for better
readability and consistency.

  • UserInterface/Views/DOMTreeOutline.js:

(WI.DOMTreeOutline.prototype.populateContextMenu):
Create submenus for Add, Edit, Copy, and Delete, and pass them to the DOMTreeElement
"populate*ContextMenu" functions so that they can add items to each submenu.

(WI.DOMTreeOutline.prototype._hideElement):
Move to DOMTreeElement so that it can be used by a contextmenu item.

8:25 PM Changeset in webkit [224313] by commit-queue@webkit.org
  • 23 edits
    1 copy
    6 adds in trunk

Implement WKFullscreenWindowController for iOS.
https://bugs.webkit.org/show_bug.cgi?id=178924
rdar://problem/34697120

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-11-01
Reviewed by Simon Fraser.

Source/JavaScriptCore:

Enable ENABLE_FULLSCREEN_API for iOS.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Enable ENABLE_FULLSCREEN_API for iOS.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

Enable ENABLE_FULLSCREEN_API for iOS;

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Plumb relevant calls through WKWebView and PageClientImplIOS.

This forms the base implementation for element fullscreen. This will animate an element into fullscreen and back to inline.
It does this by replacing the WKWebView with a placeholder image and presenting the WKWebView with a fullscreen view controller.
This also attempts to preserve UI state of the WKWebView when it is placed back inline.

To enable _WKFullscreenDelegate for iOS, this adds an iOS version of the delegate methods that passes WKWebView instead of NSView.
The iOS version of these functions are renamed to be more specific and disambiguate them from the video fullscreen delegate methods.

This also adds an image asset for the done button.

  • Configurations/FeatureDefines.xcconfig:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView hasFullScreenWindowController]):
(-[WKWebView fullScreenWindowController]):
(-[WKWebView closeFullScreenWindowController]):
(-[WKWebView fullScreenPlaceholderView]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/_WKFullscreenDelegate.h:
  • UIProcess/Cocoa/FullscreenClient.h:
  • UIProcess/Cocoa/FullscreenClient.mm:

(WebKit::FullscreenClient::FullscreenClient):
(WebKit::FullscreenClient::setDelegate):
(WebKit::FullscreenClient::willEnterFullscreen):
(WebKit::FullscreenClient::didEnterFullscreen):
(WebKit::FullscreenClient::willExitFullscreen):
(WebKit::FullscreenClient::didExitFullscreen):

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):

  • UIProcess/ios/WKContentView.mm:
  • UIProcess/ios/WKFullScreenWindowControllerIOS.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKFullscreenDelegate.h.
  • UIProcess/ios/WKFullScreenWindowControllerIOS.mm: Added.

(WebKit::replaceViewWithView):
(WebKit::WKWebViewState::applyTo):
(WebKit::WKWebViewState::store):
(-[_WKTapDelgatingView setTarget:action:]):
(-[_WKTapDelgatingView hitTest:withEvent:]):
(-[_WKFullScreenViewController dealloc]):
(-[_WKFullScreenViewController viewWillTransitionToSize:withTransitionCoordinator:]):
(+[_WKFullScreenViewController configureView:withBackgroundFillOfColor:opacity:filter:]):
(-[_WKFullScreenViewController _updateTransparencyOfVisualEffectView:]):
(-[_WKFullScreenViewController createVisualEffectViewWithFrame:]):
(-[_WKFullScreenViewController loadView]):
(-[_WKFullScreenViewController viewWillAppear:]):
(-[_WKFullScreenViewController viewDidDisappear:]):
(-[_WKFullScreenViewController cancelAction:]):
(-[_WKFullScreenViewController hideCancelButton]):
(-[_WKFullScreenViewController showCancelButton]):
(-[_WKFullScreenViewController setTarget:action:]):
(-[_WKFullScreenViewController prefersStatusBarHidden]):
(-[WKFullscreenAnimationController transitionDuration:]):
(-[WKFullscreenAnimationController animateTransition:]):
(-[WKFullscreenAnimationController animationEnded:]):
(-[WKFullScreenWindowController initWithWebView:page:]):
(-[WKFullScreenWindowController dealloc]):
(-[WKFullScreenWindowController isFullScreen]):
(-[WKFullScreenWindowController webViewPlaceholder]):
(-[WKFullScreenWindowController enterFullScreen]):
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController completedEnterFullScreen]):
(-[WKFullScreenWindowController exitFullScreen]):
(-[WKFullScreenWindowController requestExitFullScreen]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController completedExitFullScreen]):
(-[WKFullScreenWindowController close]):
(-[WKFullScreenWindowController _manager]):
(-[WKFullScreenWindowController animationControllerForPresentedController:presentingController:sourceController:]):
(-[WKFullScreenWindowController animationControllerForDismissedController:]):

  • WebKit.xcassets/Contents.json: Added.
  • WebKit.xcassets/Done.imageset/Contents.json: Added.
  • WebKit.xcassets/Done.imageset/Done.pdf: Added.
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::willEnterFullScreen):
(WebKit::WebFullScreenManager::willExitFullScreen):

Source/WebKitLegacy/mac:

Enable ENABLE_FULLSCREEN_API for iOS. Fix a build error.

  • Configurations/FeatureDefines.xcconfig:
  • WebView/WebView.mm:

(-[WebView fullScreenPlaceholderView]):

Tools:

Enable ENABLE_FULLSCREEN_API for iOS.

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
8:08 PM Changeset in webkit [224312] by Simon Fraser
  • 18 edits in trunk

Misc display list and other cleanup
https://bugs.webkit.org/show_bug.cgi?id=179150

Reviewed by Tim Horton.

Source/WebCore:

A few functions in GraphicsContext would assert when using display lists, because they
had no recording clause. Fix them (ellipse drawing, and focus ring drawing).

Use #pragma once in more places.

Add system trace points for display list recording.

No behavior change for non-display list code.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::fillEllipse):
(WebCore::GraphicsContext::strokeEllipse):

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

(WebCore::GraphicsLayerCA::recursiveCommitChanges):

  • platform/graphics/ca/cocoa/WebSystemBackdropLayer.h:
  • platform/graphics/ca/cocoa/WebTiledBackingLayer.h:
  • platform/graphics/cg/GraphicsContextCG.h:
  • platform/graphics/cocoa/GraphicsContextCocoa.mm:

(WebCore::GraphicsContext::drawFocusRing):

  • platform/graphics/displaylists/DisplayList.h:
  • platform/graphics/displaylists/DisplayListItems.h:

(WebCore::DisplayList::DrawFocusRingPath::create):
(WebCore::DisplayList::DrawFocusRingPath::width const):
(WebCore::DisplayList::DrawFocusRingPath::offset const):
(WebCore::DisplayList::DrawFocusRingPath::DrawFocusRingPath):
(WebCore::DisplayList::DrawFocusRingRects::create):
(WebCore::DisplayList::DrawFocusRingRects::width const):
(WebCore::DisplayList::DrawFocusRingRects::offset const):
(WebCore::DisplayList::DrawFocusRingRects::DrawFocusRingRects):

  • platform/graphics/displaylists/DisplayListRecorder.cpp:

(WebCore::DisplayList::Recorder::restore):
(WebCore::DisplayList::Recorder::drawFocusRing):

  • platform/graphics/displaylists/DisplayListRecorder.h:
  • platform/graphics/displaylists/DisplayListReplayer.h:
  • platform/graphics/mac/WebLayer.h:

Source/WTF:

Add system trace points for display list recording.

  • wtf/SystemTracing.h:

Tools:

Add system trace points for display list recording.

  • Tracing/SystemTracePoints.plist:
8:00 PM Changeset in webkit [224311] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Fix compile errors in MediaPlayerPrivateAVFoundationCF.cpp
https://bugs.webkit.org/show_bug.cgi?id=179148

Reviewed by Ryosuke Niwa.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::resolvedURLChanged):

6:59 PM Changeset in webkit [224310] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Adjust RenderElement size assertion to be more accurate
https://bugs.webkit.org/show_bug.cgi?id=179146

Reviewed by Simon Fraser.

  • rendering/RenderElement.cpp:

Alignment rules for bitfields differ on different platforms. If we're
more truthful in our mimicing the layout of RenderElement, we can avoid
the assertion firing on more configurations.

6:54 PM Changeset in webkit [224309] by mark.lam@apple.com
  • 67 edits in trunk/Source

Add support to throw OOM if MarkedArgumentBuffer may overflow.
https://bugs.webkit.org/show_bug.cgi?id=179092
<rdar://problem/35116160>

Reviewed by Saam Barati.

Source/JavaScriptCore:

The test for overflowing a MarkedArgumentBuffer will run for a ridiculously long
time, which renders it unsuitable for automated tests. Instead, I've run a
test manually to verify that an OutOfMemoryError will be thrown when an overflow
occurs.

The MarkedArgumentBuffer's destructor will now assert that the client has indeed
checked for an overflow after invoking methods that may result in an overflow i.e.
the destructor checks that MarkedArgumentBuffer::hasOverflowed() has been called.
This is only done on debug builds.

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeRegExp):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):

  • dfg/DFGOperations.cpp:
  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::createInjectedScript):

  • inspector/JSJavaScriptCallFrame.cpp:

(Inspector::JSJavaScriptCallFrame::scopeChain const):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeProgram):

  • jsc.cpp:

(functionDollarAgentReceiveBroadcast):

  • runtime/ArgList.cpp:

(JSC::MarkedArgumentBuffer::slowEnsureCapacity):
(JSC::MarkedArgumentBuffer::expandCapacity):
(JSC::MarkedArgumentBuffer::slowAppend):

  • runtime/ArgList.h:

(JSC::MarkedArgumentBuffer::~MarkedArgumentBuffer):
(JSC::MarkedArgumentBuffer::appendWithAction):
(JSC::MarkedArgumentBuffer::append):
(JSC::MarkedArgumentBuffer::appendWithCrashOnOverflow):
(JSC::MarkedArgumentBuffer::hasOverflowed):
(JSC::MarkedArgumentBuffer::setNeedsOverflowCheck):
(JSC::MarkedArgumentBuffer::clearNeedsOverflowCheck):

  • runtime/ArrayPrototype.cpp:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/GetterSetter.cpp:

(JSC::callSetter):

  • runtime/IteratorOperations.cpp:

(JSC::iteratorNext):
(JSC::iteratorClose):

  • runtime/JSBoundFunction.cpp:

(JSC::boundThisNoArgsFunctionCall):
(JSC::boundFunctionCall):
(JSC::boundThisNoArgsFunctionConstruct):
(JSC::boundFunctionConstruct):

  • runtime/JSGenericTypedArrayViewConstructorInlines.h:

(JSC::constructGenericTypedArrayViewFromIterator):

  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:

(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::haveABadTime):

  • runtime/JSInternalPromise.cpp:

(JSC::JSInternalPromise::then):

  • runtime/JSJob.cpp:

(JSC::JSJobMicrotask::run):

  • runtime/JSMapIterator.cpp:

(JSC::JSMapIterator::createPair):

  • runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::provideFetch):
(JSC::JSModuleLoader::loadAndEvaluateModule):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::linkAndEvaluateModule):
(JSC::JSModuleLoader::requestImportModule):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::toJSONImpl):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Walker::callReviver):

  • runtime/JSObject.cpp:

(JSC::ordinarySetSlow):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::hasInstance):

  • runtime/JSPromise.cpp:

(JSC::JSPromise::initialize):
(JSC::JSPromise::resolve):

  • runtime/JSPromiseDeferred.cpp:

(JSC::newPromiseCapability):
(JSC::callFunction):

  • runtime/JSSetIterator.cpp:

(JSC::JSSetIterator::createPair):

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::parse):

  • runtime/MapConstructor.cpp:

(JSC::constructMap):

  • runtime/ObjectConstructor.cpp:

(JSC::defineProperties):

  • runtime/ProxyObject.cpp:

(JSC::performProxyGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::performPut):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):

  • runtime/ReflectObject.cpp:

(JSC::reflectObjectConstruct):

  • runtime/SetConstructor.cpp:

(JSC::constructSet):

  • runtime/StringPrototype.cpp:

(JSC::replaceUsingRegExpSearch):
(JSC::replaceUsingStringSearch):

  • runtime/WeakMapConstructor.cpp:

(JSC::constructWeakMap):

  • runtime/WeakSetConstructor.cpp:

(JSC::constructWeakSet):

  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::wasmToJS):

Source/WebCore:

No new tests. The test for overflowing a MarkedArgumentBuffer will run for a
ridiculously long time, which renders it unsuitable for automated tests.

  • Modules/plugins/QuickTimePluginReplacement.mm:

(WebCore::QuickTimePluginReplacement::installReplacement):

  • bindings/js/JSCustomElementInterface.cpp:

(WebCore::constructCustomElementSynchronously):
(WebCore::JSCustomElementInterface::upgradeElement):
(WebCore::JSCustomElementInterface::invokeCallback):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSDOMBuiltinConstructorBase.cpp:

(WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments):

  • bindings/js/JSDOMConvertSequences.h:

(WebCore::JSConverter<IDLSequence<T>>::convert):
(WebCore::JSConverter<IDLFrozenArray<T>>::convert):

  • bindings/js/JSDOMConvertWebGL.cpp:

(WebCore::convertToJSValue):

  • bindings/js/JSDOMIterator.h:

(WebCore::jsPair):
(WebCore::iteratorForEach):

  • bindings/js/JSDOMMapLike.cpp:

(WebCore::forwardFunctionCallToBackingMap):
(WebCore::forwardForEachCallToBackingMap):

  • bindings/js/JSDOMPromiseDeferred.cpp:

(WebCore::DeferredPromise::callFunction):
(WebCore::createRejectedPromiseWithTypeError):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction const):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::callPlugin):

  • bindings/js/JSReadableStreamPrivateConstructors.cpp:

(WebCore::constructJSReadableStreamReaderGeneric):

  • bindings/js/ReadableStream.cpp:

(WebCore::ReadableStream::create):
(WebCore::ReadableStream::pipeTo):
(WebCore::ReadableStream::tee):
(WebCore::ReadableStream::lock):
(WebCore::checkReadableStream):

  • bindings/js/ReadableStreamDefaultController.cpp:

(WebCore::ReadableStreamDefaultController::invoke):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::recordObject):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::CloneDeserializer::deserialize):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackImplementationContent):

  • bindings/scripts/test/JS/JSTestCallbackFunction.cpp:

(WebCore::JSTestCallbackFunction::handleEvent):

  • bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp:

(WebCore::JSTestCallbackFunctionRethrow::handleEvent):

  • bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp:

(WebCore::JSTestCallbackFunctionWithThisObject::handleEvent):

  • bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp:

(WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent):

  • bindings/scripts/test/JS/JSTestCallbackInterface.cpp:

(WebCore::JSTestCallbackInterface::callbackWithNoParam):
(WebCore::JSTestCallbackInterface::callbackWithArrayParam):
(WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallbackInterface::callbackWithStringList):
(WebCore::JSTestCallbackInterface::callbackWithBoolean):
(WebCore::JSTestCallbackInterface::callbackRequiresThisToPass):
(WebCore::JSTestCallbackInterface::callbackWithAReturnValue):
(WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions):
(WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck):
(WebCore::JSTestCallbackInterface::callbackWithThisObject):

  • bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp:

(WebCore::JSTestVoidCallbackFunction::handleEvent):

  • bridge/NP_jsobject.cpp:
  • bridge/objc/WebScriptObject.mm:

(-[WebScriptObject callWebScriptMethod:withArguments:]):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateCaptionContainer):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
(WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange):
(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):

  • testing/Internals.cpp:

(WebCore::Internals::cloneArrayBuffer):

5:16 PM Changeset in webkit [224308] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

[Apple Pay] Update the enum traits for PaymentError::ContactField
https://bugs.webkit.org/show_bug.cgi?id=179145
<rdar://problem/35303108>

Reviewed by Tim Horton.

Account for the values added to PaymentError::ContactField in r220718 and r223580.

  • Modules/applepay/ApplePaySessionPaymentRequest.h:
4:32 PM Changeset in webkit [224307] by dbates@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove unused Element::alwaysCreateUserAgentShadowRoot()
https://bugs.webkit.org/show_bug.cgi?id=179141

Reviewed by Ryosuke Niwa.

In changeset r208135 Element::createShadowRoot() was removed. And Element::createShadowRoot()
was the only caller of Element::alwaysCreateUserAgentShadowRoot(). We should remove
Element::alwaysCreateUserAgentShadowRoot() as it is unused.

  • dom/Element.h:

(WebCore::Element::didAddUserAgentShadowRoot):
(WebCore::Element::alwaysCreateUserAgentShadowRoot const): Deleted.

  • html/HTMLButtonElement.h:
  • html/HTMLFormControlElement.h:
  • html/HTMLMediaElement.h:
4:24 PM Changeset in webkit [224306] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Drop running Service Worker Jobs on a background thread
https://bugs.webkit.org/show_bug.cgi?id=179142

Reviewed by Youenn Fablet.

Drop running Service Worker Jobs on a background thread. We don't really need to
and this simplifies the logic a lot.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::getRegistration):
(WebCore::SWServer::addRegistration):
(WebCore::SWServer::removeRegistration):

  • workers/service/server/SWServerJobQueue.cpp:

(WebCore::SWServerJobQueue::scriptContextStarted):
(WebCore::SWServerJobQueue::startNextJob):
(WebCore::SWServerJobQueue::runRegisterJob):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::runUpdateJob):
(WebCore::SWServerJobQueue::finishCurrentJob):

  • workers/service/server/SWServerJobQueue.h:
4:11 PM Changeset in webkit [224305] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, try to fix Windows build.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::createAVAssetForURL):

4:04 PM Changeset in webkit [224304] by achristensen@apple.com
  • 2 edits in trunk/LayoutTests

Mark media loading tests as only flaky on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=178272

  • platform/mac-wk1/TestExpectations:

In r224267 I marked a bunch of tests as flaky on WebKit1.
They are media-related tests, and they are only failing on Sierra WK1,
so mark them as such so we will notice regressions in new operating systems.

3:47 PM Changeset in webkit [224303] by Ross Kirsling
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve UX of Layers tab visualization
https://bugs.webkit.org/show_bug.cgi?id=178966

Reviewed by Devin Rousso.

  • UserInterface/Views/Layers3DContentView.js:

(WI.Layers3DContentView):
(WI.Layers3DContentView.prototype.initialLayout):
(WI.Layers3DContentView.prototype._canvasMouseDown):
(WI.Layers3DContentView.prototype._createLayerGroup): Renamed from _addLayerGroup.
(WI.Layers3DContentView.prototype._updateLayerGroupPosition): Merged into _updateLayers.
Set up zoom and pan.

(WI.Layers3DContentView.prototype._animate):
(WI.Layers3DContentView.prototype._restrictPan):
Restrict pan to bounding box on XY plane.

(WI.Layers3DContentView.prototype.layout):
(WI.Layers3DContentView.prototype._updateDocument):
(WI.Layers3DContentView.prototype._resetCamera):
On new document, throw out all old layers and center the camera on the new document layer.

(WI.Layers3DContentView.prototype.selectLayerById):
(WI.Layers3DContentView.prototype._centerOnSelection):
Recenter the camera when layer group selection is updated programmatically.

(WI.Layers3DContentView.prototype._updateLayers):
(WI.Layers3DContentView.prototype._createLayerMesh):
Fix visual artifact due to "depthWrite" flag.

  • UserInterface/Views/LayerDetailsSidebarPanel.js:

(WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
Suppress selection update event when the data grid selection is updated programmatically.

  • UserInterface/Views/DataGridNode.js:

(WI.DataGridNode.prototype.revealAndSelect):
Allow forwarding of select()'s parameter.

3:35 PM Changeset in webkit [224302] by msaboff@apple.com
  • 5 edits
    1 add in trunk

Integer overflow in code generated by LoadVarargs processing in DFG and FTL.
https://bugs.webkit.org/show_bug.cgi?id=179140

Reviewed by Saam Barati.

JSTests:

New regression test.

  • stress/regress-179140.js: Added.

(testWithoutFTL):
(testWithFTL):

Source/JavaScriptCore:

Added overflow checks to computation of arg count plus this.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs):

3:32 PM Changeset in webkit [224301] by Chris Dumez
  • 10 edits
    2 copies in trunk/Source/WebCore

Split JobQueue logic out of SWServerRegistration
https://bugs.webkit.org/show_bug.cgi?id=179126

Reviewed by Brady Eidson.

Split JobQueue logic out of SWServerRegistration and into a SWServerJobQueue class to match the Service Workers
specification more closely.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):

  • workers/service/ServiceWorkerRegistrationData.cpp:

(WebCore::ServiceWorkerRegistrationData::isolatedCopy const):

  • workers/service/ServiceWorkerRegistrationData.h:

(WebCore::ServiceWorkerRegistrationData::encode const):
(WebCore::ServiceWorkerRegistrationData::decode):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::~SWServer):
(WebCore::SWServer::getRegistration):
(WebCore::SWServer::addRegistration):
(WebCore::SWServer::removeRegistration):
(WebCore::SWServer::Connection::scriptContextStarted):
(WebCore::SWServer::scheduleJob):
(WebCore::SWServer::scriptFetchFinished):
(WebCore::SWServer::scriptContextFailedToStart):
(WebCore::SWServer::scriptContextStarted):

  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerJobQueue.cpp: Added.

(WebCore::SWServerJobQueue::SWServerJobQueue):
(WebCore::SWServerJobQueue::~SWServerJobQueue):
(WebCore::SWServerJobQueue::enqueueJob):
(WebCore::SWServerJobQueue::scriptFetchFinished):
(WebCore::SWServerJobQueue::scriptContextFailedToStart):
(WebCore::SWServerJobQueue::scriptContextStarted):
(WebCore::SWServerJobQueue::startNextJob):
(WebCore::SWServerJobQueue::runRegisterJob):
(WebCore::SWServerJobQueue::runUnregisterJob):
(WebCore::SWServerJobQueue::runUpdateJob):
(WebCore::SWServerJobQueue::rejectWithExceptionOnMainThread):
(WebCore::SWServerJobQueue::resolveWithRegistrationOnMainThread):
(WebCore::SWServerJobQueue::resolveCurrentRegistrationJobOnMainThead):
(WebCore::SWServerJobQueue::resolveWithUnregistrationResultOnMainThread):
(WebCore::SWServerJobQueue::startScriptFetchFromMainThread):
(WebCore::SWServerJobQueue::rejectCurrentJob):
(WebCore::SWServerJobQueue::resolveCurrentRegistrationJob):
(WebCore::SWServerJobQueue::resolveCurrentUnregistrationJob):
(WebCore::SWServerJobQueue::startScriptFetchForCurrentJob):
(WebCore::SWServerJobQueue::finishCurrentJob):

  • workers/service/server/SWServerJobQueue.h: Added.
  • workers/service/server/SWServerRegistration.cpp:

(WebCore::SWServerRegistration::SWServerRegistration):
(WebCore::SWServerRegistration::~SWServerRegistration):
(WebCore::SWServerRegistration::data const):

  • workers/service/server/SWServerRegistration.h:

(WebCore::SWServerRegistration::key const):
(WebCore::SWServerRegistration::isUninstalling const):
(WebCore::SWServerRegistration::setIsUninstalling):
(WebCore::SWServerRegistration::setLastUpdateTime):
(WebCore::SWServerRegistration::updateViaCache const):
(WebCore::SWServerRegistration::setActiveServiceWorkerIdentifier):

3:27 PM Changeset in webkit [224300] by jmarcell@apple.com
  • 7 edits in branches/safari-604.4.7.10-branch/Source

Versioning.

3:23 PM Changeset in webkit [224299] by dbates@webkit.org
  • 34 edits
    1 move in trunk

XMLHttpRequest should not sniff content encoding
https://bugs.webkit.org/show_bug.cgi?id=175597
<rdar://problem/34912624>

Reviewed by Alex Christensen.

Source/WebCore:

Fixes an issue where the body of an HTTP response associated with an XHR request to a .gz file
would be automatically gzipped decompressed if the HTTP response omitted a Content-Encoding HTTP
header. Specifically, such a response would be treated analogous to a response with headers
"Content-Type: application/gzip" and "Content-Encoding: identity". This behavior does not conform
the HTTP 1.1 spec. and breaks Epic Zen Garden, <https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html>.

On macOS 10.13.2 opt out of content encoding sniffing when making an XHR request. We likely can
selectively opt out of content encoding sniffing for other network requests. This will be done
in subsequent commits to make it straightforward to identify site breakage (if any).

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::start): Pass content encoding policy.

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::shouldSniffContentEncoding const): Added.

  • loader/ResourceLoaderOptions.h:
  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::createResourceHandle): Enable content encoding sniff to match existing behavior.

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::BlobResourceHandle): Ditto. We should look to disable content encoding sniffing in
a subsequent change.

  • platform/network/PingHandle.h: Ditto.
  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::ResourceHandle): Modified to take a boolean as to whether to enable content encoding sniffing.
(WebCore::ResourceHandle::create): Ditto.
(WebCore::ResourceHandle::shouldContentEncodingSniff const): Added.

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal): Modified to take a boolean as to whether to enable content
encoding sniffing.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection): Modified to take a boolean as to whether to enable content encoding
sniffing and apply this policy to the CFMutableURLRequestRef object when building on macOS 10.13.2.
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Enable content encoding sniff to match existing behavior.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::applySniffingPoliciesAndStoragePartitionIfNeeded): Added helper function to apply sniffing policies
and storage partition, if applicable.
(WebCore::ResourceHandle::createNSURLConnection): Modified to take a boolean as to whether to enable content encoding
sniffing. Calls adjustNSRequestApplyingPolicies() to apply this policy.
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Enable content encoding sniff to match existing behavior.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::create): Modified to take a boolean as to whether to enable content encoding sniffing.
(WebCore::ResourceHandle::ResourceHandle): Ditto.
(WebCore::ResourceHandle::releaseForDownload): Pass content encoding policy.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest): Do not enable content encoding sniffing for the request.

Source/WebCore/PAL:

Forward declare CFNetwork SPI.

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

Fixes an issue where the body of an HTTP response associated with an XHR request to a .gz file
would be automatically gzipped decompressed if the HTTP response omitted a Content-Encoding HTTP
header. Specifically, such a response would be treated analogous to a response with headers
"Content-Type: application/gzip" and "Content-Encoding: identity". This behavior does not conform
the HTTP 1.1 spec. and breaks Epic Zen Garden, <https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html>.

On macOS 10.13.2 opt out of content encoding sniffing when making an XHR request. We likely can
selectively opt out of content encoding sniffing for other network requests. This will be done
in subsequent commits to make it straightforward to identify site breakage (if any).

  • NetworkProcess/Downloads/Download.cpp:

(WebKit::Download::start): Enable content encoding sniff to match existing behavior.
(WebKit::Download::startWithHandle): Ditto.

  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::create): Pass through the content encoding sniffing policy.

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::NetworkLoad): Ditto.

  • NetworkProcess/NetworkLoadParameters.h:
  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const): Encode content encoding sniffing policy.
(WebKit::NetworkResourceLoadParameters::decode): Decode content encoding sniffing policy.

  • NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:

(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad): Enable content encoding sniff to match existing
behavior. We should look to disable content encoding sniffing in a subsequent change.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::applySniffingPoliciesAndBindRequestToInferfaceIfNeeded): Added helper function
to apply sniffing policies and bind request to interface, if applicable.
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): Modified to take the content encoding sniffing
policy. Calls applySniffingPoliciesAndBindRequestToInferfaceIfNeeded() to apply this policy. Also use
convenience function URL::isLocalFile() to determine if the URL is a file URL.

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup): Pass through the content encoding sniffing policy.

  • NetworkProcess/soup/NetworkDataTaskSoup.h:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess): Pass through the content encoding sniffing policy.
(WebKit::WebLoaderStrategy::loadResourceSynchronously): Enable content encoding sniff to match existing
behavior.

LayoutTests:

Fix up the test http/tests/xmlhttprequest/gzip-content-type-no-content-encoding.html to
actually check that we do not sniff content encoding. CFNetwork only sniffs the URL
for the content encoding when the filename ends with known file extension (e.g. .gz)
and the HTTP response does not specifying a Content-Encoding HTTP header.

  • TestExpectations: Skip the test on all platforms. Once <rdar://problem/33822249> ships

then we will enable the test on all platforms that use CFNetwork.

  • http/tests/xmlhttprequest/gzip-content-type-no-content-encoding-expected.txt:
  • http/tests/xmlhttprequest/gzip-content-type-no-content-encoding.html:
  • http/tests/xmlhttprequest/resources/.htaccess: Interpret files with .php.gz extension as PHP files.
  • http/tests/xmlhttprequest/resources/gzip-lorem-no-content-encoding.php.gz: Renamed from LayoutTests/http/tests/xmlhttprequest/resources/gzip-lorem-no-content-encoding.php.
  • platform/mac/TestExpectations: Mark the test as flaky (Pass Failure) until <rdar://problem/33822249> ships.
3:20 PM Changeset in webkit [224298] by jmarcell@apple.com
  • 7 edits in branches/safari-604.4.7.1-branch/Source

Versioning.

2:41 PM Changeset in webkit [224297] by jer.noble@apple.com
  • 7 edits in trunk/Source/WebCore

[Performance] Painting <video> to canvas spends a lot of time in URL getting and parsing
https://bugs.webkit.org/show_bug.cgi?id=179131

Reviewed by Eric Carlson.

Every time a <video> backed by MediaPlayerPrivateAVFoundation is asked to paint, it is first
queried whether it has a single security origin. To do this, the media player asks
AVFoundation what the "resolvedURL" of the asset is. This answer never changes after
metadata is first fetched, so the answer should be cached. To do so, add a m_resolvedURL
ivar to MediaPlayerPrivateAVFoundation, and add a setResolvedURL() and resolvedURLChanged()
method to re-query the value. Also create ivars for the security origin rather than re-
parsing them every time.

Drive-by fix: clean up all the instances where we pass a String rather than a URL (and thus
have to re-parse the URL at each point).

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::load):
(WebCore::MediaPlayerPrivateAVFoundation::hasSingleSecurityOrigin const):
(WebCore::MediaPlayerPrivateAVFoundation::setResolvedURL):
(WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
(WebCore::MediaPlayerPrivateAVFoundation::setPreload):
(WebCore::MediaPlayerPrivateAVFoundation::resolvedURL const): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::resolvedURL const):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::resolvedURLChanged):
(WebCore::AVFWrapper::createAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationCF::resolvedURL const): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationCF::hasSingleSecurityOrigin const): Deleted.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::canonicalURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
(WebCore::canonicalURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin const): Deleted.

2:26 PM Changeset in webkit [224296] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

innerText->renderBox() can be null in HTMLTextFormControlElement::setSelectionRange
https://bugs.webkit.org/show_bug.cgi?id=179103

Reviewed by Antti Koivisto.

Added a missing null check.

Unfortunately, no new tests since we don't have a working reproduction for trunk code.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange): Added a null check.

2:23 PM Changeset in webkit [224295] by beidson@apple.com
  • 19 edits in trunk/Source

Plumbing for handling SW scripts failing to evaluate
https://bugs.webkit.org/show_bug.cgi?id=178926

Reviewed by Chris Dumez.

Source/WebCore:

No new tests (Currently no observable behavior change).

In an upcoming patch we'll actually run the appropriate observable steps for when
a ServiceWorker script fails to evaluate.

This is a standalone refactoring + plumbing patch that will make the observable changes
easier to review.

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):

  • bindings/js/WorkerScriptController.h:

(WebCore::WorkerScriptController::workerGlobalScopeWrapper):
(WebCore::WorkerScriptController::vm):
(WebCore::WorkerScriptController::initScriptIfNeeded):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::start):
(WebCore::WorkerThread::workerThread):

  • workers/WorkerThread.h:
  • workers/service/context/SWContextManager.cpp:

(WebCore::SWContextManager::registerServiceWorkerThreadForUpdate):
(WebCore::SWContextManager::registerServiceWorkerThread): Deleted.

  • workers/service/context/SWContextManager.h:
  • workers/service/context/ServiceWorkerThread.h:

(WebCore::ServiceWorkerThread::serverConnectionIdentifier const):
(WebCore::ServiceWorkerThread::contextData const):

  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::ServiceWorkerThreadProxy::create):
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::updateWorker):
(WebCore::SWServer::createWorker): Deleted.

  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerRegistration.cpp:

(WebCore::SWServerRegistration::scriptFetchFinished):
(WebCore::SWServerRegistration::scriptContextFailedToStart):

Source/WebKit:

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::updateServiceWorkerContext):
(WebKit::WebSWServerConnection::setContextConnection):
(WebKit::WebSWServerConnection::startServiceWorkerContext): Deleted.

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::updateServiceWorker):
(WebKit::WebSWContextManagerConnection::serviceWorkerStartedWithMessage):
(WebKit::WebSWContextManagerConnection::startServiceWorker): Deleted.

  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • WebProcess/Storage/WebSWContextManagerConnection.messages.in:
2:06 PM Changeset in webkit [224294] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Mark a couple of service worker tests as flaky.

2:04 PM Changeset in webkit [224293] by commit-queue@webkit.org
  • 2 edits
    1 move
    4 deletes in trunk/Source/WebInspectorUI

Web Inspector: Combine all storage icon files into a single file
https://bugs.webkit.org/show_bug.cgi?id=179134

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-11-01
Reviewed by Devin Rousso.

  • UserInterface/Main.html:
  • UserInterface/Views/CookieIcon.css: Removed.
  • UserInterface/Views/DOMStorageIcons.css: Removed.
  • UserInterface/Views/DatabaseIcon.css: Removed.
  • UserInterface/Views/DatabaseTableIcon.css: Removed.
  • UserInterface/Views/StorageIcons.css: Added.

(.application-cache-manifest .icon):
(.application-cache-frame .icon):
(.cookie-icon .icon):
(.local-storage-icon .icon):
(.session-storage-icon .icon):
(.database-icon .icon):
(.database-table-icon .icon):

1:49 PM Changeset in webkit [224292] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.7.10.1

Tag Safari-604.4.7.10.1.

1:44 PM Changeset in webkit [224291] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Tools

[Win] Detect Visual Studio 2017 location
https://bugs.webkit.org/show_bug.cgi?id=175275

Patch by Stephan Szabo <stephan.szabo@sony.com> on 2017-11-01
Reviewed by Yusuke Suzuki.

  • Scripts/build-jsc:
  • Scripts/build-webkit:
  • Scripts/update-vswhere.py: Added.
  • Scripts/webkitdirs.pm:

(requireModulesForVSWhere):
(pickCurrentVisualStudioInstallation):
(pickLegacyVisualStudioInstallation):
(visualStudioInstallDir):
(visualStudioInstallDirVSWhere):
(visualStudioInstallDirLegacy):
(visualStudioInstallDirFallback):
(msBuildInstallDir):
(visualStudioVersion):
(visualStudioVersionFromInstallDir):
(generateBuildSystemFromCMakeProject):

1:38 PM Changeset in webkit [224290] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Assert that NoEventDispatchAssertion is not in the stack when executing a script
https://bugs.webkit.org/show_bug.cgi?id=179107

Reviewed by Simon Fraser.

Assert that NoEventDispatchAssertion::isEventAllowedInMainThread() is true when we're about to execute a script
by adding the assertion in ScriptController::canExecuteScripts which gets called with AboutToExecuteScript
whenever we're about to run scripts in event handlers, etc...

We don't assert the construction of event handlers in JSLazyEventListener since this happens while copying
the DOM tree inside a SVG use element and creating a event handler's JS function won't execute arbitrary scripts.

No new tests since there should be no behavioral change other

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction const): Use newly added AboutToCreateEventListener.
(WebCore::JSLazyEventListener::create): Ditto.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::canExecuteScripts): Added the assertion.

  • bindings/js/ScriptController.h:
1:30 PM Changeset in webkit [224289] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 43

Added a tag for Safari Technology Preview release 43.

1:12 PM Changeset in webkit [224288] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Fix the !USE(QUICKLOOK) build
https://bugs.webkit.org/show_bug.cgi?id=179128

Reviewed by Wenson Hsieh.

  • TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
12:39 PM Changeset in webkit [224287] by Chris Dumez
  • 11 edits in trunk

Regression(r219659): Can no longer log into ifttt.com using Google account
https://bugs.webkit.org/show_bug.cgi?id=179117

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT tests.

  • web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
  • web-platform-tests/html/browsers/the-window-object/window-indexed-properties-expected.txt:

Source/WebCore:

After r219659, it is no longer possible to log into ifttt.com using a Google
account:

It turns out that this change to the HTML specification was not Web-compatible:
See https://bugzilla.mozilla.org/show_bug.cgi?id=1412741 & https://github.com/whatwg/html/issues/3183

This patch reverts r219659 for now until we agree on what behavior should get
specified.

No new tests, rebaselined existing tests.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::JSDOMWindow::getOwnPropertyNames):

  • bindings/js/JSLocationCustom.cpp:

(WebCore::getOwnPropertySlotCommon):
(WebCore::JSLocation::getOwnPropertyNames):

LayoutTests:

Update / rebaseline existing test.

  • http/tests/security/cross-origin-descriptors-expected.txt:
  • http/tests/security/cross-origin-descriptors.html:
12:10 PM Changeset in webkit [224286] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles Redesign: Hovering over a selector should highlight matching elements on the page
https://bugs.webkit.org/show_bug.cgi?id=179040

Reviewed by Devin Rousso.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
Use mouseenter/mouseleave events instead of mousein/mouseout (as in the old styles sidebar)
to avoid unnecessary events being fired.

(WI.SpreadsheetCSSStyleDeclarationSection.prototype._highlightNodesWithSelector):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._hideDOMNodeHighlight):

11:54 AM Changeset in webkit [224285] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, use weakPointer instead of FTLOutput::weakPointer
https://bugs.webkit.org/show_bug.cgi?id=178934

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileStringSlice):

11:50 AM Changeset in webkit [224284] by fred.wang@free.fr
  • 11 edits
    2 adds in trunk

Make iOS Find UI reveal matches in scrollable elements
https://bugs.webkit.org/show_bug.cgi?id=178789

Patch by Frederic Wang <fwang@igalia.com> on 2017-11-01
Reviewed by Tim Horton.

Source/WebKit:

  • WebProcess/WebPage/ios/FindControllerIOS.mm:

(WebKit::FindController::didFindString): Reveal selection up to the main frame. The main frame
is handled by the SmartMagnificationController.

Tools:

This patch exposes WKWebView's findString function in order to test the fix for bug 178789.

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::findString): Dummy implementation of findString.

  • DumpRenderTree/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::findString): Ditto.

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:

(WTR::UIScriptController::findString): Dummy implementation of findString.

  • TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::findString): Implement findString by forwarding the call to the
web view.

  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::findString): Dummy implementation of findString.

LayoutTests:

Adds a test to verify that an overflow node is scrolled to reveal results it contains when
iOS's Find UI is used.

  • platform/ios/fast/scrolling/find-text-in-overflow-node-expected.txt: Added.
  • platform/ios/fast/scrolling/find-text-in-overflow-node.html: Added.
11:43 AM Changeset in webkit [224283] by dino@apple.com
  • 5 edits in trunk

transferFromImageBitmap should update canvas dimensions
https://bugs.webkit.org/show_bug.cgi?id=179096
<rdar://problem/35285218>

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Update expected results now that we pass more of this test.

  • web-platform-tests/imagebitmap-renderingcontext/bitmaprenderer-as-imagesource-expected.txt:

Source/WebCore:

When transferFromImageBitmap is called, the dimensions of the HTMLCanvasElement
should be updated to reflect the size of the passed ImageBitmap.

Update an existing WPT result.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::setImageBuffer const): Update the
size of the element based on the incoming buffer.

  • html/HTMLCanvasElement.h: Mark m_size as mutable so we can

call it from the const function setImageBuffer.

11:25 AM Changeset in webkit [224282] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark fast/dom/Window/window-resize-update-scrollbars.html as a timeout on Windows.
https://bugs.webkit.org/show_bug.cgi?id=179130

Unreviewed test gardening.

  • platform/win/TestExpectations:
10:36 AM Changeset in webkit [224281] by achristensen@apple.com
  • 2 edits
    1 add in trunk/Tools

Add a test for _WKInputDelegate.willSubmitFormValues
https://bugs.webkit.org/show_bug.cgi?id=179086

Reviewed by Darin Adler.

Hidden input types are not included in this submission because FormSubmission::create ignores them
because input.isTextField() returns false. This is existing behavior that wasn't shown by a test.
HTTPBodies are also not sent to WKURLSchemeHandlers. This is existing behavior that wasn't shown by a test.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.

(-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
(TEST):

10:32 AM Changeset in webkit [224280] by Yusuke Suzuki
  • 49 edits
    16 adds in trunk

[JSC] Introduce @toObject
https://bugs.webkit.org/show_bug.cgi?id=178726

Reviewed by Saam Barati.

JSTests:

  • stress/array-copywithin.js:

(shouldThrow):

  • stress/object-constructor-boolean-edge.js: Added.

(shouldBe):
(test):

  • stress/object-constructor-global.js: Added.

(shouldBe):

  • stress/object-constructor-null-edge.js: Added.

(shouldBe):
(test):

  • stress/object-constructor-number-edge.js: Added.

(shouldBe):
(test):

  • stress/object-constructor-object-edge.js: Added.

(shouldBe):
(test):
(i.arg):

  • stress/object-constructor-string-edge.js: Added.

(shouldBe):
(test):

  • stress/object-constructor-symbol-edge.js: Added.

(shouldBe):
(test):

  • stress/object-constructor-undefined-edge.js: Added.

(shouldBe):
(test):

  • stress/symbol-array-from.js: Added.

(shouldBe):

  • stress/to-object-intrinsic-boolean-edge.js: Added.

(shouldBe):
(builtin.createBuiltin):

  • stress/to-object-intrinsic-null-or-undefined-edge.js: Added.

(shouldThrow):

  • stress/to-object-intrinsic-number-edge.js: Added.

(shouldBe):
(builtin.createBuiltin):

  • stress/to-object-intrinsic-object-edge.js: Added.

(shouldBe):
(builtin.createBuiltin):
(i.arg):

  • stress/to-object-intrinsic-string-edge.js: Added.

(shouldBe):
(builtin.createBuiltin):

  • stress/to-object-intrinsic-symbol-edge.js: Added.

(shouldBe):
(builtin.createBuiltin):

  • stress/to-object-intrinsic.js: Added.

(shouldBe):
(shouldThrow):
(builtin.createBuiltin):

Source/JavaScriptCore:

This patch introduces @toObject intrinsic. And we introduce op_to_object bytecode and DFG ToObject node.
Previously we emulated @toObject behavior in builtin JS. But it consumes much bytecode size while @toObject
is frequently seen and defined clearly in the spec. Furthermore, the emulated @toObject always calls
ObjectConstructor in LLInt and Baseline.

We add a new intrinsic @toObject(target, "error message"). It takes an error message string constant to
offer understandable messages in builtin JS. We can change the frequently seen "emulated ToObject" operation

if (this === @undefined
this === null)

@throwTypeError("error message");

var object = @Object(this);

with

var object = @toObject(this, "error message");

And we handle op_to_object in DFG as ToObject node. While CallObjectConstructor does not throw an error for null/undefined,
ToObject needs to throw an error for null/undefined. So it is marked as MustGenerate and it clobbers the world.
In fixup phase, we attempt to convert ToObject to CallObjectConstructor with edge filters to relax its side effect.

It also fixes a bug that CallObjectConstructor DFG node uses Node's semantic GlobalObject instead of function's one.

  • builtins/ArrayConstructor.js:

(from):

  • builtins/ArrayPrototype.js:

(values):
(keys):
(entries):
(reduce):
(reduceRight):
(every):
(forEach):
(filter):
(map):
(some):
(fill):
(find):
(findIndex):
(includes):
(sort):
(globalPrivate.concatSlowPath):
(copyWithin):

  • builtins/DatePrototype.js:

(toLocaleString.toDateTimeOptionsAnyAll):
(toLocaleString):
(toLocaleDateString.toDateTimeOptionsDateDate):
(toLocaleDateString):
(toLocaleTimeString.toDateTimeOptionsTimeTime):
(toLocaleTimeString):

  • builtins/GlobalOperations.js:

(globalPrivate.copyDataProperties):
(globalPrivate.copyDataPropertiesNoExclusions):

  • builtins/ObjectConstructor.js:

(entries):

  • builtins/StringConstructor.js:

(raw):

  • builtins/TypedArrayConstructor.js:

(from):

  • builtins/TypedArrayPrototype.js:

(map):
(filter):

  • bytecode/BytecodeDumper.cpp:

(JSC::BytecodeDumper<Block>::dumpBytecode):

  • bytecode/BytecodeIntrinsicRegistry.h:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitToObject):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::BytecodeIntrinsicNode::emit_intrinsic_toObject):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupToObject):
(JSC::DFG::FixupPhase::fixupCallObjectConstructor):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToCallObjectConstructor):
(JSC::DFG::Node::convertToNewStringObject):
(JSC::DFG::Node::convertToNewObject):
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasCellOperand):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor):
(JSC::DFG::SpeculativeJIT::compileCallObjectConstructor): Deleted.

  • dfg/DFGSpeculativeJIT.h:

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

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor):
(JSC::FTL::DFG::LowerDFGToB3::compileCallObjectConstructor): Deleted.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_to_object):
(JSC::JIT::emitSlow_op_to_object):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_to_object):
(JSC::JIT::emitSlow_op_to_object):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

Source/WebCore:

Use @isObject instead. It is more efficient.

  • Modules/mediastream/NavigatorUserMedia.js:

(getUserMedia):

9:28 AM Changeset in webkit [224279] by commit-queue@webkit.org
  • 14 edits in trunk

Unreviewed, rolling out r224273 and r224278.
https://bugs.webkit.org/show_bug.cgi?id=179120

Some crashes under guard malloc (Requested by anttik on
#webkit).

Reverted changesets:

"Remove empty continuations in
RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers"
https://bugs.webkit.org/show_bug.cgi?id=179014
https://trac.webkit.org/changeset/224273

"Fix ContinuationChainNode::insertAfter assertion."
https://bugs.webkit.org/show_bug.cgi?id=179115
https://trac.webkit.org/changeset/224278

8:36 AM Changeset in webkit [224278] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix ContinuationChainNode::insertAfter assertion.
https://bugs.webkit.org/show_bug.cgi?id=179115

Patch by Emilio Cobos Álvarez <emilio> on 2017-11-01
Reviewed by Antti Koivisto.

The assertion was writing instead of reading next->previous.

Hopefully it's harmless because it was clobbered on the same line, but
it's worth asserting what it was intending to assert.

No new tests (no behaviour change).

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::ContinuationChainNode::insertAfter):

6:31 AM Changeset in webkit [224277] by commit-queue@webkit.org
  • 13 edits
    1 delete in trunk/Source

Use LazyNeverDestroyed instead of DEFINE_GLOBAL
https://bugs.webkit.org/show_bug.cgi?id=174979

Patch by Fujii Hironori <Fujii Hironori> on 2017-11-01
Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • config.h: Removed definitions of SKIP_STATIC_CONSTRUCTORS_ON_MSVC and SKIP_STATIC_CONSTRUCTORS_ON_GCC.

Source/WebCore:

No new tests since there should be no behavioral change.

  • DerivedSources.cpp: Remove the warning of StaticConstructors.h.
  • WebCore.order: Removed
  • config.h: Removed definitions of SKIP_STATIC_CONSTRUCTORS_ON_MSVC and SKIP_STATIC_CONSTRUCTORS_ON_GCC.
  • dom/QualifiedName.cpp:

(WebCore::createQualifiedName): Deleted.

  • dom/QualifiedName.h: Removed createQualifiedName.
  • dom/make_names.pl:

(printCppHead): Do not include StaticConstructors.h.

Source/WTF:

DEFINE_GLOBAL is not used anymore. Remove it.

  • WTF.xcodeproj/project.pbxproj: Removed StaticConstructors.h
  • config.h: Removed definitions of SKIP_STATIC_CONSTRUCTORS_ON_MSVC and SKIP_STATIC_CONSTRUCTORS_ON_GCC.
  • wtf/CMakeLists.txt: Removed StaticConstructors.h
  • wtf/StaticConstructors.h: Removed.
6:25 AM Changeset in webkit [224276] by Yusuke Suzuki
  • 23 edits
    3 adds in trunk

[DFG][FTL] Introduce StringSlice
https://bugs.webkit.org/show_bug.cgi?id=178934

Reviewed by Saam Barati.

JSTests:

  • microbenchmarks/string-slice-empty.js: Added.

(slice):

  • microbenchmarks/string-slice-one-char.js: Added.

(slice):

  • microbenchmarks/string-slice.js: Added.

(slice):

Source/JavaScriptCore:

String.prototype.slice is one of the most frequently called function in ARES-6/Babylon.
This patch introduces StringSlice DFG node to optimize it in DFG and FTL.

This patch's StringSlice node optimizes the following things.

  1. Empty string generation is accelerated. It is fully executed inline.
  2. One char string generation is accelerated. < 0x100 character is supported right now.

It is the same to charAt acceleration.

  1. We calculate start and end index in DFG/FTL with Int32Use information and call optimized

operation.

We do not inline (3)'s operation right now since we do not have a way to call bmalloc allocation from DFG / FTL.
And we do not optimize String.prototype.{substring,substr} right now. But they can be optimized based on this change
in subsequent changes.

This patch improves ARES-6/Babylon performance by 3% in steady state.

Baseline:

Running... Babylon ( 1 to go)
firstIteration: 50.05 +- 13.68 ms
averageWorstCase: 16.80 +- 1.27 ms
steadyState: 7.53 +- 0.22 ms

Patched:

Running... Babylon ( 1 to go)
firstIteration: 50.91 +- 13.41 ms
averageWorstCase: 16.12 +- 0.99 ms
steadyState: 7.30 +- 0.29 ms

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStringSlice):
(JSC::DFG::SpeculativeJIT::emitPopulateSliceIndex):
(JSC::DFG::SpeculativeJIT::compileArraySlice):
(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):

  • dfg/DFGSpeculativeJIT.h:

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

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::populateSliceRange):
(JSC::FTL::DFG::LowerDFGToB3::compileArraySlice):
(JSC::FTL::DFG::LowerDFGToB3::compileStringSlice):

  • jit/JITOperations.h:
  • runtime/Intrinsic.cpp:

(JSC::intrinsicName):

  • runtime/Intrinsic.h:
  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):

5:22 AM Changeset in webkit [224275] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

[GTK] Always include TextureMapper.cmake
https://bugs.webkit.org/show_bug.cgi?id=179060

Reviewed by Carlos Garcia Campos.

  • PlatformGTK.cmake:
5:21 AM Changeset in webkit [224274] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

REGRESSION(r224192): [WPE] Fix WebEventFactory::createWebWheelEvent
https://bugs.webkit.org/show_bug.cgi?id=179098

Reviewed by Sam Weinig.

  • Shared/wpe/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebWheelEvent):

12:57 AM Changeset in webkit [224273] by Antti Koivisto
  • 14 edits in trunk

Remove empty continuations in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers
https://bugs.webkit.org/show_bug.cgi?id=179014

Reviewed by Geoff Garen.

Source/WebCore:

Treat continuation similarly to other anonymous wrappers. This makes things more understandable
and allows removal of some questionable code in RenderBlock::takeChild.

The patch also makes continuation chain a double linked so we can efficiently remove single
continuations from the chain. It also gets rid of algorithms that recurse in continuation chain.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::firstChildInContinuation):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::styleDidChange):

Don't add and remove continuations from the chain when updating style. Prevent recursion by walking
the chain only in the (non-continuation) head renderer.

(WebCore::RenderBlock::dropAnonymousBoxChild):

Make a member function.

(WebCore::RenderBlock::takeChild):

Remove code that destroyed empty continuations and caused the parent to destroy itself.
Empty continuations are now removed by RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers.

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

(WebCore::RenderBoxModelObject::ContinuationChainNode::ContinuationChainNode):
(WebCore::RenderBoxModelObject::ContinuationChainNode::~ContinuationChainNode):
(WebCore::RenderBoxModelObject::ContinuationChainNode::insertAfter):

Track continuations with double linked lists.

(WebCore::continuationChainNodeMap):
(WebCore::RenderBoxModelObject::willBeDestroyed):

Don't recurse to destroy continuation chain.
Destroy all continuations iteratively if this is the head of the chain.
When destroying a continuation renderer simply remove it from the chain.

(WebCore::RenderBoxModelObject::continuation const):
(WebCore::RenderBoxModelObject::insertIntoContinuationChainAfter):
(WebCore::RenderBoxModelObject::removeFromContinuationChain):
(WebCore::RenderBoxModelObject::ensureContinuationChainNode):
(WebCore::continuationMap): Deleted.
(WebCore::RenderBoxModelObject::setContinuation): Deleted.

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

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):

Make this a function of the parent renderer itself instead of getting 'parent()' as first operation and
then using it.
Don't remove continuations (isAnonymousBlockContinuation() test gives wrong result for the last continuation of the chain).

(WebCore::RenderElement::styleDidChange):

removeAnonymousWrappersForInlinesIfNecessary is no function of the parent.

(WebCore::RenderElement::updateOutlineAutoAncestor):

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasContinuationChainNode const):
(WebCore::RenderElement::setHasContinuationChainNode):
(WebCore::RenderElement::hasContinuation const): Deleted.
(WebCore::RenderElement::setHasContinuation): Deleted.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::styleDidChange):

Don't add and remove continuations from the chain when updating style. Prevent recursion by walking
the chain only in the (non-continuation) head renderer.

(WebCore::RenderInline::addChildIgnoringContinuation):

Remove the old continuation from the chain. splitFlow() will add it back into the right place.

(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::addChildToContinuation):
(WebCore::RenderInline::childBecameNonInline):

Remove the old continuation from the chain. splitFlow() will add it back into the right place.

  • rendering/RenderInline.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded const):
(WebCore::RenderObject::outputRenderObject const):
(WebCore::findDestroyRootIncludingAnonymous):

Allow anonymous continuations as destroy roots.

(WebCore::RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers):

Removing a continuation may leave behind unnecessary anonymous sibling wrappers.
Call removeAnonymousWrappersForInlinesIfNecessary() on parent after removal to get rid of them.

LayoutTests:

  • fast/ruby/float-overhang-from-ruby-text-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-remove-rt1-expected.txt:

Oct 31, 2017:

11:15 PM Changeset in webkit [224272] by jfbastien@apple.com
  • 18 edits in trunk/Source/JavaScriptCore

WebAssembly: Wasm::IndexOrName has a raw pointer to Name
https://bugs.webkit.org/show_bug.cgi?id=176644

Reviewed by Michael Saboff.

IndexOrName now keeps a RefPtr to its original NameSection, which
holds the Name (or references nullptr if Index). Holding onto the
entire section seems like the better thing to do, since backtraces
probably contain multiple names from the same Module.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • interpreter/Interpreter.cpp:

(JSC::GetStackTraceFunctor::operator() const):

  • interpreter/StackVisitor.h: Frame is no longer POD because of the

RefPtr.

  • runtime/StackFrame.cpp:

(JSC::StackFrame::StackFrame):

  • runtime/StackFrame.h: Drop the union, size is now 40 bytes.

(JSC::StackFrame::StackFrame): Deleted. Initialized in class instead.
(JSC::StackFrame::wasm): Deleted. Make it a ctor instead.

  • wasm/WasmBBQPlanInlines.h:

(JSC::Wasm::BBQPlan::initializeCallees):

  • wasm/WasmCallee.cpp:

(JSC::Wasm::Callee::Callee):

  • wasm/WasmCallee.h:

(JSC::Wasm::Callee::create):

  • wasm/WasmFormat.h: Move NameSection to its own header.

(JSC::Wasm::isValidNameType):
(JSC::Wasm::NameSection::get): Deleted.

  • wasm/WasmIndexOrName.cpp:

(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::makeString):

  • wasm/WasmIndexOrName.h:

(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::IndexOrName::isEmpty const):
(JSC::Wasm::IndexOrName::isIndex const):

  • wasm/WasmModuleInformation.cpp:

(JSC::Wasm::ModuleInformation::ModuleInformation):

  • wasm/WasmModuleInformation.h:

(JSC::Wasm::ModuleInformation::ModuleInformation): Deleted.

  • wasm/WasmNameSection.h:

(JSC::Wasm::NameSection::get):
(JSC::Wasm::NameSection::create): Deleted.

  • wasm/WasmNameSectionParser.cpp:

(JSC::Wasm::NameSectionParser::parse):

  • wasm/WasmNameSectionParser.h:
  • wasm/WasmOMGPlan.cpp:

(JSC::Wasm::OMGPlan::work):

8:26 PM Changeset in webkit [224271] by Chris Dumez
  • 7 edits in trunk/LayoutTests

Fix a couple of service worker tests and unskip them
https://bugs.webkit.org/show_bug.cgi?id=179088

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Merge fixes from https://github.com/w3c/web-platform-tests/pull/8019 and rebaseline tests.

  • web-platform-tests/service-workers/service-worker/fetch-event-network-error.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-respond-with-argument.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/resources/fetch-event-network-error-controllee-iframe.html:
  • web-platform-tests/service-workers/service-worker/resources/fetch-event-respond-with-argument-iframe.html:

LayoutTests:

Unskip the 2 tests.

7:07 PM Changeset in webkit [224270] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKitLegacy/win

Fix Windows build after r224260

  • WebView.cpp:

(WebView::gesture):

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

updateMaskedAncestorShouldIsolateBlending() should check the Nullability of the computedStyle() of the element's ancestors
https://bugs.webkit.org/show_bug.cgi?id=179085
<rdar://problem/30888101>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-10-31
Reviewed by Ryosuke Niwa.

This is a defensive change. The Element::computedStyle() can be null only
if the element is not a connected to the DOM tree. This may happen if
while the DOM tree is being changed, a different event is handled such
that it requires styleReclac()/layout() to happen. In this case, the render
tree will be in an incorrect state.

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending):

6:27 PM Changeset in webkit [224268] by Ross Kirsling
  • 6 edits in trunk/Tools

Web Inspector: Add Inspector menu items to Mac MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=65218

Reviewed by Joseph Pecoraro.

Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.

  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController showHideWebInspector:]):

  • MiniBrowser/mac/MainMenu.xib:
  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController showHideWebInspector:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController showHideWebInspector:]):

6:13 PM Changeset in webkit [224267] by achristensen@apple.com
  • 52 edits
    4 deletes in trunk

Use asynchronous ResourceHandleClient calls for WebKit1
https://bugs.webkit.org/show_bug.cgi?id=160677

Reviewed by Brady Eidson.

Source/WebCore:

Covered by existing tests.

  • PlatformAppleWin.cmake:
  • PlatformMac.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequestAsync):
(WebCore::ResourceLoader::didReceiveResponseAsync):
(WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):

  • loader/ResourceLoader.h:
  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didReceiveResponseAsync):
(WebCore::ApplicationCacheGroup::willSendRequestAsync):
(WebCore::ApplicationCacheGroup::canAuthenticateAgainstProtectionSpaceAsync):
(WebCore::ApplicationCacheGroup::didReceiveResponse): Deleted.

  • loader/appcache/ApplicationCacheGroup.h:
  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::continueDidReceiveResponse):
(WebCore::BlobResourceHandle::getSizeForNext):
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):

  • platform/network/PingHandle.h:
  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::didReceiveResponse):
(WebCore::ResourceHandle::usesAsyncCallbacks): Deleted.

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.cpp:

(WebCore::ResourceHandleClient::~ResourceHandleClient):
(WebCore::ResourceHandleClient::willSendRequest): Deleted.
(WebCore::ResourceHandleClient::willSendRequestAsync): Deleted.
(WebCore::ResourceHandleClient::didReceiveResponseAsync): Deleted.
(WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpaceAsync): Deleted.

  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandleClient::didReceiveResponse): Deleted.
(WebCore::ResourceHandleClient::usesAsyncCallbacks): Deleted.
(WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Deleted.

  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/SynchronousLoaderClient.cpp:

(WebCore::SynchronousLoaderClient::willSendRequestAsync):
(WebCore::SynchronousLoaderClient::canAuthenticateAgainstProtectionSpaceAsync):
(WebCore::SynchronousLoaderClient::didReceiveResponseAsync):
(WebCore::SynchronousLoaderClient::didFinishLoading):
(WebCore::SynchronousLoaderClient::didFail):
(WebCore::SynchronousLoaderClient::willSendRequest): Deleted.
(WebCore::SynchronousLoaderClient::canAuthenticateAgainstProtectionSpace): Deleted.
(WebCore::SynchronousLoaderClient::didReceiveResponse): Deleted.

  • platform/network/SynchronousLoaderClient.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::releaseHandle):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Removed.
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Removed.
  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::schedule):
(WebCore::ResourceHandle::makeDelegate):
(WebCore::ResourceHandle::delegate):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueWillSendRequest):
(WebCore::ResourceHandle::continueDidReceiveResponse):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueWillCacheResponse):
(WebCore::ResourceHandle::shouldUseCredentialStorage): Deleted.

  • platform/network/mac/WebCoreResourceHandleAsDelegate.h: Removed.
  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm: Removed.
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveAuthenticationChallenge:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveData:lengthReceived:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didFailWithError:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):

Source/WebKitLegacy:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

(WebResourceLoadScheduler::createPingHandle):

Tools:

  • TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:

(TestWebKitAPI::TEST):
The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
Wait until they are loaded before continuing the test. This is a test of editing commands once the page has loaded, not a test of loading.

LayoutTests:

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

http/tests/cache/iframe-304-crash.html used to deterministically record its didFinishLoading callback,
but only for WK1. It was marked as flaky for all WK2 ports. It is now flaky in WK1 because the order
of the testRunner.notifyDone call and the didFinishLoading logging is no longer deterministic with
asynchronous loading, but the test still verifies that there is no crash.

http/tests/security/cross-origin-modal-dialog-base.html does navigation during showModalDialog, which
probably should've never worked in WK1 and never worked in WK2. WK1 behavior now matches WK2 behavior.
I'm not aware of any complaints about no navigation working during showModalDialog in WK2 and I imagine
nobody will be regressed by this change, but if we do find such a problem, creative use of MessageQueues
like we do with sync xhr in WK1 now could theoretically fix the problem, but we are trying to get
rid of showModalDialog anyway. The test was written to verify that the SecurityOrigin doesn't fall back
to the wrong origin, and it certainly doesn't now.

These tests dump load delegate call order, which are less deterministic now but the tests still behave correctly.
http/tests/svg/svg-use-external.html
http/tests/loading/text-content-type-with-binary-extension.html
http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-main-frame.html

5:29 PM Changeset in webkit [224266] by commit-queue@webkit.org
  • 4 edits
    1 delete in trunk/Tools

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

The patch requires non-standard perl modules in macOS and
breaks AWFY (Requested by yusukesuzuki on #webkit).

Reverted changeset:

"[Win] Detect Visual Studio 2017 location"
https://bugs.webkit.org/show_bug.cgi?id=175275
https://trac.webkit.org/changeset/224143

5:21 PM Changeset in webkit [224265] by Simon Fraser
  • 5 edits
    2 adds in trunk

Rubber-banding overflow-scrolling-touch shows black
https://bugs.webkit.org/show_bug.cgi?id=179087
rdar://problem/35260253

Reviewed by Sam Weinig.

Source/WebCore:

The "backgroundIsKnownToBeObscured" optimization was kicking in for an overflow:scroll
whose area was completely covered by its contents, which happens with overlay scrollbars.

However, this ignored the fact that you can rubber-band to reveal the background, and,
on iOS, composited scrolling requires that the scroller background is painted since it goes
into its own layer.

Fix by turning off the optimization for layers that scroll overflow, including those
using composited scrolling.

Test: fast/scrolling/rubber-band-shows-background.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::foregroundIsKnownToBeOpaqueInRect const):
(WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayer.h:

LayoutTests:

  • fast/scrolling/rubber-band-shows-background-expected.html: Added.
  • fast/scrolling/rubber-band-shows-background.html: Added.
5:15 PM Changeset in webkit [224264] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Remove TestExpectation entry for a test that has been deleted.
https://bugs.webkit.org/show_bug.cgi?id=178190

Unreviewed test gardening.

4:58 PM Changeset in webkit [224263] by timothy_horton@apple.com
  • 13 edits in trunk

Clean up some drag and drop feature flags
https://bugs.webkit.org/show_bug.cgi?id=179082

Reviewed by Simon Fraser.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
  • TestWebKitAPI/ios/UIKitSPI.h:
4:54 PM Changeset in webkit [224262] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-header-visibility.https.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=179081

Patch by Youenn Fablet <youenn@apple.com> on 2017-10-31
Reviewed by Chris Dumez.

4:30 PM Changeset in webkit [224261] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

[iOS] Skip LayoutTests that rely on eventsender.keyDown()
https://bugs.webkit.org/show_bug.cgi?id=179061

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/ios/TestExpectations:
4:26 PM Changeset in webkit [224260] by Simon Fraser
  • 37 edits
    2 adds in trunk

Make it possible to test rubber-banding in overflow scroll
https://bugs.webkit.org/show_bug.cgi?id=179078

Reviewed by Sam Weinig.

Source/WebCore:

Test: fast/scrolling/unconstrained-scrollto.html

Add internals.unconstrainedScrollTo(element, x, y) and plumb through ScrollClamping
(which replaces RenderLayer::ScrollOffsetClamping) to support it.

Flip the default from unclamped to clamped for various RenderLayer scrolling-related
functions, since most callers want clamped.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::scrollTo const):

  • dom/Element.cpp:

(WebCore::Element::scrollTo):

  • dom/Element.h:
  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::scrollTo):

  • html/HTMLBodyElement.h:
  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::elementDidBlur):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::scrollTo const):

  • page/DOMWindow.h:
  • page/Frame.cpp:

(WebCore::Frame::scrollOverflowLayer):
(WebCore::Frame::checkOverflowScroll):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):

  • platform/ScrollAnimator.h:
  • platform/ScrollTypes.h:
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):

  • platform/ScrollableArea.h:
  • platform/cocoa/ScrollController.h:
  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
(WebCore::ScrollAnimatorMac::immediateScrollToPosition):

  • platform/mock/ScrollAnimatorMock.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::setScrollLeft):
(WebCore::RenderBox::setScrollTop):

  • rendering/RenderBox.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::panScrollFromPoint):
(WebCore::RenderLayer::scrollByRecursively):
(WebCore::RenderLayer::applyPostLayoutScrollPositionIfNeeded):
(WebCore::RenderLayer::scrollToXPosition):
(WebCore::RenderLayer::scrollToYPosition):
(WebCore::RenderLayer::scrollToOffset):

  • rendering/RenderLayer.h:
  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::setScrollLeft):
(WebCore::RenderListBox::setScrollTop):

  • rendering/RenderListBox.h:
  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::setScrollLeft):
(WebCore::RenderTextControlSingleLine::setScrollTop):

  • rendering/RenderTextControlSingleLine.h:
  • testing/Internals.cpp:

(WebCore::Internals::unconstrainedScrollTo):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKitLegacy/mac:

Add internals.unconstrainedScrollTo(element, x, y) and plumb through ScrollClamping
(which replaces RenderLayer::ScrollOffsetClamping) to support it.

Flip the default from unclamped to clamped for various RenderLayer scrolling-related
functions, since most callers want clamped.

  • DOM/DOMHTML.mm:

(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):

LayoutTests:

Test that internals.unconstrainedScrollTo() works.

  • fast/scrolling/unconstrained-scrollto-expected.txt: Added.
  • fast/scrolling/unconstrained-scrollto.html: Added.
4:17 PM Changeset in webkit [224259] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.7.1.1

Tag Safari-604.4.7.1.1.

4:12 PM Changeset in webkit [224258] by commit-queue@webkit.org
  • 13 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r224243, r224246, and r224248.
https://bugs.webkit.org/show_bug.cgi?id=179083

The patch and fix broke the Windows build. (Requested by
mlewis13 on #webkit).

Reverted changesets:

"StructureStubInfo should have GPRReg members not int8_ts"
https://bugs.webkit.org/show_bug.cgi?id=179071
https://trac.webkit.org/changeset/224243

"Make all register enums be backed by uint8_t."
https://bugs.webkit.org/show_bug.cgi?id=179074
https://trac.webkit.org/changeset/224246

"Unreviewed, windows build fix."
https://trac.webkit.org/changeset/224248

3:56 PM Changeset in webkit [224257] by jmarcell@apple.com
  • 7 edits in branches/safari-604.4.7.10-branch/Source

Versioning.

3:41 PM Changeset in webkit [224256] by wenson_hsieh@apple.com
  • 2 edits in trunk/Source/WebKit

Followup to r224238: API::Attachment should generate a _WKAttachment ObjC wrapper
https://bugs.webkit.org/show_bug.cgi?id=179080

Reviewed by Tim Horton.

Fixes a failing API test. The new Attachment object type added in r224238 was not actually being handled in
Object::newObject, so a plain WKObject Objective C wrapper was being created; fix this by allocating a new
_WKAttachment object for Type::Attachment.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

3:33 PM Changeset in webkit [224255] by dino@apple.com
  • 8 edits
    1 copy
    1 add in trunk/Source/WebCore

Accept Settings object in ImageBitmapRenderingContext constructor and getContext
https://bugs.webkit.org/show_bug.cgi?id=179075
<rdar://problem/35279965>

Reviewed by Sam Weinig.

Allow getContext("bitmaprenderer") to take a dictionary as another argument, and
pass that on to the ImageBitmapRenderingContext constructor.

Unfortunately this meant having to move ImageBitmapRenderingContext::Settings out into
a stand-alone struct, since it needs to be defined in HTMLCanvasElement, which itself
needs to be defined for ImageBitmapRenderingContext.

  • DerivedSources.make: Add new IDL.
  • WebCore.xcodeproj/project.pbxproj: New files.
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createContextBitmapRenderer):
(WebCore::HTMLCanvasElement::getContextBitmapRenderer):

Accept the ImageBitmapRenderingContextSettings object, and pass it on.

  • html/HTMLCanvasElement.h:
  • html/canvas/ImageBitmapRenderingContext.cpp:

(WebCore::ImageBitmapRenderingContext::ImageBitmapRenderingContext):

  • html/canvas/ImageBitmapRenderingContext.h:
  • html/canvas/ImageBitmapRenderingContext.idl:
  • html/canvas/ImageBitmapRenderingContextSettings.h: Copied from Source/WebCore/html/canvas/ImageBitmapRenderingContext.idl.
  • html/canvas/ImageBitmapRenderingContextSettings.idl: Added.
3:23 PM Changeset in webkit [224254] by timothy_horton@apple.com
  • 13 edits in trunk

Fix up some content filtering feature flags
https://bugs.webkit.org/show_bug.cgi?id=179079

Reviewed by Simon Fraser.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
  • TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:

(-[MockContentFilterEnabler initWithCoder:]):
(-[MockContentFilterEnabler dealloc]):

3:18 PM Changeset in webkit [224253] by jmarcell@apple.com
  • 1 copy in branches/safari-604.4.7.10-branch

New branch.

3:17 PM Changeset in webkit [224252] by jmarcell@apple.com
  • 1 delete in branches/safari-604.4.7.3-branch

Remove branch.

3:16 PM Changeset in webkit [224251] by jmarcell@apple.com
  • 1 copy in branches/safari-604.4.7.3-branch

New branch.

3:11 PM Changeset in webkit [224250] by commit-queue@webkit.org
  • 76 edits
    1 move
    1 add
    1 delete in trunk

rwt should allow service worker to load localhost HTTPS resources with any certificate
https://bugs.webkit.org/show_bug.cgi?id=179018

Patch by Youenn Fablet <youenn@apple.com> on 2017-10-31
Reviewed by Chris Dumez.

Source/WebKit:

Allowing ServiceWorkerProcessProxy to handle authentication challenge.
Temporarily adding a boolean flag through WebProcessPool to lower the SSL certificate verifications for service workers.
This allows reducing flakiness in our layout tests for rwt.
Future work should be done to expose a correct API for the application level to handle authentication challenges properly.

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetAllowsAnySSLCertificateForServiceWorkerTesting):

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _setAllowsAnySSLCertificateForServiceWorker:]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didReceiveAuthenticationChallenge):
(WebKit::NetworkProcessProxy::canAuthenticateAgainstProtectionSpace):

  • UIProcess/ServiceWorkerProcessProxy.cpp:

(WebKit::ServiceWorkerProcessProxy::didReceiveAuthenticationChallenge):

  • UIProcess/ServiceWorkerProcessProxy.h:
  • UIProcess/WebProcessPool.h:

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.

LayoutTests:

  • TestExpectations:
  • http/tests/workers/service/service-worker-fetch-expected.txt: Removed.
  • http/tests/workers/service/service-worker-fetch.https-expected.txt: Added.
  • http/tests/workers/service/service-worker-fetch.https.html: Renamed from LayoutTests/http/tests/workers/service/service-worker-fetch.html.
2:43 PM Changeset in webkit [224249] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Web Inspector: UIProcess ASSERT in ~RemoteWebInspectorProxy when InspectorProcess crashes
https://bugs.webkit.org/show_bug.cgi?id=179044

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-10-31
Reviewed by Alex Christensen.

  • UIProcess/RemoteWebInspectorProxy.cpp:

(WebKit::RemoteWebInspectorProxy::frontendDidClose):
Add a protector to keep the proxy alive for the duration of this method.

2:37 PM Changeset in webkit [224248] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, windows build fix.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::numberOfRegisters):
(JSC::X86Assembler::numberOfSPRegisters):
(JSC::X86Assembler::numberOfFPRegisters):

2:32 PM Changeset in webkit [224247] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/sandbox_032.htm as flaky.
https://bugs.webkit.org/show_bug.cgi?id=179069

Unreviewed test gardening.

2:25 PM Changeset in webkit [224246] by keith_miller@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Make all register enums be backed by uint8_t.
https://bugs.webkit.org/show_bug.cgi?id=179074

Reviewed by Mark Lam.

  • assembler/ARM64Assembler.h:
  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:
  • assembler/MIPSAssembler.h:
  • assembler/MacroAssembler.h:
  • assembler/X86Assembler.h:
1:50 PM Changeset in webkit [224245] by Ryan Haddad
  • 4 edits in trunk/LayoutTests

[iOS] Skip LayoutTests that rely on mouse events
https://bugs.webkit.org/show_bug.cgi?id=179034

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
  • platform/ios-wk2/TestExpectations:
  • platform/ios/TestExpectations:
1:38 PM Changeset in webkit [224244] by Chris Dumez
  • 6 edits
    1 copy
    2 adds in trunk

navigator.serviceWorker should always return the same object
https://bugs.webkit.org/show_bug.cgi?id=179067

Reviewed by Youenn Fablet.

Source/WebCore:

navigator.serviceWorker should always return the same object:

Add visitor to make sure we don't gc() the ServiceWorkerContainer wrapper too early.

Test: http/tests/workers/service/navigator-serviceWorker-same-object.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSNavigatorCustom.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerContainer.idl.

(WebCore::JSNavigator::visitAdditionalChildren):

  • page/Navigator.idl:
  • workers/service/ServiceWorkerContainer.idl:

LayoutTests:

Add layout test coverage.

  • http/tests/workers/service/navigator-serviceWorker-same-object-expected.txt: Added.
  • http/tests/workers/service/navigator-serviceWorker-same-object.html: Added.
1:29 PM Changeset in webkit [224243] by keith_miller@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

StructureStubInfo should have GPRReg members not int8_ts
https://bugs.webkit.org/show_bug.cgi?id=179071

Reviewed by Michael Saboff.

This patch makes the various RegisterID enums be backed by
uint8_t. This means that we can remove the old int8_t members in
StructureStubInfo and replace them with the correct enum types.

Also, this fixes an indentation issue in ARMv7Assembler.h.

  • assembler/ARM64Assembler.h:
  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:

(JSC::ARMRegisters::asSingle):
(JSC::ARMRegisters::asDouble):

  • assembler/MIPSAssembler.h:
  • assembler/X86Assembler.h:
  • bytecode/InlineAccess.cpp:

(JSC::InlineAccess::generateSelfPropertyAccess):
(JSC::getScratchRegister):

  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::regenerate):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::valueRegs const):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileIn):

  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITGetByIdWithThisGenerator::JITGetByIdWithThisGenerator):

1:28 PM Changeset in webkit [224242] by commit-queue@webkit.org
  • 18 edits in trunk

[Web Animations] Support AnimationEffect parameter in Animation constructor and read-write timeline property
https://bugs.webkit.org/show_bug.cgi?id=179066

Patch by Antoine Quint <Antoine Quint> on 2017-10-31
Reviewed by Dean Jackson.

Source/WebCore:

We update the Animation constructor signature and behavior to allow for an AnimationEffect as its first,
null by default, parameter and implement the spec behavior where an omitted AnimationTimeline parameter
should default to the document timeline. We also make the timeline property read-write.

Existing tests are rebaselined and amended for this new behavior.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::create):
(WebCore::WebAnimation::WebAnimation):
(WebCore::WebAnimation::setEffect):
(WebCore::WebAnimation::setTimeline):

  • animation/WebAnimation.h:
  • animation/WebAnimation.idl:

LayoutTests:

Rebaseline and amend tests to show support for the AnimationEffect first parameter to the Animation
constructor and the default document timeline value for the AnimationTimeline second parameter.

  • http/wpt/web-animations/interfaces/Animation/constructor-expected.txt:
  • http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt:
  • http/wpt/web-animations/interfaces/Animation/startTime-expected.txt:
  • http/wpt/web-animations/interfaces/KeyframeEffect/setTarget-expected.txt:
  • http/wpt/web-animations/timing-model/animations/current-time-expected.txt:
  • http/wpt/web-animations/timing-model/animations/reversing-an-animation-expected.txt:
  • http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt:
  • http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt:
  • http/wpt/wk-web-animations/timing-model/animation-creation-basic-expected.txt:
  • http/wpt/wk-web-animations/timing-model/animation-creation-basic.html:
  • http/wpt/wk-web-animations/timing-model/animation-current-time.html:
  • http/wpt/wk-web-animations/timing-model/animation-playback-rate.html:
  • webanimations/animation-creation-addition.html:
1:27 PM Changeset in webkit [224241] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Layout viewport rect is too wide after window resize
https://bugs.webkit.org/show_bug.cgi?id=175235

Patch by Ali Juma <ajuma@chromium.org> on 2017-10-31
Reviewed by Dave Hyatt.

Source/WebCore:

After a window resize, ScrollView::updateScrollbars adds/removes scrollbars and triggers
layout. Each addition or removal triggers another pass, but at most 2 additional passes
are allowed. If a scrollbar is added or removed in the final allowed pass, layout is
left in an inconsistent state wrt the presence of scrollbars.

To avoid unnecessary passes, don't remove both scrollbars when only one needs to be
removed. This saves the extra pass needed to add the scrollbar back.

Test: fast/dom/Window/window-resize-update-scrollbars.html

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):

LayoutTests:

  • fast/dom/Window/window-resize-update-scrollbars-expected.txt: Added.
  • fast/dom/Window/window-resize-update-scrollbars.html: Added.
  • platform/ios/TestExpectations:
1:20 PM Changeset in webkit [224240] by commit-queue@webkit.org
  • 4 edits in trunk

Crash in: com.apple.WebKit: WebKit::CacheStorage::Caches::initializeSize(WTF::Function<void (std::optional<WebCore::DOMCacheEngine::Error>&&)>&&) + 30 (CacheStorageEngineCaches.cpp:163)
https://bugs.webkit.org/show_bug.cgi?id=179037

Patch by Youenn Fablet <youenn@apple.com> on 2017-10-31
Reviewed by Chris Dumez.

Source/WebKit:

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::initializeSize): the storage backend may be cleared when clearing caches by the UI Process.
Returning early in that case. A web application will typically fail to open a cache in this case.
On retry, the cache should be opened.

LayoutTests:

12:54 PM Changeset in webkit [224239] by Matt Lewis
  • 4 edits in trunk/LayoutTests

Adjusted test expectations for animations/needs-layout.html.
https://bugs.webkit.org/show_bug.cgi?id=172397

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
12:29 PM Changeset in webkit [224238] by wenson_hsieh@apple.com
  • 24 edits
    9 copies
    1 add in trunk

[Attachment Support] Implement WKWebView SPI for inserting attachment elements
https://bugs.webkit.org/show_bug.cgi?id=179013
<rdar://problem/35249668>

Reviewed by Tim Horton.

Source/WebCore:

Adds Editor helper methods to insert an attachment element at the current selection.

Test: WKAttachmentTests.AttachmentElementInsertion

  • editing/Editor.cpp:

(WebCore::Editor::insertAttachment):
(WebCore::Editor::insertAttachmentFromFile):

  • editing/Editor.h:

Add two new helpers for inserting attachment elements, either from a filename or a data blob. This is a wrapper
around Editor::replaceSelectionWithFragment.

  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::HTMLAttachmentElement):
(WebCore::HTMLAttachmentElement::create):

  • html/HTMLAttachmentElement.h:

Add a unique identifier string to HTMLAttachmentElement. This unique identifier allows the UI process to
reference and indirectly manipulate attachment elements.

Source/WebCore/PAL:

Add a PAL library function to convert a file size to a human-readable string. On Cocoa platforms, this is a
wrapper around NSLocalizedFileSizeDescription; otherwise, we fall back to a naive platform-agnostic
implementation in FileSizeFormatter.cpp.

  • PAL.xcodeproj/project.pbxproj:
  • pal/CMakeLists.txt:
  • pal/FileSizeFormatter.cpp: Added.

(fileSizeDescription):

  • pal/FileSizeFormatter.h: Added.
  • pal/cocoa/FileSizeFormatterCocoa.mm: Added.

(fileSizeDescription):

  • pal/spi/cocoa/NSFileSizeFormatterSPI.h: Added.

Source/WebKit:

Adds native SPI to insert attachment elements given a filename, an optional MIME type, and a data blob. See
change-by-change comments below for more detail. Covered by a new API test.

  • PlatformMac.cmake:
  • Shared/API/APIObject.h:
  • Shared/API/Cocoa/WebKitPrivate.h:
  • UIProcess/API/APIAttachment.cpp: Copied from Source/WebKit/Shared/API/Cocoa/WebKitPrivate.h.

(API::Attachment::create):
(API::Attachment::Attachment):
(API::Attachment::~Attachment):

Introduce API::Attachment, which represents a platform-agnostic Attachment.

  • UIProcess/API/APIAttachment.h: Copied from Source/WebKit/Shared/API/Cocoa/WebKitPrivate.h.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _insertAttachmentWithFilename:contentType:data:options:completion:]):

Adds support for inserting a new attachment element. Calls out to WebPageProxy to insert the attachment from the
given data blob, and creates a new API-object-backed _WKAttachment.

(-[WKWebView _executeEditCommand:argument:completion:]):

Support passing in a nil completion block.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKAttachment.h: Copied from Source/WebKit/Shared/API/Cocoa/WebKitPrivate.h.
  • UIProcess/API/Cocoa/_WKAttachment.mm: Copied from Source/WebCore/html/HTMLAttachmentElement.h.

Introduces _WKAttachment, an Objective C wrapper around the API::Attachment.

(-[_WKAttachment _apiObject]):
(-[_WKAttachment isEqual:]):
(-[_WKAttachment uniqueIdentifier]):
(-[_WKAttachment hash]):

Add _WKAttachment, a WebKit SPI object that wraps an attachment element unique identifier. Also, allow
_WKAttachment to be used as a hashable NSDictionary key.

(-[_WKAttachment description]):

  • UIProcess/API/Cocoa/_WKAttachmentInternal.h: Copied from Source/WebKit/Shared/API/Cocoa/WebKitPrivate.h.

(API::wrapper):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::insertAttachment):

Implement IPC support for inserting an attachment.

  • UIProcess/WebPageProxy.h:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::insertAttachment):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

Adds a new API test suite to exercise attachment element insertion and manipulation.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.

(webViewForTestingAttachments):
(testHTMLData):
(testImageData):
(-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
(-[TestWKWebView valueOfAttribute:forQuerySelector:]):
(TestWebKitAPI::TEST):

12:21 PM Changeset in webkit [224237] by commit-queue@webkit.org
  • 10 edits in trunk

Fix custom header field setting with reloads and asynchronous navigation action policy decisions
https://bugs.webkit.org/show_bug.cgi?id=179064

Patch by Alex Christensen <achristensen@webkit.org> on 2017-10-31
Reviewed by Tim Horton.

Source/WebCore:

r223909 had two problems:

  1. It called addHTTPHeaderField instead of setHTTPHeaderField, so when a page is reloaded the header field

is added to the resource request to be reloaded, which already had the headers added.

  1. It only worked in the synchronous decidePolicyForNavigationAction code path, not for asynchronous completion handlers.

These are both fixed, and both cases are covered with new API tests.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

Source/WebKit:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::applyToDocumentLoader):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::didReceivePolicyDecision):

  • WebProcess/WebPage/WebFrame.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didReceivePolicyDecision):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):

11:34 AM Changeset in webkit [224236] by webkit@devinrousso.com
  • 15 edits in trunk/Source

Web Inspector: make ScriptCallStack::maxCallStackSizeToCapture the default value when capturing backtraces
https://bugs.webkit.org/show_bug.cgi?id=179048

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • inspector/ScriptCallStackFactory.h:
  • inspector/ScriptCallStackFactory.cpp:

(createScriptCallStack):
(createScriptCallStackForConsole):
(createScriptCallStackFromException):

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::autogenerateMetadata):

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::reportAPIException):

  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::count):

  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):

Source/WebCore:

No change in functionality.

  • bindings/js/JSDOMExceptionHandling.cpp:

(WebCore::reportException):

  • dom/RejectedPromiseTracker.cpp:

(WebCore::createScriptCallStackFromReason):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::compileShader):
(WebCore::WebGLRenderingContextBase::printToConsole):

  • inspector/InspectorNetworkAgent.cpp:

(WebCore::InspectorNetworkAgent::buildInitiatorObject):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::breakpointActionLog):

  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::breakpointActionLog):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

9:36 AM Changeset in webkit [224235] by cturner@igalia.com
  • 9 edits in trunk/LayoutTests

[GTK] Rebaseline after r224223
https://bugs.webkit.org/show_bug.cgi?id=179059

Reviewed by Carlos Garcia Campos.

  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.png:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
9:25 AM Changeset in webkit [224234] by cturner@igalia.com
  • 2 edits in trunk/LayoutTests

[GTK] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=179058

Unreviewed gardening.

  • platform/gtk/TestExpectations:
9:13 AM WebKitGTK/Gardening/Calendar edited by Carlos Garcia Campos
(diff)
8:16 AM Changeset in webkit [224233] by Michael Catanzaro
  • 4 edits
    1 copy in trunk/Source/WebCore

[GTK] Build more files under WebCore as unified sources
https://bugs.webkit.org/show_bug.cgi?id=178968

Reviewed by Keith Miller.

  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
  • SourcesGTK.txt: Added.
  • SourcesWPE.txt:
8:12 AM Changeset in webkit [224232] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.19.1

WebKitGTK+ 2.19.1

8:11 AM Changeset in webkit [224231] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.19.1 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.19.1.
7:48 AM Changeset in webkit [224230] by Carlos Garcia Campos
  • 4 edits in trunk/Source

Unreviewed. Fix GTK+ make distcheck.

Source/JavaScriptCore:

Ensure DERIVED_SOURCES_JAVASCRIPTCORE_DIR/yarr is created before scripts generating files there are run.

  • CMakeLists.txt:

Source/WebKit:

Include WebCore/TextEncodingRegistry.h to ensure the forwarding header is generated.

  • UIProcess/API/glib/WebKitSettings.cpp:
7:45 AM Changeset in webkit [224229] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit

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

It broke GTK+ make distcheck (Requested by KaL on #webkit).

Reverted changeset:

"[GTK][WPE] generate-forwarding-headers.pl should also scan
derived sources in WebKit framework"
https://bugs.webkit.org/show_bug.cgi?id=178579
https://trac.webkit.org/changeset/223884

3:01 AM Changeset in webkit [224228] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

Limit the number of results to be submitted in one submission.
https://bugs.webkit.org/show_bug.cgi?id=179045

Reviewed by Ryosuke Niwa.

Submitting results for a large number of builds with owned commit information may exceed the size limit of php.
Added a way to split the results into groups of certain sizes, and submit them one by one.

  • server-tests/tools-os-build-fetcher-tests.js: Updated the unit tests.
  • tools/js/os-build-fetcher.js: Added '_maxNumberOfResultsPerSubmit' which can be specified by a configuration but also use 20 as default value.

(prototype.fetchAndReportNewBuilds): Instead of submitting all results once, split them into groups and submit them one by one.
(prototype._fetchAvailableBuilds): 'label' is already quoted, should remove unnecessary quotes.
(prototype._addOwnedCommitsForBuild): Added logging to log the size of owned commits.

2:44 AM Changeset in webkit [224227] by Dewei Zhu
  • 2 edits in trunk/Websites/perf.webkit.org

OwnedCommitViewer should include the preceding commit.
https://bugs.webkit.org/show_bug.cgi?id=179047

Reviewed by Ryosuke Niwa.

OwnedCommitViewer shows the difference between owned commits.
To show changes made by first owned commit, we need to have the preceding commit information.

  • public/v3/components/commit-log-viewer.js:

(CommitLogViewer):
(CommitLogViewer.prototype._fetchCommitLogs): Fetch preceding commit if the commits fetched is not a single commit.
(CommitLogViewer.prototype.render):
(CommitLogViewer.prototype._renderCommitList): Conditionally rendering preceding commit in commit list.

2:39 AM Changeset in webkit [224226] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. Fix GTK+/WPE make distcheck.

  • CMakeLists.txt: Only include PerformanceTests directory to the build for GTK+ and WPE ports when developer

mode is enabled.

1:39 AM Changeset in webkit [224225] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Assert that no script is executed during LayoutPhase::InRenderTreeLayout
https://bugs.webkit.org/show_bug.cgi?id=179046

Reviewed by Antti Koivisto.

Added NoEventDispatchAssertion to LayoutPhase::InRenderTreeLayout.

  • page/LayoutContext.cpp:

(WebCore::LayoutContext::layout):

1:06 AM Changeset in webkit [224224] by webkit@devinrousso.com
  • 10 edits in trunk

Web Inspector: replace Canvas stack iteration with createScriptCallStack
https://bugs.webkit.org/show_bug.cgi?id=178980

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, updated existing tests.

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildObjectForCanvas):
(WebCore::InspectorCanvas::buildAction):
(WebCore::iterateCallFrames): Deleted.

LayoutTests:

  • inspector/canvas/create-context-2d-expected.txt:
  • inspector/canvas/create-context-webgl-expected.txt:
  • inspector/canvas/create-context-webgl2-expected.txt:
  • inspector/canvas/create-context-webgpu-expected.txt:
  • inspector/canvas/recording-2d-expected.txt:
  • inspector/canvas/recording-webgl-expected.txt:
  • inspector/canvas/recording-webgl-snapshots-expected.txt:
12:10 AM Changeset in webkit [224223] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[FreeType] Simple and complex paths are not applied consistently
https://bugs.webkit.org/show_bug.cgi?id=177601

Reviewed by Michael Catanzaro.

Due to bug #100050, when rendering text, the complex path is forced in case kerning or shaping is enabled and
only part of the run is going to be rendered. This happens in the GTK+ port when selecting text (except when
selecting the whole run, of course). The text is initially rendered using the simple path as returned by
FontCascade::codePath() and then the selection is rendered using the complex path, overriding what
FontCascade::codePath() returned in that case. This doesn't happen in mac, because the selection is rendered
differently, so FontCascade::drawText always renders the full run (simple path) when selecting text. Selecting
text is the most noticeable inconsistency, but it's not the only one. Similar exceptions are applied when
calculating the text width, or getting the offset of a given position. The rendered text is the simple one, but
the calculations are performed using the complex path, so depending on the kerning and ligatures we might end up
with wrong results. If the text has been rendered using the simple path, the selections and all other
calculations should be performed with the simple path too. This patch moves the condition to force complex text
to FontCascade::codePath(), and only for non Freetype ports. This ensures that all callers to
FontCascade::codePath() will get a consistent result.

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::drawText const): Use the mode returned by codePath().
(WebCore::FontCascade::drawEmphasisMarks const): Ditto.
(WebCore::FontCascade::adjustSelectionRectForText const): Use the mode returned by codePath().
(WebCore::FontCascade::offsetForPosition const): Ditto.
(WebCore::FontCascade::codePath const): Force complex text for partial runs for ports not enabling advance text
rendering mode by default.

  • platform/graphics/FontCascade.h: Add to and from optional parameters to codePath().

Oct 30, 2017:

11:58 PM Changeset in webkit [224222] by jmarcell@apple.com
  • 7 edits in branches/safari-604.4.7.0-branch/Source

Versioning.

11:56 PM Changeset in webkit [224221] by jmarcell@apple.com
  • 7 edits in branches/safari-604.4.7.1-branch/Source

Versioning.

11:46 PM Changeset in webkit [224220] by jmarcell@apple.com
  • 1 copy in branches/safari-604.4.7.1-branch

New branch.

8:22 PM Changeset in webkit [224219] by timothy_horton@apple.com
  • 6 edits in trunk/Websites/webkit.org

Update safe area inset demo pages to use env()
https://bugs.webkit.org/show_bug.cgi?id=179041

Reviewed by Simon Fraser.

  • demos/safe-area-insets/1-default.html:
  • demos/safe-area-insets/2-viewport-fit.html:
  • demos/safe-area-insets/3-safe-area-constants.html:
  • demos/safe-area-insets/4-min-max.html:
  • demos/safe-area-insets/safe-areas.html:

Update to use env() instead of constant(), but keep constant() around
for backwards-compatibility.

Adjust the colors on the safe areas test page to look a little less holiday-like.

8:13 PM Changeset in webkit [224218] by Chris Dumez
  • 157 edits
    30 adds in trunk

Fire updatefound event after resolving the registration promise
https://bugs.webkit.org/show_bug.cgi?id=178985

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline tests and land expected results for tests that are timing out.
A lot of tests are now actualling testing something instead of failing right away.

  • web-platform-tests/service-workers/cache-storage/serviceworker/cache-add.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/serviceworker/cache-delete.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/serviceworker/cache-keys.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/serviceworker/cache-matchAll.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/serviceworker/cache-put.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-keys.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage-match.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/serviceworker/cache-storage.https-expected.txt:
  • web-platform-tests/service-workers/cache-storage/serviceworker/credentials.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/close.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event-constructor.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/extendable-message-event.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/postmessage.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/service-worker-error-event.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/unregister.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ServiceWorkerGlobalScope/update.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/activate-event-after-install-state-change.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/activation-after-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/active.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/appcache-ordering-main.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-affect-other-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-fetch.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-not-using-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-using-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/claim-worker-fetch.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/client-id.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/client-navigate.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-get-client-types.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-get-cross-origin.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-get.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-client-types.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-exact-controller.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-include-uncontrolled.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall-on-evaluation.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/clients-matchall-order.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/clients-matchall.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/controller-on-disconnect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/controller-on-load.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/controller-on-reload.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/extendable-event-async-waituntil.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/extendable-event-waituntil.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/fetch-csp.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-after-navigation-within-page.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-async-respond-with.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-network-error.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-redirect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-referrer-policy.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-respond-with-argument.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-respond-with-readable-stream.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-respond-with-stops-propagation.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-throws-after-respond-with.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-frame-resource.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-header-visibility.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-mixed-content-to-inscope.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/fetch-mixed-content-to-outscope.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/fetch-request-css-base-url.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin-mime-check.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-css-images.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-fallback.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-html-imports.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-no-freshness-headers.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-redirect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-resources.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-xhr-sync.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-request-xhr.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-response-taint.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/fetch-response-xhr.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/fetch-waits-for-activate.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/foreign-fetch-basics.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/foreign-fetch-cors.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/foreign-fetch-event.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/foreign-fetch-workers.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/getregistrations.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/http-to-https-redirect-and-register.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/iframe-sandbox-register-link-element.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/immutable-prototype-serviceworker.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/import-scripts-redirect.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/import-scripts-updated-flag.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/indexeddb.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/install-event-type.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/installing.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/interfaces-sw.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/interfaces-window.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/invalid-blobtype.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/invalid-header.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/iso-latin1-header.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/link-element-register-basic.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/link-element-register-mime-types.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/link-element-register-scope.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/link-element-register-script-url.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/link-element-register-script.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/link-element-register-security-error.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/mime-sniffing.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/multiple-register.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/multiple-update.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigate-window.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigation-preload/chunked-encoding.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigation-preload/empty-preload-response-body.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigation-preload/get-state.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigation-preload/redirect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigation-preload/request-headers.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigation-preload/resource-timing.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigation-redirect-body.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/navigation-redirect-to-http.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/navigation-redirect.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/onactivate-script-error.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/oninstall-script-error.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/opaque-response-preloaded.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/performance-timeline.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/postmessage-blob-url.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/postmessage-from-waiting-serviceworker.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/postmessage-msgport-to-client.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/postmessage-to-client.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/postmessage.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/ready.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/redirected-response.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/referer.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/referrer-policy-header.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/register-default-scope.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/register-foreign-fetch-errors.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/register-same-scope-different-script-url.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/register-wait-forever-in-install-worker.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-basic.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-end-to-end.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-events.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-mime-types.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-scope.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-script-url.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-script.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-security-error.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-service-worker-attributes.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-updateviacache.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/request-body-blob.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/request-end-to-end.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/resource-timing.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/service-worker-csp-connect.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/service-worker-csp-default.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/service-worker-csp-script.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/serviceworker-message-event-historical.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/serviceworkerobject-scripturl.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/shared-worker-controlled.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/skip-waiting-installed.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/skip-waiting-using-registration.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/skip-waiting-without-client.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/skip-waiting.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/state.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/synced-state.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/uncontrolled-page.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/unregister-controller.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/unregister-then-register-new-script.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/unregister-then-register.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/unregister.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/update-after-navigation-fetch-event.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/update-after-oneday.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/update-bytecheck.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/update-recovery.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/update.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/waiting.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/websocket.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/windowclient-navigate.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/xhr.https-expected.txt:

Source/WebCore:

Fake series of events that are supposed to happen after registering a service worker
that notify the page of the service worker's installation and activation.

Also make sure that registration.installing / waiting / active return proper values.
Make sure that serviceWorker.scriptURL returns a proper value.

This unblocks a lot of web-platform-tests since they were blocked shortly after
registration due to missing events or registration.installing being null.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::activeServiceWorker const):
(WebCore::ScriptExecutionContext::setActiveServiceWorker):

  • dom/ScriptExecutionContext.h:
  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::prepareFetch):

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):

  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::ServiceWorker):
(WebCore::ServiceWorker::setState):

  • workers/service/ServiceWorker.h:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::controller const):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithUnregistrationResult):

  • workers/service/ServiceWorkerContainer.h:
  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::~ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::installing):
(WebCore::ServiceWorkerRegistration::waiting):
(WebCore::ServiceWorkerRegistration::active):

  • workers/service/ServiceWorkerRegistration.h:
  • workers/service/ServiceWorkerRegistrationData.cpp:

(WebCore::ServiceWorkerRegistrationData::isolatedCopy const):

  • workers/service/ServiceWorkerRegistrationData.h:

(WebCore::ServiceWorkerRegistrationData::encode const):
(WebCore::ServiceWorkerRegistrationData::decode):

  • workers/service/server/SWClientConnection.cpp:

(WebCore::SWClientConnection::postMessageToServiceWorkerClient):

  • workers/service/server/SWServerRegistration.cpp:

(WebCore::SWServerRegistration::scriptContextStarted):
(WebCore::SWServerRegistration::runRegisterJob):
(WebCore::SWServerRegistration::data const):

  • workers/service/server/SWServerRegistration.h:

LayoutTests:

Update tests that are skipped due to timing out.

6:15 PM Changeset in webkit [224217] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

We need a storeStoreFence before storing to the instruction stream's live variable catch data
https://bugs.webkit.org/show_bug.cgi?id=178649

Reviewed by Keith Miller.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffsetSlow):

5:49 PM Changeset in webkit [224216] by jmarcell@apple.com
  • 1 copy in branches/safari-604.4.7.0-branch

New branch.

5:47 PM Changeset in webkit [224215] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

4:48 PM Changeset in webkit [224214] by Ryan Haddad
  • 46 edits
    3 copies
    72 adds
    29 deletes in trunk/LayoutTests

[iOS] Rebaseline and re-enable CSS tests
https://bugs.webkit.org/show_bug.cgi?id=178746

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
  • platform/ios-wk2/TestExpectations:

[ truncated ]

4:41 PM Changeset in webkit [224213] by commit-queue@webkit.org
  • 56 edits in trunk/Source

Use LazyNeverDestroyed instead of DEFINE_GLOBAL for XMLNames, HTMLNames, MathMLNames and SVGNames
https://bugs.webkit.org/show_bug.cgi?id=175118

Patch by Fujii Hironori <Fujii Hironori> on 2017-10-30
Reviewed by Alex Christensen.

Source/WebCore:

Stop using DEFINE_GLOBAL hack in favor of LazyNeverDestroyed.

No new tests since there should be no behavioral change.

  • dom/make_names.pl:

(printConstructors):
(printNamesHeaderFile):
(printNamesCppFile):
(printDefinitions):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::inheritsPresentationalRole const):

  • css/StyleResolver.cpp:

(WebCore::hasEffectiveDisplayNoneForDisplayContents):

  • dom/CustomElementReactionQueue.cpp:

(WebCore::CustomElementReactionQueue::observesStyleAttribute const):

  • dom/Document.cpp:

(WebCore::Document::validateCustomElementName):

  • dom/Element.cpp:

(WebCore::isStyleAttribute):
(WebCore::canAttachAuthorShadowRoot):

  • dom/ElementData.cpp:

(WebCore::ElementData::findLanguageAttribute const):

  • domjit/JSDocumentDOMJIT.cpp:

(WebCore::compileDocumentBodyAttribute):

  • editing/Editor.cpp:

(WebCore::Editor::applyEditingStyleToBodyElement const):

  • editing/EditorCommand.cpp:

(WebCore::valueDefaultParagraphSeparator):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
(WebCore::MarkupAccumulator::appendNamespace):
(WebCore::MarkupAccumulator::elementCannotHaveEndTag):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::isProhibitedParagraphChild):

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::createWindowEventHandlerNameMap):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::isCaseSensitiveAttribute):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createEventHandlerNameMap):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::findFosterSite):

  • html/parser/HTMLElementStack.cpp:

(WebCore::HTMLElementStack::hasTemplateInHTMLScope const):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::updatePredictedBaseURL):

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processTemplateEndTag):
(WebCore::HTMLTreeBuilder::processEndOfFileForInTemplateContents):
(WebCore::HTMLTreeBuilder::processStartTag):
(WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTagForInBody):
(WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
(WebCore::HTMLTreeBuilder::processTableEndTagForInTable):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::insertPhoneNumberLink):
(WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
(WebCore::HTMLTreeBuilder::defaultForBeforeHead):
(WebCore::HTMLTreeBuilder::defaultForInHead):
(WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
(WebCore::HTMLTreeBuilder::defaultForAfterHead):

  • html/parser/TextDocumentParser.cpp:

(WebCore::TextDocumentParser::insertFakePreElement):

  • rendering/svg/SVGPathData.cpp:

(WebCore::pathFromGraphicsElement):

  • rendering/svg/SVGResources.cpp:

(WebCore::clipperFilterMaskerTags):
(WebCore::markerTags):
(WebCore::fillAndStrokeTags):
(WebCore::chainableResourceTags):

  • svg/SVGAnimatedBoolean.h:
  • svg/SVGAnimatedEnumeration.h:
  • svg/SVGAnimatedInteger.h:
  • svg/SVGAnimatedLength.h:
  • svg/SVGAnimatedLengthList.h:
  • svg/SVGAnimatedNumber.h:
  • svg/SVGAnimatedNumberList.h:
  • svg/SVGAnimatedPreserveAspectRatio.h:
  • svg/SVGAnimatedRect.h:
  • svg/SVGAnimatedString.h:
  • svg/SVGAnimatedTransformList.h:
  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::isSupportedAttribute):

  • svg/SVGCursorElement.cpp:

(WebCore::SVGCursorElement::isSupportedAttribute):

  • svg/SVGElement.cpp:

(WebCore::createAttributeNameToCSSPropertyIDMap):
(WebCore::SVGElement::childShouldCreateRenderer const):
(WebCore::SVGElement::animatableAttributeForName):

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::isSupportedAttribute):

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::isSupportedAttribute):

  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::isSupportedAttribute):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::isSupportedAttribute):

  • svg/SVGLineElement.cpp:

(WebCore::SVGLineElement::isSupportedAttribute):

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::isSupportedAttribute):

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::isSupportedAttribute):

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::dPropertyInfo):
(WebCore::SVGPathElement::isSupportedAttribute):

  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::isSupportedAttribute):

  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::pointsPropertyInfo):

  • svg/SVGRadialGradientElement.cpp:

(WebCore::SVGRadialGradientElement::isSupportedAttribute):

  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::textLengthPropertyInfo):
(WebCore::SVGTextContentElement::isSupportedAttribute):

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::isSupportedAttribute):

  • svg/SVGUseElement.cpp:

(WebCore::createAllowedElementSet):

  • xml/NativeXPathNSResolver.cpp:

(WebCore::NativeXPathNSResolver::lookupNamespaceURI):

  • xml/parser/XMLDocumentParser.cpp:

(WebCore::XMLDocumentParser::parseDocumentFragment):

Source/WebKit:

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:

(WebKit::wrap):

4:38 PM Changeset in webkit [224212] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.7

Tag Safari-604.4.7.

4:35 PM Changeset in webkit [224211] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, skip cache storage WPT tests that cause flaky crashes on the bots
https://bugs.webkit.org/show_bug.cgi?id=179035

4:11 PM Changeset in webkit [224210] by Nikita Vasilyev
  • 3 edits
    2 adds in trunk

Web Inspector: [PARITY] Styles Redesign: Ability to modify style attributes
https://bugs.webkit.org/show_bug.cgi?id=178328
<rdar://problem/35000990>

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Before this patch, modifying a property of a style attribute duplicated the old property
and appended the new one. This happened because WI.TextRange.prototype.resolveOffsets
didn't resolve offsets correctly when text didn't end with a trailing new line.

Since WI.TextRange.prototype.resolveOffsets is used elsewhere and this could be expected
behavior, append a line break before resolving a range.

  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype._updateOwnerStyleText):

LayoutTests:

Add tests for WI.TextRange.protopyte.resolveOffsets.

  • inspector/unit-tests/text-range-expected.txt: Added.
  • inspector/unit-tests/text-range.html: Added.
4:08 PM Changeset in webkit [224209] by Matt Lewis
  • 1 edit
    8 adds in trunk/LayoutTests

Followup rebaseline to r224204.

Unreviewed test gardening.

  • platform/mac-elcapitan-wk2/http/tests/contentextensions/make-https-expected.txt: Added.
  • platform/mac-sierra-wk2/http/tests/contentextensions/make-https-expected.txt: Added.
3:45 PM Changeset in webkit [224208] by jmarcell@apple.com
  • 4 edits in branches/safari-604-branch/Source

Apply patch. rdar://problem/35244284

Since cookie partitioning is declared available on macOS 10.12, we cannot use it to check for availability of the new SPI. This patch introduces a new check.

3:43 PM Changeset in webkit [224207] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[WebGL] Optimization to skip painting if texture and source surface hasn't changed isn't working; re-optimize.
https://bugs.webkit.org/show_bug.cgi?id=178953

Reviewed by Dean Jackson.

The "seed" value of the current bound texture never matches the last saved value in
VideoTextureCopierCV::copyImageToPlatformTexture(). The value is modified by the function
itself, so a fresh value needs to be re-queried after the image's surface is attached to the
texture.

Once this fix is in, however, the <canvas> being painted will flash when no new image is
available. This is because the wrong texture target is being restored by the GC3DStateSaver
at the end of copyImageToPlatformTexture(). While we're fixing that, we may as well use the
texture state saved by the GraphicsContext3D itself to restore the correct texture unit,
texture target, and texture.

  • platform/graphics/GraphicsContext3D.h:

(WebCore::GraphicsContext3D::activeTextureUnit const):
(WebCore::GraphicsContext3D::currentBoundTexture const):
(WebCore::GraphicsContext3D::currentBoundTarget const):
(WebCore::GraphicsContext3D::GraphicsContext3DState::currentBoundTexture const):
(WebCore::GraphicsContext3D::GraphicsContext3DState::boundTexture const):
(WebCore::GraphicsContext3D::GraphicsContext3DState::currentBoundTarget const):
(WebCore::GraphicsContext3D::GraphicsContext3DState::boundTarget const):
(WebCore::GraphicsContext3D::GraphicsContext3DState::currentBoundTexture): Deleted.
(WebCore::GraphicsContext3D::GraphicsContext3DState::boundTexture): Deleted.
(WebCore::GraphicsContext3D::GraphicsContext3DState::boundTarget): Deleted.

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::VideoTextureCopierCV::copyImageToPlatformTexture):
(WebCore::VideoTextureCopierCV::GC3DStateSaver::GC3DStateSaver):
(WebCore::VideoTextureCopierCV::GC3DStateSaver::~GC3DStateSaver):

  • platform/graphics/cv/VideoTextureCopierCV.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture):
(WebCore::GraphicsContext3D::activeTexture):
(WebCore::GraphicsContext3D::bindTexture):

3:42 PM Changeset in webkit [224206] by Michael Catanzaro
  • 8 edits in trunk

WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
https://bugs.webkit.org/show_bug.cgi?id=176719

Reviewed by Chris Dumez.

Source/WebCore:

WKBundlePageWillSendSubmitEventCallback is clearly intended to parallel
WKBundlePageWillSubmitFormCallback, since almost all the parameters are the same. Now, in
WKBundlePageWillSubmitFormCallback, the first WKBundleFrameRef, "frame", is the frame of the
form target, and the second WKBundleFrameRef, sourceFrame, is the frame containing the form.
That's correct. But in WKBundlePageWillSendSubmitEventCallback, both frame and sourceFrame
are always identical. The problem is that the FrameLoaderClient delegate is called on the
wrong FrameLoaderClient. It should be called on the FrameLoaderClient of the target frame,
but HTMLFormElement calls it on the FrameLoaderClient of the source frame instead.

Fix this by factoring the target frame computation out of FormSubmission into some helpers.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::prepareForSubmission):
(WebCore::HTMLFormElement::effectiveTarget const):
(WebCore::HTMLFormElement::findSubmitButton const):

  • html/HTMLFormElement.h:
  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

Tools:

Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
sourceFrame parameters when the target frame of the form submission is not the source frame.

  • TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:

(TestWebKitAPI::didReceiveMessageFromInjectedBundle):

  • TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:

(TestWebKitAPI::willSendSubmitEvent):

  • TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
3:32 PM Changeset in webkit [224205] by Matt Lewis
  • 1 edit
    2 adds in trunk/LayoutTests

Rebaselined imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-ontrack.https.html for iOS after r224156.

Unreviewed test gardening.

  • platform/ios-wk2/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-ontrack.https-expected.txt: Added.
3:21 PM Changeset in webkit [224204] by Matt Lewis
  • 3 edits in trunk/LayoutTests

Rebaselining multiple http/tests/websocket/tests/hybi/contentextensions/ test after r224031.

Unreviewed test gardening.

  • http/tests/websocket/tests/hybi/contentextensions/upgrade-expected.txt:
  • http/tests/websocket/tests/hybi/contentextensions/upgrade-worker-expected.txt:
3:08 PM Changeset in webkit [224203] by Ross Kirsling
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Clicking filler in data grid should clear selection
https://bugs.webkit.org/show_bug.cgi?id=179027

Reviewed by Brian Burg.

  • UserInterface/Views/DataGrid.js:

(WI.DataGrid.prototype._mouseDownInDataTable):

2:55 PM Changeset in webkit [224202] by achristensen@apple.com
  • 4 edits in trunk

ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
https://bugs.webkit.org/show_bug.cgi?id=178861

Reviewed by Tim Horton.

Source/WebCore:

This is a dark corner of the URL spec that has wildly different behavior in different browsers.
The assertion fired when we have a file URL with a ? or a # after file:// and it was because
m_pathAfterLastSlash was still 0. We definitely shouldn't assert. I'm making us consistent with
other cases where we have nothing there and add an implied missing slash.

Covered by new API tests.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):

Tools:

  • TestWebKitAPI/Tests/WebCore/URLParser.cpp:

(TestWebKitAPI::TEST_F):

2:24 PM Changeset in webkit [224201] by Megan Gardner
  • 4 edits in trunk/Source

Correctly determine affinity when inserting text via Keyboard Suggestions
https://bugs.webkit.org/show_bug.cgi?id=178969

Reviewed by Ryosuke Niwa.

Source/WebCore:

There has been talk about renaming these enums, but in the meantime we should at least have a comment
clarifying what they actually mean.

No new tests only adding a comment, no tests needed.

  • editing/TextAffinity.h:

Source/WebKit:

Use the logic of VisiblePosition to correctly determine cursor affinity. We were
defaulting to upstream, but that in incorrect and resulted in hitting asserts that
we should not. This should give us the correct affinity in all cases.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::syncApplyAutocorrection):

1:53 PM Changeset in webkit [224200] by webkit@devinrousso.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Canvas Tab: no path components shown in recording content view after selecting a recording via View Recordings... dropdown
https://bugs.webkit.org/show_bug.cgi?id=178807
<rdar://problem/35176463>

Reviewed by Brian Burg.

When the first Recording is taken of a canvas, it is immediately added as a child. When the
CanvasTreeElement is attached, however, it will attempt to regenerate its children if
necessary. This is especially true for canvases with ShaderPrograms, as they are added with
addRepresentedObjectToNewChildQueue, meaning that the child TreeElements aren't actually
added until the next tick, preventing the ContentBrowser logic from generating path
components correctly.

This patch switches to using addChildForRepresentedObject so that there is no delay when
adding children, and also ensures that any existing recordings are also added on regeneration.

  • UserInterface/Views/CanvasTabContentView.js:

(WI.CanvasTabContentView.prototype._recordingAdded):
Move logic for adding TreeElements for new Recordings to CanvasTreeElement.

  • UserInterface/Views/CanvasTreeElement.js:

(WI.CanvasTreeElement.createRecordingTreeElement):
(WI.CanvasTreeElement):
(WI.CanvasTreeElement.prototype.onattach):
(WI.CanvasTreeElement.prototype.ondetach):
(WI.CanvasTreeElement.prototype.onpopulate):
(WI.CanvasTreeElement.prototype._handleItemAdded):
(WI.CanvasTreeElement.prototype._handleItemRemoved):
(WI.CanvasTreeElement.prototype._shaderProgramAdded): Deleted.
(WI.CanvasTreeElement.prototype._shaderProgramRemoved): Deleted.

1:37 PM Changeset in webkit [224199] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

Crash in addChildNodesToDeletionQueue
https://bugs.webkit.org/show_bug.cgi?id=178974
<rdar://problem/35234372>

Reviewed by Brent Fulgham.

Source/WebCore:

The bug was caused by HTMLConstructionSite::insertTextNode constructing an ill-formed tree
when fostering parent under a template element by adjusting HTMLConstructionSiteTask's parent
without clearing nextChild. Fixed the crash by simply removing this code since executeTask
already takes care of fostering the parent in static inline insert(HTMLConstructionSiteTask&).

Test: fast/parser/foster-parent-under-template.html

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::insertTextNode):

LayoutTests:

Add a regression test.

  • fast/parser/foster-parent-inside-template-expected.txt: Added.
  • fast/parser/foster-parent-inside-template.html: Added.
  • resources/dump-as-markup.js:

(Markup._get): Fixed the bug that this code would always throw an exception inside a browser.

1:31 PM Changeset in webkit [224198] by commit-queue@webkit.org
  • 17 edits
    1 move
    3 deletes in trunk

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

MotionMark regression (Requested by shallawa on #webkit).

Reverted changeset:

"When navigating back to a page, compositing layers may not
use accelerated drawing"
https://bugs.webkit.org/show_bug.cgi?id=178749
https://trac.webkit.org/changeset/224078

1:00 PM Changeset in webkit [224197] by msaboff@apple.com
  • 5 edits
    2 deletes in trunk/PerformanceTests

Eliminate Basic compiler test from RexBench
https://bugs.webkit.org/show_bug.cgi?id=179025

Reviewed by Saam Barati.

  • RexBench/Basic: Removed.
  • RexBench/Basic/ast.js: Removed.
  • RexBench/Basic/basic.js: Removed.
  • RexBench/Basic/benchmark.js: Removed.
  • RexBench/Basic/caseless_map.js: Removed.
  • RexBench/Basic/lexer.js: Removed.
  • RexBench/Basic/number.js: Removed.
  • RexBench/Basic/parser.js: Removed.
  • RexBench/Basic/random.js: Removed.
  • RexBench/Basic/state.js: Removed.
  • RexBench/Basic/stress-test.js: Removed.
  • RexBench/Basic/util.js: Removed.
  • RexBench/basic_benchmark.js: Removed.
  • RexBench/about.html:
  • RexBench/cli.js:
  • RexBench/glue.js:
  • RexBench/index.html:
12:45 PM Changeset in webkit [224196] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[Setting] Only expose experimental features that are compiled in
https://bugs.webkit.org/show_bug.cgi?id=179023

Patch by Sam Weinig <sam@webkit.org> on 2017-10-30
Reviewed by Tim Horton.

  • Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb:

Update template to conditionally expose experimental features based on their
'condition' option in WebPreferences.yaml

12:34 PM Changeset in webkit [224195] by dino@apple.com
  • 13 edits in trunk

Implement "bitmaprenderer" CanvasRenderingContext
https://bugs.webkit.org/show_bug.cgi?id=178992
<rdar://problem/34147157>

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Update the expected results now more of the interface has
been added.

  • web-platform-tests/imagebitmap-renderingcontext/bitmaprenderer-as-imagesource-expected.txt:
  • web-platform-tests/imagebitmap-renderingcontext/context-creation-with-alpha-expected.txt:
  • web-platform-tests/imagebitmap-renderingcontext/tranferFromImageBitmap-null-expected.txt:
  • web-platform-tests/imagebitmap-renderingcontext/transferFromImageBitmap-detached-expected.txt:

Source/WebCore:

Implement the "bitmaprenderer" context for HTMLCanvasElement.
Use as much of the existing 2d context code as possible, which
means that we are painting the ImageBitmap into the backing
store. This isn't optimal, but it is good enough to get
going while we move buffer ownership from the canvas object
into the rendering contexts.

This patch raised a few issues on the HTML specification:
https://github.com/whatwg/html/issues/3164
https://github.com/whatwg/html/issues/3165
https://github.com/whatwg/html/issues/3166
https://github.com/whatwg/html/issues/3167

Update existing Web Platform Test results.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createContext2d): Drive-by comment fix.
(WebCore::HTMLCanvasElement::createContextWebGL): Ditto.
(WebCore::HTMLCanvasElement::createContextWebGPU): Ditto.
(WebCore::HTMLCanvasElement::createContextBitmapRenderer): We now require
a layer/backing store for a bitmap context.
(WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer const): Add bitmap-renderer
to the type of context that uses the canvas's backing store.
(WebCore::HTMLCanvasElement::createImageBuffer const): Comment fix.
(WebCore::HTMLCanvasElement::setImageBuffer const): Change parameter to a &&.
(WebCore::HTMLCanvasElement::setImageBufferAndMarkDirty): New function to set
the backing store efficiently, as well as make it look like we need to repaint
the entire canvas.
(WebCore::HTMLCanvasElement::drawingContext const): The buffer doesn't actually
need to provide a GraphicsContext if we're a bitmap renderer.

  • html/HTMLCanvasElement.h:
  • html/ImageBitmap.cpp:

(WebCore::ImageBitmap::transferOwnershipAndClose): New helper to give the ownership
of the ImageBuffer away, and look like close() was called.

  • html/ImageBitmap.h:
  • html/canvas/ImageBitmapRenderingContext.cpp: Implement the algorithm from the HTML

specification.
(WebCore::ImageBitmapRenderingContext::ImageBitmapRenderingContext):
(WebCore::ImageBitmapRenderingContext::isAccelerated const):
(WebCore::ImageBitmapRenderingContext::setOutputBitmap):
(WebCore::ImageBitmapRenderingContext::transferFromImageBitmap):

  • html/canvas/ImageBitmapRenderingContext.h:
  • html/canvas/ImageBitmapRenderingContext.idl:
11:44 AM Changeset in webkit [224194] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Remove flaky expectation for contentextension tests.
https://bugs.webkit.org/show_bug.cgi?id=162942

Unreviewed test gardening.

The underlying issue was resolved a while ago, but this expectation was not removed.

  • platform/mac-wk2/TestExpectations:
11:23 AM Changeset in webkit [224193] by Simon Fraser
  • 5 edits in trunk

tab-size: 0px asserts
https://bugs.webkit.org/show_bug.cgi?id=176198

Reviewed by Antti Koivisto.

Don't claim to support tab-size values with units. We don't, and they would become 0, rather
than fall back to the default as should happen.

Source/WebCore:

Enhanced fast/css/tab-size.html to test.

  • css/parser/CSSPropertyParser.cpp:

(WebCore::consumeTabSize):

LayoutTests:

  • fast/css/tab-size-expected.html:
  • fast/css/tab-size.html:
11:21 AM Changeset in webkit [224192] by Michael Catanzaro
  • 23 edits in trunk

[WPE] Fix build warnings
https://bugs.webkit.org/show_bug.cgi?id=178899

Reviewed by Carlos Alberto Lopez Perez.

Source/JavaScriptCore:

  • PlatformWPE.cmake:

Source/WebCore:

These are actually mostly cross-platform issues.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::arrayBufferViewElementSize):

  • platform/Cairo.cmake:
  • platform/Curl.cmake:
  • platform/FreeType.cmake:
  • platform/GCrypt.cmake:
  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:

(WebCore::TextureMapperShaderProgram::create):

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::SoupNetworkSession):

Source/WebKit:

  • PlatformWPE.cmake:

Source/WTF:

  • wtf/PlatformWPE.cmake:

Tools:

  • TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:

(testContextMenuDownloadActions):
(testBlobDownload):
(beforeAll):

  • TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
  • TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:

(testWebViewJavaScriptDialogs):

  • TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
  • WebKitTestRunner/PlatformWPE.cmake:
  • WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
  • WebKitTestRunner/wpe/TestControllerWPE.cpp:

(WTR::threadDefaultContext): Deleted.

11:16 AM Changeset in webkit [224191] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk/Source/WebKit

[Settings] Replace macro driven experimental features code with generated code
https://bugs.webkit.org/show_bug.cgi?id=178994

Patch by Sam Weinig <sam@webkit.org> on 2017-10-30
Reviewed by Simon Fraser.

As a first step toward allowing experimental features to vary based on compile
time flags, replace the macro driven implementation of the WebPreferences part
of experimental features, with one generated from a template file.

  • CMakeLists.txt:
  • DerivedSources.make:
  • Scripts/GeneratePreferences.rb:
  • WebKit.xcodeproj/project.pbxproj:

Generate the new template.

  • Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb: Added.
  • UIProcess/WebPreferences.cpp:

(WebKit::createExperimentalFeaturesVector): Deleted.
(WebKit::WebPreferences::experimentalFeatures): Deleted.
(WebKit::WebPreferences::isEnabledForFeature const): Deleted.
(WebKit::WebPreferences::setEnabledForFeature): Deleted.
(WebKit::WebPreferences::enableAllExperimentalFeatures): Deleted.

Replace macro implementation with template generated one.

11:13 AM Changeset in webkit [224190] by Michael Catanzaro
  • 2 edits
    1 delete in trunk/Tools

[WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
https://bugs.webkit.org/show_bug.cgi?id=178898

Reviewed by Žan Doberšek.

This patch seems to be unused.

  • wpe/jhbuild.modules:
  • wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
11:12 AM Changeset in webkit [224189] by Michael Catanzaro
  • 9 edits
    5 adds in trunk

[WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
https://bugs.webkit.org/show_bug.cgi?id=178964

Reviewed by Carlos Alberto Lopez Perez.

Source/WebCore:

This also gets rid of the WebCorePlatformWPE build target to simplify the build. It links to
all the same libraries as the WebCore target, so it doesn't seem to have any purpose. Bye.

Some CMake files under platform are not unified, either because there is not much to gain
(e.g. ImageDecoders, where everything is in a separate directory), or because it is complex
(e.g. GStreamer, where GObject implementations would be tricky to build unified), and
because we're limited to using only features declared in WebKitFeatures.cmake inside the
unified sources lists, which makes some of the platform files a bit tricky (notably,
anything that needs to go into WebCorePlatformGTK for the GTK port). So it's not perfect.

  • PlatformWPE.cmake:
  • SourcesWPE.txt: Added.
  • crypto/gcrypt/GCryptUtilities.h:
  • platform/Cairo.cmake:
  • platform/GCrypt.cmake:
  • platform/SourcesCairo.txt: Added.
  • platform/SourcesGCrypt.txt: Added.
  • platform/SourcesGLib.txt: Added.
  • platform/SourcesSoup.txt: Added.

Source/WebKit:

  • PlatformWPE.cmake:

Tools:

  • TestWebKitAPI/PlatformWPE.cmake:
11:09 AM Changeset in webkit [224188] by commit-queue@webkit.org
  • 1 edit
    20 adds
    20 deletes in trunk/LayoutTests

[Web Animations] Rewrite homegrown tests as Web Platform tests
https://bugs.webkit.org/show_bug.cgi?id=179017

We rewrite all of the new homegrown Web Animations tests as Web Platorm tests,
except for one test which checks dumping of the document timeline using an
internals method which is not appropriate as a WPT.

Patch by Antoine Quint <Antoine Quint> on 2017-10-30
Reviewed by Dean Jackson.

  • http/wpt/wk-web-animations/timing-model/animation-creation-basic-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/animation-creation-basic.html: Added.
  • http/wpt/wk-web-animations/timing-model/animation-current-time-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/animation-current-time.html: Added.
  • http/wpt/wk-web-animations/timing-model/animation-effect-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/animation-effect-timing-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/animation-effect-timing.html: Added.
  • http/wpt/wk-web-animations/timing-model/animation-effect.html: Added.
  • http/wpt/wk-web-animations/timing-model/animation-interface-effect-property-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/animation-interface-effect-property.html: Added.
  • http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/animation-interface-start-time-property.html: Added.
  • http/wpt/wk-web-animations/timing-model/document-timeline-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/document-timeline.html: Added.
  • http/wpt/wk-web-animations/timing-model/keyframe-effect-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/keyframe-effect-interface-timing-duration.html: Added.
  • http/wpt/wk-web-animations/timing-model/keyframe-effect.html: Added.
  • http/wpt/wk-web-animations/timing-model/timeline-current-time-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/timeline-current-time.html: Added.
  • webanimations/animation-creation-basic-expected.txt: Removed.
  • webanimations/animation-creation-basic.html: Removed.
  • webanimations/animation-current-time-expected.txt: Removed.
  • webanimations/animation-current-time.html: Removed.
  • webanimations/animation-effect-expected.txt: Removed.
  • webanimations/animation-effect-timing-expected.txt: Removed.
  • webanimations/animation-effect-timing.html: Removed.
  • webanimations/animation-effect.html: Removed.
  • webanimations/animation-interface-effect-property-expected.txt: Removed.
  • webanimations/animation-interface-effect-property.html: Removed.
  • webanimations/animation-interface-start-time-property-expected.txt: Removed.
  • webanimations/animation-interface-start-time-property.html: Removed.
  • webanimations/document-timeline-expected.txt: Removed.
  • webanimations/document-timeline.html: Removed.
  • webanimations/keyframe-effect-expected.txt: Removed.
  • webanimations/keyframe-effect-interface-timing-duration-expected.txt: Removed.
  • webanimations/keyframe-effect-interface-timing-duration.html: Removed.
  • webanimations/keyframe-effect.html: Removed.
  • webanimations/timeline-current-time-expected.txt: Removed.
  • webanimations/timeline-current-time.html: Removed.
11:08 AM Changeset in webkit [224187] by Michael Catanzaro
  • 1 edit
    1 delete in trunk/Source/WebCore

Remove more unused ENABLE(GAMEPAD_DEPRECATED) code
https://bugs.webkit.org/show_bug.cgi?id=178364

Reviewed by Carlos Alberto Lopez Perez.

  • Modules/gamepad/deprecated/Gamepad.cpp: Removed.
  • Modules/gamepad/deprecated/Gamepad.h: Removed.
  • Modules/gamepad/deprecated/Gamepad.idl: Removed.
  • Modules/gamepad/deprecated/GamepadList.cpp: Removed.
  • Modules/gamepad/deprecated/GamepadList.h: Removed.
  • Modules/gamepad/deprecated/GamepadList.idl: Removed.
  • Modules/gamepad/deprecated/NavigatorGamepad.cpp: Removed.
  • Modules/gamepad/deprecated/NavigatorGamepad.h: Removed.
  • Modules/gamepad/deprecated/NavigatorGamepad.idl: Removed.
10:57 AM Changeset in webkit [224186] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Use if conditional function in DerivedSources.make to reduce duplication
https://bugs.webkit.org/show_bug.cgi?id=178989

Reviewed by Darin Adler.

In DerivedSources.make we currently duplicate most of the Makefile recipe for generating HTML/SVG
tags and attributes to support passing the optional command line option --extraDefines when one
or more HTML/SVG compile-time features are enabled. Instead we can make use of a Makefile
conditional function in the recipe itself to avoid code duplication.

  • DerivedSources.make:
10:39 AM Changeset in webkit [224185] by pvollan@apple.com
  • 50 edits in trunk/LayoutTests

[Win] Rebaseline tests after r224177.

Unreviewed test gardening.

  • platform/win/editing/deleting/4922367-expected.txt:
  • platform/win/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
  • platform/win/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
  • platform/win/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
  • platform/win/editing/deleting/delete-block-merge-contents-005-expected.txt:
  • platform/win/editing/deleting/delete-block-merge-contents-006-expected.txt:
  • platform/win/editing/deleting/delete-block-merge-contents-007-expected.txt:
  • platform/win/editing/deleting/delete-block-merge-contents-008-expected.txt:
  • platform/win/editing/deleting/delete-block-merge-contents-023-expected.txt:
  • platform/win/editing/deleting/delete-block-merge-contents-024-expected.txt:
  • platform/win/editing/deleting/delete-br-008-expected.txt:
  • platform/win/editing/deleting/delete-br-009-expected.txt:
  • platform/win/editing/deleting/delete-br-010-expected.txt:
  • platform/win/editing/deleting/delete-line-015-expected.txt:
  • platform/win/editing/deleting/delete-line-016-expected.txt:
  • platform/win/editing/deleting/delete-line-017-expected.txt:
  • platform/win/editing/deleting/merge-no-br-expected.txt:
  • platform/win/editing/deleting/type-delete-after-quote-expected.txt:
  • platform/win/editing/execCommand/4747450-expected.txt:
  • platform/win/editing/execCommand/4916402-expected.txt:
  • platform/win/editing/execCommand/4916541-expected.txt:
  • platform/win/editing/execCommand/4924441-expected.txt:
  • platform/win/editing/execCommand/5136770-expected.txt:
  • platform/win/editing/execCommand/5142012-2-expected.txt:
  • platform/win/editing/execCommand/5190926-expected.txt:
  • platform/win/editing/execCommand/5481523-expected.txt:
  • platform/win/editing/execCommand/create-list-with-hr-expected.txt:
  • platform/win/editing/execCommand/indent-selection-expected.txt:
  • platform/win/editing/execCommand/insert-list-and-stitch-expected.txt:
  • platform/win/editing/execCommand/nsresponder-indent-expected.txt:
  • platform/win/editing/inserting/insert-br-quoted-004-expected.txt:
  • platform/win/editing/inserting/insert-br-quoted-006-expected.txt:
  • platform/win/editing/style/4916887-expected.txt:
  • platform/win/editing/style/5046875-1-expected.txt:
  • platform/win/editing/style/5046875-2-expected.txt:
  • platform/win/editing/style/5279521-expected.txt:
  • platform/win/editing/style/create-block-for-style-003-expected.txt:
  • platform/win/editing/style/create-block-for-style-004-expected.txt:
  • platform/win/editing/style/create-block-for-style-007-expected.txt:
  • platform/win/editing/style/create-block-for-style-009-expected.txt:
  • platform/win/editing/style/create-block-for-style-010-expected.txt:
  • platform/win/editing/style/create-block-for-style-011-expected.txt:
  • platform/win/editing/style/create-block-for-style-012-expected.txt:
  • platform/win/editing/style/create-block-for-style-013-expected.txt:
  • platform/win/editing/style/smoosh-styles-001-expected.txt:
  • platform/win/editing/style/style-boundary-005-expected.txt:
  • platform/win/editing/unsupported-content/list-delete-001-expected.txt:
  • platform/win/fast/forms/button-generated-content-expected.txt:
  • platform/win/fast/ruby/rubyDOM-remove-text2-expected.txt:
10:28 AM Changeset in webkit [224184] by Matt Lewis
  • 1 edit
    3 adds in trunk/LayoutTests

Rebaselined imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw-manual.https.html for iOS.

Unreviewed test gardening.

  • platform/ios-wk2/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw-manual.https-expected.txt: Added.
10:17 AM Changeset in webkit [224183] by jmarcell@apple.com
  • 1 edit in branches/safari-604-branch/Source/WebCore/platform/network/mac/WebCoreURLResponse.mm

Apply patch. rdar://problem/35244284

Only check if the scheme was upgraded due to dynamic HSTS if cookie partitioning is available. Downgrades and ignoring HSTS may only happen if a resource load is partitioned.

9:15 AM Changeset in webkit [224182] by commit-queue@webkit.org
  • 1 edit
    162 adds in trunk/LayoutTests

[Web Animations] Add Web Platform tests
https://bugs.webkit.org/show_bug.cgi?id=178999

Patch by Antoine Quint <Antoine Quint> on 2017-10-30
Reviewed by Sam Weinig.

The vast majority is failing, as expected due to the nascent status of our Web Animations implementation.

  • http/wpt/web-animations/OWNERS: Added.
  • http/wpt/web-animations/README.md: Added.
  • http/wpt/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt: Added.
  • http/wpt/web-animations/animation-model/animation-types/accumulation-per-property.html: Added.
  • http/wpt/web-animations/animation-model/animation-types/addition-per-property-expected.txt: Added.
  • http/wpt/web-animations/animation-model/animation-types/addition-per-property.html: Added.
  • http/wpt/web-animations/animation-model/animation-types/discrete-animation-expected.txt: Added.
  • http/wpt/web-animations/animation-model/animation-types/discrete-animation.html: Added.
  • http/wpt/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Added.
  • http/wpt/web-animations/animation-model/animation-types/interpolation-per-property.html: Added.
  • http/wpt/web-animations/animation-model/animation-types/property-list.js: Added.

(testAnimationSamplesWithAnyOrder):
(isSupported):
(TestKeyframe.):
(TestKeyframe.get Object):
(TestKeyframe):
(get propertyToIDL):
(calcFromPercentage):

  • http/wpt/web-animations/animation-model/animation-types/property-types.js: Added.

(const.discreteType.):
(const.discreteType.testInterpolation):
(const.discreteType.testAdditionOrAccumulation):
(const.discreteType.testAddition):
(const.discreteType.testAccumulation):
(const.lengthType.testInterpolation):
(const.lengthType.testAdditionOrAccumulation):
(const.lengthType.testAddition):
(const.lengthType.testAccumulation):
(const.lengthPairType.testInterpolation):
(const.lengthPairType.testAdditionOrAccumulation):
(const.lengthPairType.testAddition):
(const.lengthPairType.testAccumulation):
(const.percentageType.testInterpolation):
(const.percentageType.testAdditionOrAccumulation):
(const.percentageType.testAddition):
(const.percentageType.testAccumulation):
(const.integerType.testInterpolation):
(const.integerType.testAdditionOrAccumulation):
(const.integerType.testAddition):
(const.integerType.testAccumulation):
(const.positiveIntegerType.testInterpolation):
(const.positiveIntegerType.testAdditionOrAccumulation):
(const.positiveIntegerType.testAddition):
(const.positiveIntegerType.testAccumulation):
(const.lengthPercentageOrCalcType.testInterpolation):
(const.lengthPercentageOrCalcType.testAdditionOrAccumulation):
(const.lengthPercentageOrCalcType.testAddition):
(const.lengthPercentageOrCalcType.testAccumulation):
(const.positiveNumberType.testInterpolation):
(const.positiveNumberType.testAdditionOrAccumulation):
(const.positiveNumberType.testAddition):
(const.positiveNumberType.testAccumulation):
(const.opacityType.testInterpolation):
(const.opacityType.testAdditionOrAccumulation):
(const.opacityType.testAddition):
(const.opacityType.testAccumulation):
(const.visibilityType.testInterpolation):
(const.visibilityType.testAdditionOrAccumulation):
(const.visibilityType.testAddition):
(const.visibilityType.testAccumulation):
(const.colorType.testInterpolation):
(const.colorType.testAdditionOrAccumulation):
(const.colorType.testAddition):
(const.colorType.testAccumulation):
(const.transformListType.testInterpolation):
(const.transformListType.testAddition):
(const.transformListType.testAccumulation):
(const.filterListType.testInterpolation):
(const.filterListType.testAddition):
(const.filterListType.testAccumulation):
(const.textShadowListType.testInterpolation):
(const.textShadowListType.testAddition):
(const.textShadowListType.testAccumulation):
(const.boxShadowListType.testInterpolation):
(const.boxShadowListType.testAddition):
(const.boxShadowListType.testAccumulation):
(const.positionType.testInterpolation):
(const.positionType.testAdditionOrAccumulation):
(const.positionType.testAddition):
(const.positionType.testAccumulation):
(const.rectType.testInterpolation):
(const.rectType.testAdditionOrAccumulation):
(const.rectType.testAddition):
(const.rectType.testAccumulation):
(const.dasharrayType.testInterpolation):
(const.dasharrayType.testAdditionOrAccumulation):
(const.dasharrayType.testAddition):
(const.dasharrayType.testAccumulation):
(const.fontStretchType.testInterpolation):
(const.fontStretchType.testAdditionOrAccumulation):
(const.fontStretchType.testAddition):
(const.fontStretchType.testAccumulation):
(const.fontVariationSettingsType.testInterpolation):
(const.fontVariationSettingsType.testAdditionOrAccumulation):
(const.fontVariationSettingsType.testAddition):
(const.fontVariationSettingsType.testAccumulation):

  • http/wpt/web-animations/animation-model/combining-effects/effect-composition-expected.txt: Added.
  • http/wpt/web-animations/animation-model/combining-effects/effect-composition.html: Added.
  • http/wpt/web-animations/animation-model/keyframe-effects/effect-value-context-expected.txt: Added.
  • http/wpt/web-animations/animation-model/keyframe-effects/effect-value-context.html: Added.
  • http/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt: Added.
  • http/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html: Added.
  • http/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance-expected.txt: Added.
  • http/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html: Added.
  • http/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility-expected.txt: Added.
  • http/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility.html: Added.
  • http/wpt/web-animations/interfaces/Animatable/animate-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animatable/animate-no-browsing-context.html: Added.
  • http/wpt/web-animations/interfaces/Animatable/animate.html: Added.
  • http/wpt/web-animations/interfaces/Animatable/getAnimations-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animatable/getAnimations.html: Added.
  • http/wpt/web-animations/interfaces/Animation/cancel-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/cancel.html: Added.
  • http/wpt/web-animations/interfaces/Animation/constructor-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/constructor.html: Added.
  • http/wpt/web-animations/interfaces/Animation/effect-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/effect.html: Added.
  • http/wpt/web-animations/interfaces/Animation/finish-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/finish.html: Added.
  • http/wpt/web-animations/interfaces/Animation/finished-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/finished.html: Added.
  • http/wpt/web-animations/interfaces/Animation/id-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/id.html: Added.
  • http/wpt/web-animations/interfaces/Animation/idlharness-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/idlharness.html: Added.
  • http/wpt/web-animations/interfaces/Animation/oncancel-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/oncancel.html: Added.
  • http/wpt/web-animations/interfaces/Animation/onfinish-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/onfinish.html: Added.
  • http/wpt/web-animations/interfaces/Animation/pause-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/pause.html: Added.
  • http/wpt/web-animations/interfaces/Animation/play-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/play.html: Added.
  • http/wpt/web-animations/interfaces/Animation/playState-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/playState.html: Added.
  • http/wpt/web-animations/interfaces/Animation/playbackRate-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/playbackRate.html: Added.
  • http/wpt/web-animations/interfaces/Animation/ready-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/ready.html: Added.
  • http/wpt/web-animations/interfaces/Animation/startTime-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Animation/startTime.html: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/delay-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/delay.html: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/direction-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/direction.html: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/duration-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/duration.html: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/easing-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/endDelay.html: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/fill-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/fill.html: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/getAnimations.html: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/getComputedStyle.html: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterationStart.html: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationEffectTiming/iterations.html: Added.
  • http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationTimeline/document-timeline.html: Added.
  • http/wpt/web-animations/interfaces/AnimationTimeline/idlharness-expected.txt: Added.
  • http/wpt/web-animations/interfaces/AnimationTimeline/idlharness.html: Added.
  • http/wpt/web-animations/interfaces/Document/getAnimations-expected.txt: Added.
  • http/wpt/web-animations/interfaces/Document/getAnimations.html: Added.
  • http/wpt/web-animations/interfaces/DocumentTimeline/constructor-expected.txt: Added.
  • http/wpt/web-animations/interfaces/DocumentTimeline/constructor.html: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/composite-expected.txt: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/composite.html: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/constructor.html: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/copy-constructor-expected.txt: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/copy-constructor.html: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming-expected.txt: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/getComputedTiming.html: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/iterationComposite-expected.txt: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/iterationComposite.html: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/setKeyframes.html: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/setTarget-expected.txt: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffect/setTarget.html: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffectReadOnly/copy-constructor-expected.txt: Added.
  • http/wpt/web-animations/interfaces/KeyframeEffectReadOnly/copy-constructor.html: Added.
  • http/wpt/web-animations/resources/easing-tests.js: Added.

(easingFunction.stepStart):
(easingFunction.stepEnd):
(easingFunction.framesTiming):
(easingFunction.cubicBezier):

  • http/wpt/web-animations/resources/effect-tests.js: Added.

(assert_computed_timing_for_each_phase):

  • http/wpt/web-animations/resources/keyframe-utils.js: Added.

(assert_frame_lists_equal):
(assert_frames_equal):

  • http/wpt/web-animations/resources/xhr-doc.py: Added.

(main):

  • http/wpt/web-animations/testcommon.js: Added.

(window.assert_times_equal.window.assert_times_equal):
(createDiv):
(createElement):
(createStyle):
(createPseudo):
(xForT):
(yForT):
(tForX):
(return.bezierClosure):
(cubicBezier):
(stepEnd.return.stepEndClosure):
(stepEnd):
(stepStart.return.stepStartClosure):
(stepStart):
(framesTiming.return.framesClosure):
(framesTiming):
(waitForAnimationFrames):
(rotate3dToMatrix3d):
(rotate3dToMatrix):
(assert_matrix_equals):

  • http/wpt/web-animations/timing-model/animation-effects/active-time-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animation-effects/active-time.html: Added.
  • http/wpt/web-animations/timing-model/animation-effects/current-iteration-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animation-effects/current-iteration.html: Added.
  • http/wpt/web-animations/timing-model/animation-effects/local-time-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animation-effects/local-time.html: Added.
  • http/wpt/web-animations/timing-model/animation-effects/phases-and-states-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animation-effects/phases-and-states.html: Added.
  • http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animation-effects/simple-iteration-progress.html: Added.
  • http/wpt/web-animations/timing-model/animations/canceling-an-animation-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animations/canceling-an-animation.html: Added.
  • http/wpt/web-animations/timing-model/animations/current-time-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animations/current-time.html: Added.
  • http/wpt/web-animations/timing-model/animations/finishing-an-animation-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animations/finishing-an-animation.html: Added.
  • http/wpt/web-animations/timing-model/animations/pausing-an-animation-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animations/pausing-an-animation.html: Added.
  • http/wpt/web-animations/timing-model/animations/playing-an-animation-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animations/playing-an-animation.html: Added.
  • http/wpt/web-animations/timing-model/animations/reversing-an-animation-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animations/reversing-an-animation.html: Added.
  • http/wpt/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animations/set-the-animation-start-time.html: Added.
  • http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animations/set-the-target-effect-of-an-animation.html: Added.
  • http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animations/set-the-timeline-of-an-animation.html: Added.
  • http/wpt/web-animations/timing-model/animations/updating-the-finished-state-expected.txt: Added.
  • http/wpt/web-animations/timing-model/animations/updating-the-finished-state.html: Added.
  • http/wpt/web-animations/timing-model/time-transformations/transformed-progress-expected.txt: Added.
  • http/wpt/web-animations/timing-model/time-transformations/transformed-progress.html: Added.
8:09 AM Changeset in webkit [224181] by graouts@webkit.org
  • 5 edits
    4 adds in trunk

[Web Animations] Expose the playbackRate property on Animation
https://bugs.webkit.org/show_bug.cgi?id=178931

Reviewed by Sam Weinig.

Source/WebCore:

Account for the playback rate when computing and setting an animation's
current time, ensuring that we adjust the start time to preserve the
current time when setting a new playback rate.

Test: http/wpt/wk-web-animations/timing-model/animation-playback-rate.html

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::WebAnimation):
(WebCore::WebAnimation::currentTime const):
(WebCore::WebAnimation::setCurrentTime):
(WebCore::WebAnimation::setPlaybackRate):

  • animation/WebAnimation.h:
  • animation/WebAnimation.idl:

LayoutTests:

Add a new test, using WPT, to check that the playbackRate property is accounted
for when getting and setting the current time.

  • http/wpt/wk-web-animations/timing-model/animation-playback-rate-expected.txt: Added.
  • http/wpt/wk-web-animations/timing-model/animation-playback-rate.html: Added.
7:44 AM Changeset in webkit [224180] by fred.wang@free.fr
  • 2 edits in trunk/Tools

Remove support for running safari on the iOS simulator with Xcode < 9.0
https://bugs.webkit.org/show_bug.cgi?id=178203

Patch by Frederic Wang <fwang@igalia.com> on 2017-10-12
Reviewed by Alexey Proskuryakov.

This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
special case to calculate the iOS simulator applications path for these old versions.

  • Scripts/webkitdirs.pm:

(iosSimulatorApplicationsPath): Remove special case for XCode < 9.0

7:43 AM WPE edited by clopez@igalia.com
(diff)
7:20 AM Changeset in webkit [224179] by Michael Catanzaro
  • 20 edits in trunk

[WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
https://bugs.webkit.org/show_bug.cgi?id=168219

Reviewed by Ryosuke Niwa.

Source/WebCore:

Make Editor::canUndo and Editor::canRedo const.

Also, remove unused allowsCopy from HitTestResult.

  • editing/Editor.cpp:

(WebCore::Editor::canUndo const):
(WebCore::Editor::canRedo const):
(WebCore::Editor::canUndo): Deleted.
(WebCore::Editor::canRedo): Deleted.

  • editing/Editor.h:
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::allowsCopy const): Deleted.

  • rendering/HitTestResult.h:
  • rendering/SelectionRangeData.cpp:

Source/WebKit:

Expose canCut, canCopy, canPaste, canUndo, and canRedo in EditorState::PostLayouData.

Add corresponding new WPE/GTK API.

Remove allowsCopy from WebKitTestResultData. It's unused, does not work correctly in all
circumstances, and irritates Ryosuke.

Also, remove a bunch of #ifs guarding post layout data, since it's now used on all ports.

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode const):
(WebKit::EditorState::decode):
(WebKit::EditorState::PostLayoutData::encode const):
(WebKit::EditorState::PostLayoutData::decode):

  • Shared/EditorState.h:

(WebKit::EditorState::postLayoutData const const):

  • Shared/WebHitTestResultData.cpp:

(WebKit::WebHitTestResultData::WebHitTestResultData):
(WebKit::WebHitTestResultData::encode const):
(WebKit::WebHitTestResultData::decode):

  • Shared/WebHitTestResultData.h:
  • UIProcess/API/APIHitTestResult.h:

(API::HitTestResult::allowsCopy const): Deleted.

  • UIProcess/API/glib/WebKitEditorState.cpp:

(webkitEditorStateChanged):
(webkit_editor_state_is_cut_available):
(webkit_editor_state_is_copy_available):
(webkit_editor_state_is_paste_available):
(webkit_editor_state_is_undo_available):
(webkit_editor_state_is_redo_available):

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkit_web_view_can_execute_editing_command):

  • UIProcess/API/gtk/WebKitEditorState.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/WebKitEditorState.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState const):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performImmediateActionHitTestAtLocation):

Tools:

Test it.

  • TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:

(testWebViewEditorCutCopyPasteNonEditable):
(testWebViewEditorCutCopyPasteEditable):
(testWebViewEditorSelectAllNonEditable):
(testWebViewEditorSelectAllEditable):
(loadContentsAndTryToCutSelection):
(testWebViewEditorNonEditable):
(testWebViewEditorEditorStateTypingAttributes):
(testWebViewEditorInsertImage):
(testWebViewEditorCreateLink):

6:39 AM Changeset in webkit [224178] by clopez@igalia.com
  • 63 edits in trunk/LayoutTests

[GTK] Rebaseline affected tests after r224177
https://bugs.webkit.org/show_bug.cgi?id=178933

Unreviewed gardening.

  • platform/gtk/editing/deleting/4922367-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-005-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-006-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-007-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-008-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-023-expected.txt:
  • platform/gtk/editing/deleting/delete-block-merge-contents-024-expected.txt:
  • platform/gtk/editing/deleting/delete-br-008-expected.txt:
  • platform/gtk/editing/deleting/delete-br-010-expected.txt:
  • platform/gtk/editing/deleting/delete-line-015-expected.txt:
  • platform/gtk/editing/deleting/delete-line-016-expected.txt:
  • platform/gtk/editing/deleting/delete-line-017-expected.txt:
  • platform/gtk/editing/deleting/merge-no-br-expected.txt:
  • platform/gtk/editing/deleting/type-delete-after-quote-expected.txt:
  • platform/gtk/editing/execCommand/4747450-expected.txt:
  • platform/gtk/editing/execCommand/4916402-expected.txt:
  • platform/gtk/editing/execCommand/4916541-expected.txt:
  • platform/gtk/editing/execCommand/4924441-expected.txt:
  • platform/gtk/editing/execCommand/5136770-expected.txt:
  • platform/gtk/editing/execCommand/5142012-2-expected.txt:
  • platform/gtk/editing/execCommand/5190926-expected.txt:
  • platform/gtk/editing/execCommand/5481523-expected.txt:
  • platform/gtk/editing/execCommand/create-list-with-hr-expected.txt:
  • platform/gtk/editing/execCommand/indent-selection-expected.txt:
  • platform/gtk/editing/execCommand/insert-list-and-stitch-expected.txt:
  • platform/gtk/editing/execCommand/nsresponder-indent-expected.txt:
  • platform/gtk/editing/inserting/insert-br-quoted-004-expected.txt:
  • platform/gtk/editing/inserting/insert-br-quoted-006-expected.txt:
  • platform/gtk/editing/pasteboard/5071074-2-expected.txt:
  • platform/gtk/editing/pasteboard/displaced-generic-placeholder-expected.txt:
  • platform/gtk/editing/pasteboard/displaced-placeholder-expected.txt:
  • platform/gtk/editing/pasteboard/merge-after-delete-2-expected.txt:
  • platform/gtk/editing/pasteboard/merge-after-delete-expected.txt:
  • platform/gtk/editing/pasteboard/merge-end-blockquote-expected.txt:
  • platform/gtk/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt:
  • platform/gtk/editing/pasteboard/paste-line-endings-008-expected.txt:
  • platform/gtk/editing/pasteboard/paste-match-style-001-expected.txt:
  • platform/gtk/editing/pasteboard/paste-text-008-expected.txt:
  • platform/gtk/editing/pasteboard/paste-text-009-expected.txt:
  • platform/gtk/editing/pasteboard/smart-paste-007-expected.txt:
  • platform/gtk/editing/pasteboard/smart-paste-008-expected.txt:
  • platform/gtk/editing/pasteboard/undoable-fragment-removes-expected.txt:
  • platform/gtk/editing/pasteboard/unrendered-br-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt:
  • platform/gtk/editing/style/4916887-expected.txt:
  • platform/gtk/editing/style/5046875-1-expected.txt:
  • platform/gtk/editing/style/5046875-2-expected.txt:
  • platform/gtk/editing/style/5279521-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-003-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-004-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-007-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-009-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-010-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-011-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-012-expected.txt:
  • platform/gtk/editing/style/create-block-for-style-013-expected.txt:
  • platform/gtk/editing/unsupported-content/list-delete-001-expected.txt:
  • platform/gtk/fast/forms/button-generated-content-expected.txt:
4:13 AM Changeset in webkit [224177] by Antti Koivisto
  • 113 edits in trunk

Destroy all unneeded anonymous wrappers in RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers()
https://bugs.webkit.org/show_bug.cgi?id=178933

Reviewed by Zalan Bujtas.

Source/WebCore:

Currently it just cleans up table related wrappers.

  • rendering/RenderObject.cpp:

(WebCore::findDestroyRootIncludingAnonymous):

Continuations are left as future work.

LayoutTests:

Many leftover empty anonymous wrappers go away in render tree dumps. No visual impact.

  • editing/deleting/delete-br-009-expected.txt:
  • platform/ios-wk2/editing/execCommand/4747450-expected.txt:
  • platform/ios-wk2/editing/execCommand/4924441-expected.txt:
  • platform/ios-wk2/editing/inserting/insert-br-quoted-004-expected.txt:
  • platform/ios-wk2/editing/inserting/insert-br-quoted-006-expected.txt:
  • platform/ios-wk2/editing/pasteboard/merge-end-blockquote-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-line-endings-008-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-match-style-001-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-008-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-009-expected.txt:
  • platform/ios-wk2/editing/pasteboard/undoable-fragment-removes-expected.txt:
  • platform/ios-wk2/editing/pasteboard/unrendered-br-expected.txt:
  • platform/ios-wk2/editing/style/4916887-expected.txt:
  • platform/ios-wk2/editing/style/5046875-1-expected.txt:
  • platform/ios-wk2/editing/style/5046875-2-expected.txt:
  • platform/ios-wk2/editing/style/5279521-expected.txt:
  • platform/ios-wk2/editing/style/create-block-for-style-003-expected.txt:
  • platform/ios-wk2/editing/style/create-block-for-style-004-expected.txt:
  • platform/ios-wk2/editing/style/create-block-for-style-007-expected.txt:
  • platform/ios-wk2/editing/style/create-block-for-style-009-expected.txt:
  • platform/ios-wk2/editing/style/create-block-for-style-010-expected.txt:
  • platform/ios-wk2/editing/style/create-block-for-style-011-expected.txt:
  • platform/ios-wk2/editing/style/create-block-for-style-012-expected.txt:
  • platform/ios-wk2/editing/style/create-block-for-style-013-expected.txt:
  • platform/ios/editing/deleting/4922367-expected.txt:
  • platform/ios/editing/deleting/type-delete-after-quote-expected.txt:
  • platform/ios/editing/execCommand/4916402-expected.txt:
  • platform/ios/editing/execCommand/4916541-expected.txt:
  • platform/ios/editing/execCommand/5136770-expected.txt:
  • platform/ios/editing/execCommand/5142012-2-expected.txt:
  • platform/ios/editing/execCommand/5190926-expected.txt:
  • platform/ios/editing/execCommand/5481523-expected.txt:
  • platform/ios/editing/pasteboard/5071074-2-expected.txt:
  • platform/ios/editing/pasteboard/displaced-generic-placeholder-expected.txt:
  • platform/ios/editing/pasteboard/displaced-placeholder-expected.txt:
  • platform/ios/editing/pasteboard/merge-after-delete-2-expected.txt:
  • platform/ios/editing/pasteboard/merge-after-delete-expected.txt:
  • platform/ios/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt:
  • platform/ios/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
  • platform/ios/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt:
  • platform/ios/fast/forms/button-generated-content-expected.txt:
  • platform/ios/fast/ruby/rubyDOM-remove-text2-expected.txt:
  • platform/mac-elcapitan/fast/forms/button-generated-content-expected.txt:
  • platform/mac/editing/deleting/4922367-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-005-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-006-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-007-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-008-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-023-expected.txt:
  • platform/mac/editing/deleting/delete-block-merge-contents-024-expected.txt:
  • platform/mac/editing/deleting/delete-br-008-expected.txt:
  • platform/mac/editing/deleting/delete-br-010-expected.txt:
  • platform/mac/editing/deleting/delete-line-015-expected.txt:
  • platform/mac/editing/deleting/delete-line-016-expected.txt:
  • platform/mac/editing/deleting/delete-line-017-expected.txt:
  • platform/mac/editing/deleting/merge-no-br-expected.txt:
  • platform/mac/editing/deleting/type-delete-after-quote-expected.txt:
  • platform/mac/editing/execCommand/4747450-expected.txt:
  • platform/mac/editing/execCommand/4916402-expected.txt:
  • platform/mac/editing/execCommand/4916541-expected.txt:
  • platform/mac/editing/execCommand/4924441-expected.txt:
  • platform/mac/editing/execCommand/5136770-expected.txt:
  • platform/mac/editing/execCommand/5142012-2-expected.txt:
  • platform/mac/editing/execCommand/5190926-expected.txt:
  • platform/mac/editing/execCommand/5481523-expected.txt:
  • platform/mac/editing/execCommand/create-list-with-hr-expected.txt:
  • platform/mac/editing/execCommand/indent-selection-expected.txt:
  • platform/mac/editing/execCommand/insert-list-and-stitch-expected.txt:
  • platform/mac/editing/execCommand/nsresponder-indent-expected.txt:
  • platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:
  • platform/mac/editing/inserting/insert-br-quoted-004-expected.txt:
  • platform/mac/editing/inserting/insert-br-quoted-006-expected.txt:
  • platform/mac/editing/pasteboard/5071074-2-expected.txt:
  • platform/mac/editing/pasteboard/displaced-generic-placeholder-expected.txt:
  • platform/mac/editing/pasteboard/displaced-placeholder-expected.txt:
  • platform/mac/editing/pasteboard/merge-after-delete-2-expected.txt:
  • platform/mac/editing/pasteboard/merge-after-delete-expected.txt:
  • platform/mac/editing/pasteboard/merge-end-blockquote-expected.txt:
  • platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt:
  • platform/mac/editing/pasteboard/paste-line-endings-008-expected.txt:
  • platform/mac/editing/pasteboard/paste-match-style-001-expected.txt:
  • platform/mac/editing/pasteboard/paste-text-008-expected.txt:
  • platform/mac/editing/pasteboard/paste-text-009-expected.txt:
  • platform/mac/editing/pasteboard/smart-paste-007-expected.txt:
  • platform/mac/editing/pasteboard/smart-paste-008-expected.txt:
  • platform/mac/editing/pasteboard/undoable-fragment-removes-expected.txt:
  • platform/mac/editing/pasteboard/unrendered-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt:
  • platform/mac/editing/style/4916887-expected.txt:
  • platform/mac/editing/style/5046875-1-expected.txt:
  • platform/mac/editing/style/5046875-2-expected.txt:
  • platform/mac/editing/style/5279521-expected.txt:
  • platform/mac/editing/style/create-block-for-style-003-expected.txt:
  • platform/mac/editing/style/create-block-for-style-004-expected.txt:
  • platform/mac/editing/style/create-block-for-style-007-expected.txt:
  • platform/mac/editing/style/create-block-for-style-009-expected.txt:
  • platform/mac/editing/style/create-block-for-style-010-expected.txt:
  • platform/mac/editing/style/create-block-for-style-011-expected.txt:
  • platform/mac/editing/style/create-block-for-style-012-expected.txt:
  • platform/mac/editing/style/create-block-for-style-013-expected.txt:
  • platform/mac/editing/style/smoosh-styles-001-expected.txt:
  • platform/mac/editing/style/style-boundary-005-expected.txt:
  • platform/mac/editing/style/unbold-in-bold-expected.txt:
  • platform/mac/editing/unsupported-content/list-delete-001-expected.txt:
  • platform/mac/fast/forms/button-generated-content-expected.txt:
  • platform/mac/fast/ruby/rubyDOM-remove-text2-expected.txt:
3:23 AM Changeset in webkit [224176] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Remove reference to RenderTreeInternalMutationScope
https://bugs.webkit.org/show_bug.cgi?id=178998
<rdar://problem/35246464>

Reviewed by Antti Koivisto.

We don't have such class anymore.

No change in functionality.

  • rendering/RenderView.h:
2:07 AM Changeset in webkit [224175] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/Source/WebInspectorUI

[GTK] Web Inspector: Add Path.svg
https://bugs.webkit.org/show_bug.cgi?id=178432

Patch by Fujii Hironori <Fujii Hironori> on 2017-10-30
Reviewed by Carlos Garcia Campos.

  • UserInterface/Images/gtk/Path.svg: Added.
1:43 AM Changeset in webkit [224174] by Nikita Vasilyev
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: [PARITY] Styles Redesign: clicking on the white space after the property should create a blank property
https://bugs.webkit.org/show_bug.cgi?id=178022
<rdar://problem/34861687>

Reviewed by Matt Baker.

  • Clicking on the whitespace on the right side of a property should insert a blank property after the clicked one.
  • Clicking on the whitespace at the end of a CSS rule should append a blank property.
  • Clicking on the whitespace before the first property should insert a blank property before the first one.
  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype.remove):
(WI.CSSProperty.prototype._updateOwnerStyleText):
Remove method previously didn't do anything for a newly added property.

  • UserInterface/Models/CSSStyleDeclaration.js:

(WI.CSSStyleDeclaration.prototype.newBlankProperty):
Update indices of all properties after the newly added property.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.isFocused):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.addBlankProperty):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetCSSStyleDeclarationEditorFocusMoved):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesChanged):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._addBlankProperty): Deleted.
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._isFocused): Deleted.
Re-layout SpreadsheetCSSStyleDeclarationEditor after adding a new property. Preserve edited property
so we can restore editing state after the re-layout.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleClick):
Clicking should add a new property only when we aren't editing an existing property.

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype.updateClassNames):
(WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
Remove newlyAdded property of SpreadsheetStyleProperty. During layout SpreadsheetCSSStyleDeclarationEditor
recreates SpreadsheetStyleProperty views and newlyAdded property gets lost.

  • UserInterface/Views/SpreadsheetTextField.js:

(WI.SpreadsheetTextField.prototype.get valueBeforeEditing):
(WI.SpreadsheetTextField.prototype.startEditing):
(WI.SpreadsheetTextField.prototype.stopEditing):
(WI.SpreadsheetTextField.prototype._discardChange):

1:23 AM Changeset in webkit [224173] by zandobersek@gmail.com
  • 11 edits
    38 adds in trunk

[GCrypt] Add support for P-521 EC curves
https://bugs.webkit.org/show_bug.cgi?id=175199

Reviewed by Jiewen Tan.

Source/WebCore:

Add support for 521-bit elliptic curves in the libgcrypt-based
implementation of WebCrypto API.

In the CryptoAlgorithmECDH implementation, the bit-size of the key is now
rounded up to the next byte boundary and passed to the helper
gcryptDerive() function. There the size in bytes is used to zero-pad the
derived key data. This is done to properly handle derivation results for
the P-521 curves, where the leading zero bit could get clipped, resulting
in a derived key that is only 65 byes in length when it is expected to be
66 bytes. Further cleanups are done in gcryptDerive() to use the mpiData()
function where possible.

In the CryptoAlgorithmECDSA implementation, the bit-size of the key is
again rounded up to the nearest byte boundary before being passed to the
helper gcryptSign() and gcryptVerify() functions. This again properly
enforces the requirement of 66 bytes to handle P-521 elliptic curves.

In the CryptoKeyEC implementation, NamedCurve::P521 cases in helper
functions operating on NamedCurve values are now implemented to return
appropriate values. platformSupportedCurve() now returns true for the
NamedCurve::P521 value. Zero-padding of the private key data is used
wherever it is necessary to avoid clipping any leading zero bit in the
P-521 EC key.

No new tests -- affected tests have their baselines updated.

  • crypto/gcrypt/CryptoAlgorithmECDHGCrypt.cpp:

(WebCore::gcryptDerive):
(WebCore::CryptoAlgorithmECDH::platformDeriveBits):

  • crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp:

(WebCore::CryptoAlgorithmECDSA::platformSign):
(WebCore::CryptoAlgorithmECDSA::platformVerify):

  • crypto/gcrypt/CryptoKeyECGCrypt.cpp:

(WebCore::curveName):
(WebCore::curveIdentifier):
(WebCore::curveSize):
(WebCore::curveUncompressedFieldElementSize):
(WebCore::CryptoKeyEC::platformSupportedCurve):
(WebCore::curveForIdentifier):
(WebCore::CryptoKeyEC::platformImportPkcs8):
(WebCore::CryptoKeyEC::platformAddFieldElements const):
(WebCore::CryptoKeyEC::platformExportPkcs8 const):

LayoutTests:

Add or update Web Crypto test baselines for the GTK+ and WPE ports
to reflect the added EC P-521 support.

  • platform/gtk/crypto/subtle/ec-generate-key-malformed-parameters-expected.txt: Added.
  • platform/gtk/crypto/subtle/ecdh-derive-bits-length-limits-expected.txt: Added.
  • platform/gtk/crypto/subtle/ecdh-import-spki-key-ecdh-identifier-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.https-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.https-expected.txt: Added.
  • platform/wpe/crypto/subtle/ec-generate-key-malformed-parameters-expected.txt: Added.
  • platform/wpe/crypto/subtle/ecdh-derive-bits-length-limits-expected.txt: Added.
  • platform/wpe/crypto/subtle/ecdh-import-spki-key-ecdh-identifier-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_bits.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/ecdh_keys.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures.worker-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDH.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_ECDSA.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes.worker-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDH.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_ECDSA.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.https-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/ec_importKey.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.https-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/ecdsa.worker-expected.txt: Added.
  • platform/wpe/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.https-expected.txt: Added.
1:17 AM Changeset in webkit [224172] by zandobersek@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

[ARMv7] Fix initial start register support in YarrJIT
https://bugs.webkit.org/show_bug.cgi?id=178641

Reviewed by Saam Barati.

  • yarr/YarrJIT.cpp: On ARMv7, use r8 as the initialStart register in the

YarrGenerator class. r6 should be avoided since it's already used inside
MacroAssemblerARMv7 as addressTempRegister. r7 isn't picked because it
can be used as the frame pointer register when targetting ARM Thumb2.

1:16 AM Changeset in webkit [224171] by zandobersek@gmail.com
  • 4 edits in trunk/Source

[ARM64][Linux] Re-enable Gigacage
https://bugs.webkit.org/show_bug.cgi?id=178130

Reviewed by Michael Catanzaro.

Source/bmalloc:

  • bmalloc/Gigacage.h: Re-enable Gigacage on ARM64 Linux.

Source/JavaScriptCore:

Guard the current globaladdr opcode implementation for ARM64 with
OS(DARWIN) as it's only usable for Mach-O.

For OS(LINUX), ELF-supported :got: and :got_lo12: relocation specifiers
have to be used. The .loh directive can't be used as it's not supported
in GCC or the ld linker.

On every other OS target, a compilation error is thrown.

  • offlineasm/arm64.rb:
1:15 AM Changeset in webkit [224170] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed WPE gardening. Skip Service Workers tests again after r224132.

Service Workers tests were unskipped from main TestExpectations in r224132, but Service Workers are not enabled
in WPE port yet.

  • platform/wpe/TestExpectations:
1:13 AM Changeset in webkit [224169] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Skip Service Workers tests again after r224132.

Service Workers tests were unskipped from main TestExpectations in r224132, but Service Workers are not enabled
in GTk+ port yet.

  • platform/gtk/TestExpectations:

Oct 29, 2017:

8:40 PM Changeset in webkit [224168] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Use of uninitialized value $targetIdlFile in hash element at preprocess-idls.pl line 165.
https://bugs.webkit.org/show_bug.cgi?id=177743

Patch by Fujii Hironori <Fujii Hironori> on 2017-10-29
Reviewed by Darin Adler.

GamepadWebVR.idl supplements Gamepad.idl. But, Gamepad.idl is not
processed because ENABLE_GAMEPAD is OFF.

No new tests since there should be no behavioral change.

  • CMakeLists.txt: Include GamepadWebVR.idl only if ENABLE_GAMEPAD.
  • Sources.txt: Ditto.
  • bindings/scripts/preprocess-idls.pl: Die if a supplemented IDL file is not found.
7:23 PM Changeset in webkit [224167] by jmarcell@apple.com
  • 3 edits in branches/safari-604-branch/Source

Apply patch. rdar://problem/35058061

We should ignore HSTS for partitioned, cross-origin subresource requests since HSTS is being abused for cross-site tracking purposes.

5:04 PM Changeset in webkit [224166] by Chris Dumez
  • 6 edits
    2 adds in trunk/LayoutTests

LayoutTests/imported/w3c:
Unreviewed, revaseline a few tests after r224156.

  • web-platform-tests/service-workers/service-worker/import-scripts-redirect.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/mime-sniffing.https-expected.txt: Added.
  • web-platform-tests/service-workers/service-worker/ready.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/redirected-response.https-expected.txt:
  • web-platform-tests/streams/readable-byte-streams/detached-buffers.serviceworker.https-expected.txt:

LayoutTests:
Unreviewed, rebaseline a few tests after r224156.

4:07 PM Changeset in webkit [224165] by weinig@apple.com
  • 13 edits
    4 adds in trunk

[Conic Gradients] Add support for parsing conic gradients
https://bugs.webkit.org/show_bug.cgi?id=178987

Reviewed by Dean Jackson.

Source/WebCore:

Adds initial support, disabled by default, for parsing conic gradients as per
CSS 4 Images - https://www.w3.org/TR/css-images-4/#conic-gradients.

Test: fast/gradients/conic-gradient-parsing.html

  • css/CSSGradientValue.cpp:

(WebCore::clone):
(WebCore::CSSGradientValue::isCacheable const):
(WebCore::CSSConicGradientValue::customCSSText const):
(WebCore::CSSConicGradientValue::createGradient):
(WebCore::CSSConicGradientValue::equals const):

  • css/CSSGradientValue.h:


Add CSSConicGradientValue as a subclass of CSSGradientValue and implement
customCSSText() and equals(). Stub out createGradient() as painting is not
yet implemented.


  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::isFixedSize const):
(WebCore::CSSImageGeneratorValue::fixedSize):
(WebCore::CSSImageGeneratorValue::isPending const):
(WebCore::CSSImageGeneratorValue::knownToBeOpaque const):
(WebCore::CSSImageGeneratorValue::loadSubimages):

  • css/CSSValue.cpp:

(WebCore::CSSValue::equals const):
(WebCore::CSSValue::cssText const):
(WebCore::CSSValue::destroy):

Dispatch to CSSConicGradientValue as needed.


  • css/CSSValue.h:

(WebCore::CSSValue::isImageGeneratorValue const):
(WebCore::CSSValue::isGradientValue const):
(WebCore::CSSValue::isConicGradientValue const):

Add conic gradient predicate support and update isImageGeneratorValue and
isGradientValue to include conic gradient.


  • css/CSSValueKeywords.in:


Add conic-gradient and repeating-conic-gradient.


  • css/parser/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):

  • css/parser/CSSParserMode.h:

(WebCore::CSSParserContextHash::hash):

Add runtime flags to enable conic gradients.


  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::consumeAngleOrPercent):

Helper, similar to consumeLengthOrPercent, for consumeGradientColorStops.
Corresponds to https://drafts.csswg.org/css-values-4/#typedef-angle-percentage


(WebCore::CSSPropertyParserHelpers::consumeGradientColorStops):

Convert to take CSSGradientValue by reference.


(WebCore::CSSPropertyParserHelpers::consumeAngularGradientColorStops):

Helper, similar to consumeGradientColorStops, but for angular color stops
used in conic gradients. Corresponds to https://www.w3.org/TR/css-images-4/#typedef-angular-color-stop-list
but does not yet support double position syntax.


(WebCore::CSSPropertyParserHelpers::consumeDeprecatedRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeLinearGradient):

Pass CSSGradientValue by reference.


(WebCore::CSSPropertyParserHelpers::consumeConicGradient):

Parse conic gradient.


(WebCore::CSSPropertyParserHelpers::consumeGeneratedImage):

Dispatch to consumeConicGradient for repeating and non-repeating
conic gradients.


(WebCore::CSSPropertyParserHelpers::isGeneratedImage):

Put each value on its own line to make it more readable and add CSSValueConicGradient
and CSSValueRepeatingConicGradient.


  • page/Settings.yaml:


Add a setting to enable conic gradients. Disabled by default.

  • features.json:


Move conic gradients to "In Development".

LayoutTests:

  • http/wpt/css: Added.
  • http/wpt/css/css-images-4: Added.
  • http/wpt/css/css-images-4/conic-gradient-parsing-expected.txt: Added.
  • http/wpt/css/css-images-4/conic-gradient-parsing.html: Added.

Add tests for basic parsing of conic gradients.

2:08 PM Changeset in webkit [224164] by graouts@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] Expose the currentTime property on Animation
https://bugs.webkit.org/show_bug.cgi?id=178988

Unreviewed.

Style fixes missed in previous patch.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::setCurrentTime):

1:22 PM Changeset in webkit [224163] by graouts@webkit.org
  • 5 edits
    2 adds in trunk

[Web Animations] Expose the currentTime property on Animation
https://bugs.webkit.org/show_bug.cgi?id=178988

Reviewed by Dean Jackson.

Source/WebCore:

We now expose the currentTime property on Animation objects, our first
step in implementing the Web Animations timing model, specifically section
3.5.4. "The current time of an animation" and section 3.5.5. "Setting the
current time of an animation". Setting the startTime has implications on
currentTime and vice-versa.

Test: webanimations/animation-current-time.html

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::setBindingsStartTime):
(WebCore::WebAnimation::startTime const):
(WebCore::WebAnimation::setStartTime):
(WebCore::WebAnimation::bindingsCurrentTime const):
(WebCore::WebAnimation::setBindingsCurrentTime):
(WebCore::WebAnimation::currentTime const):
(WebCore::WebAnimation::setCurrentTime):

  • animation/WebAnimation.h:
  • animation/WebAnimation.idl:

LayoutTests:

Add a new test that checks that the currentTime property is set
correctly based on the startTime value and the document timeline
currentTime, and that setting the property may raise an exception
and otherwise update the animation startTime.

  • webanimations/animation-current-time-expected.txt: Added.
  • webanimations/animation-current-time.html: Added.
11:24 AM WikiStart edited by l.gombos@samsung.com
(diff)
10:58 AM Changeset in webkit [224162] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/LayoutTests

Cherry-pick r224139. rdar://problem/35143359

10:58 AM Changeset in webkit [224161] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/Source/WebKit

Cherry-pick r224135. rdar://problem/35143359

10:58 AM Changeset in webkit [224160] by jmarcell@apple.com
  • 15 edits
    29 adds in branches/safari-604-branch

Cherry-pick r224134. rdar://problem/35143359

3:15 AM Changeset in webkit [224159] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

Assert that no script is executed during style recalc
https://bugs.webkit.org/show_bug.cgi?id=178845
<rdar://problem/35106129>

Reviewed by Antti Koivisto.

This patch adds NoEventDispatchAssertion to Document::updateStyle and Document::updateStyleIfNeeded
to make sure we don't start mutating DOM in the middle of a style update.

Added NoEventDispatchAssertion::EventAllowedScope for various places in SVGUseElement to update its
shadow tree since that happens while updating the style.

No new tests since there should be no behavioral change.

  • dom/Document.cpp:

(WebCore::Document::resolveStyle): Added NoEventDispatchAssertion while flushing pending stylesheets
and calling FrameView::willRecalcStyle, and while the style tree solver is in works. Also moved in
the code to update the selection and schedule to dispatch a fake mouse event into the same scope.
Also increment m_styleRecalcCount in the same code since post resolution callbacks could run author
scripts which in turn trigger another (recursive) style recalc.
(WebCore::Document::updateStyleIfNeeded): Put everything but the call to resolveStyle in a scope with
NoEventDispatchAssertion.

  • dom/Element.cpp:

(WebCore::Element::cloneElementWithChildren): Added NoEventDispatchAssertion::EventAllowedScope to the
newly cloned element for SVG use element's shadow tree.
(WebCore::Element::cloneElementWithoutChildren): Ditto.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent): Make the assertion more precise to workaround the fact SVG
use elements update its shadow tree in the middle of style updates. Also removed a redundant assertion
since the result of NoEventDispatchAssertion::isEventDispatchAllowedInSubtree cannot chance without
pushing or popoing the stack frame.

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::clearShadowTree):
(WebCore::SVGUseElement::updateShadowTree): Added NoEventDispatchAssertion to the user-agent shadow root
of a SVG use element. Since this is a newly created shadow tree which hasn't been exposed to author
scripts, it's safe to mutate them during the style recalc even though it's not the best design.
(WebCore::SVGUseElement::cloneTarget const): Ditto.
(WebCore::SVGUseElement::expandUseElementsInShadowTree const): Ditto.
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree const): Ditto.
(WebCore::SVGUseElement::transferEventListenersToShadowTree const):

3:06 AM Changeset in webkit [224158] by dino@apple.com
  • 14 edits in trunk

createImageBitmap with HTMLCanvasElement
https://bugs.webkit.org/show_bug.cgi?id=178984
<rdar://problem/35238440>

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Update the expected results.

  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-drawImage-expected.txt:
  • web-platform-tests/2dcontext/imagebitmap/createImageBitmap-sizeOverflow-expected.txt:
  • web-platform-tests/imagebitmap-renderingcontext/bitmaprenderer-as-imagesource-expected.txt:

Source/WebCore:

Implement createImageBitmap(HTMLCanvasElement).

While here, explicitly reject the promises for the
methods we haven't yet implemented. I was hoping this
would avoid a lengthy timeout in one of the imported
WPT tests but, alas, it doesn't. However, it's still
a good idea.

Extend internal WPT proposals to cover canvas creation.

  • html/ImageBitmap.cpp:

(WebCore::ImageBitmap::createPromise): Get the image from
the canvas and draw it into a new ImageBitmap buffer.

LayoutTests:

Exercise new creation method.

  • http/wpt/2dcontext/imagebitmap/common.js:

(create9x9CanvasWithTargetImage):

  • http/wpt/2dcontext/imagebitmap/createImageBitmap-expected.txt:
  • http/wpt/2dcontext/imagebitmap/createImageBitmap-sizing-expected.txt:
  • http/wpt/2dcontext/imagebitmap/createImageBitmap-sizing.html:
  • http/wpt/2dcontext/imagebitmap/createImageBitmap.html:
  • http/wpt/2dcontext/imagebitmap/drawImage-ImageBitmap-expected.txt:
  • http/wpt/2dcontext/imagebitmap/drawImage-ImageBitmap.html:
Note: See TracTimeline for information about the timeline view.