Timeline
Jun 10, 2017:
- 11:30 PM Changeset in webkit [218064] by
-
- 8 edits6 deletes in trunk/Source/WebKit2
[GTK] Remove WKFullScreenClientGtk
https://bugs.webkit.org/show_bug.cgi?id=173140
Reviewed by Michael Catanzaro.
It's only used internally in the GTK+ API. Implementation is a lot simpler without using it, we can simply use
either WebKitWebView or WebKitWebViewBase from PageClient directly.
- PlatformGTK.cmake:
- UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp: Removed.
- UIProcess/API/C/gtk/WKFullScreenClientGtk.h: Removed.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
- UIProcess/API/gtk/WebKitFullscreenClient.cpp: Removed.
- UIProcess/API/gtk/WebKitFullscreenClient.h: Removed.
- UIProcess/API/gtk/WebKitPrivate.h:
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed):
(webkitWebViewEnterFullScreen):
(webkitWebViewExitFullScreen):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseEnterFullScreen):
(webkitWebViewBaseExitFullScreen):
(webkitWebViewBaseIsFullScreen):
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- UIProcess/API/gtk/WebKitWebViewPrivate.h:
- UIProcess/gtk/WebFullScreenClientGtk.cpp: Removed.
- UIProcess/gtk/WebFullScreenClientGtk.h: Removed.
- 11:28 PM Changeset in webkit [218063] by
-
- 6 edits in trunk/Source/WebKit2
[GTK] Handle page download request in WebKitWebView directly
https://bugs.webkit.org/show_bug.cgi?id=173137
Reviewed by Žan Doberšek.
We don't need to pass through WebKitWebViewBase, since the base doesn't have an implementation.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest):
- UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed):
(webkitWebViewHandleDownloadRequest):
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSetDownloadRequestHandler): Deleted.
(webkitWebViewBaseHandleDownloadRequest): Deleted.
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- UIProcess/API/gtk/WebKitWebViewPrivate.h:
- 11:25 PM Changeset in webkit [218062] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Use a lambda in webkit_cookie_manager_get_accept_policy instead of toGenericCallbackFunction
https://bugs.webkit.org/show_bug.cgi?id=173134
Reviewed by Žan Doberšek.
It's simpler and easier to read.
- UIProcess/API/gtk/WebKitCookieManager.cpp:
(webkit_cookie_manager_get_accept_policy):
(webkitCookieManagerGetAcceptPolicyCallback): Deleted.
- 7:16 PM Changeset in webkit [218061] by
-
- 5 edits in trunk/LayoutTests
Rebaseline media/modern-media-controls/layout-node
https://bugs.webkit.org/show_bug.cgi?id=173203
Reviewed by Jon Lee.
The "visible" property no longer sets "display: initial" when true, but rather removes the "display" property altogether.
- media/modern-media-controls/layout-node/visible-expected.txt:
- media/modern-media-controls/layout-node/visible.html:
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 7:14 PM Changeset in webkit [218060] by
-
- 3 edits in trunk/LayoutTests
Enable media/modern-media-controls/layout-item
https://bugs.webkit.org/show_bug.cgi?id=173202
Reviewed by Jon Lee.
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 7:12 PM Changeset in webkit [218059] by
-
- 5 edits in trunk/LayoutTests
Rebaseline media/modern-media-controls/invalid-placard
https://bugs.webkit.org/show_bug.cgi?id=173201
Reviewed by Jon Lee.
The only required change was to update IconButton to Button since IconButton has been folded in its superclass Button.
- media/modern-media-controls/invalid-placard/invalid-placard-constrained-metrics-expected.txt:
- media/modern-media-controls/invalid-placard/invalid-placard-constrained-metrics.html:
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 7:10 PM Changeset in webkit [218058] by
-
- 5 edits in trunk/LayoutTests
Rebaseline media/modern-media-controls/icon-service
https://bugs.webkit.org/show_bug.cgi?id=173200
Reviewed by Jon Lee.
The method we were testing has changed name and the pause icon is no longer a good
test since it doesn't have a fullscreen variant, so we use the AirPlay icon instead.
- media/modern-media-controls/icon-service/icon-service-expected.txt:
- media/modern-media-controls/icon-service/icon-service.html:
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 6:37 PM Changeset in webkit [218057] by
-
- 31 edits in trunk
Reverted r218056 because it made the IDE reindex constantly.
PerformanceTests:
- MediaTime/Configurations/DebugRelease.xcconfig:
Source/bmalloc:
- Configurations/DebugRelease.xcconfig:
Source/JavaScriptCore:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/DebugRelease.xcconfig:
Source/WebCore:
- Configurations/DebugRelease.xcconfig:
Source/WebCore/PAL:
- Configurations/DebugRelease.xcconfig:
Source/WebInspectorUI:
- Configurations/DebugRelease.xcconfig:
Source/WebKit/mac:
- Configurations/DebugRelease.xcconfig:
Source/WebKit2:
- Configurations/DebugRelease.xcconfig:
Source/WTF:
- Configurations/DebugRelease.xcconfig:
Tools:
- ContentExtensionTester/Configurations/DebugRelease.xcconfig:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- ImageDiff/cg/Configurations/DebugRelease.xcconfig:
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- WebEditingTester/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- 1:32 PM Changeset in webkit [218056] by
-
- 31 edits in trunk
[Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
https://bugs.webkit.org/show_bug.cgi?id=173223
Reviewed by Sam Weinig.
The rebuilds were happening due to a difference in the compiler options that the IDE and
xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
specify an appropriate path in CLANG_INDEX_STORE_PATH.
PerformanceTests:
- MediaTime/Configurations/DebugRelease.xcconfig:
Source/bmalloc:
- Configurations/DebugRelease.xcconfig:
Source/JavaScriptCore:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/DebugRelease.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/DebugRelease.xcconfig:
Source/WebCore:
- Configurations/DebugRelease.xcconfig:
Source/WebCore/PAL:
- Configurations/DebugRelease.xcconfig:
Source/WebInspectorUI:
- Configurations/DebugRelease.xcconfig:
Source/WebKit/mac:
- Configurations/DebugRelease.xcconfig:
Source/WebKit2:
- Configurations/DebugRelease.xcconfig:
Source/WTF:
- Configurations/DebugRelease.xcconfig:
Tools:
- ContentExtensionTester/Configurations/DebugRelease.xcconfig:
- DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
- ImageDiff/cg/Configurations/DebugRelease.xcconfig:
- MiniBrowser/Configurations/DebugRelease.xcconfig:
- MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
- TestWebKitAPI/Configurations/DebugRelease.xcconfig:
- WebEditingTester/Configurations/DebugRelease.xcconfig:
- WebKitTestRunner/Configurations/DebugRelease.xcconfig:
- 12:51 PM Changeset in webkit [218055] by
-
- 6 edits in trunk/Tools
webkitpy: Reduce polling in ServerProcess
https://bugs.webkit.org/show_bug.cgi?id=173116
Reviewed by Ryosuke Niwa.
We should be smarter about polling. We do not need to poll every time a line is read from
stdout and stderr since lines are usually read from cached data. We should only poll
when extracting that cached data from stdout and stderr.
- Scripts/webkitpy/port/driver.py:
(Driver._read_block): Rely on output of the ServerProcess to detect a crash or a timeout
and on ServerProcess to poll the process if not data is available in stdout and stderr.
- Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_read_block_crashed_process): Test that the Driver will handle a crashing
ServerProcess.
- Scripts/webkitpy/port/server_process.py:
(ServerProcess._read): Allow for data to be read from _output even if the process has
crashed. Only poll the process if data needs to be extracted from stdout or stderr.
- Scripts/webkitpy/port/server_process_mock.py:
(MockServerProcess): Add number_of_times_polled.
(MockServerProcess.poll): Increment number_of_times_polled.
(MockServerProcess.has_crashed): Poll before returning crash state.
(MockServerProcess.read_stdout_line): MockServerProcess should return None if it has crashed,
just like a ServerProcess would.
(MockServerProcess.read_stdout): Ditto.
- Scripts/webkitpy/port/server_process_unittest.py:
(TestServerProcess.test_basic): Use stdin.readline() instead of time.sleep() to prevent the
process from ending before stdout and stderr are read. This is the reason this test was flakey.
(TestServerProcess):
(TestServerProcess.test_process_crashing): Test that when a process crashes, data can be read until
the processes is polled.
(TestServerProcess.test_process_crashing_no_data): Test that when a process which has not output any
data to stdout and stderr crashes, ServerProcess._read(...) polls the process to detect the crash.
- 12:20 PM Changeset in webkit [218054] by
-
- 2 edits in trunk/JSTests
Unreviewed, update test results part 2
https://bugs.webkit.org/show_bug.cgi?id=173227
- test262.yaml:
- 11:35 AM Changeset in webkit [218053] by
-
- 3 edits in trunk/JSTests
Unreviewed, update test results
https://bugs.webkit.org/show_bug.cgi?id=173227
- microbenchmarks/string-prototype-search-observable-side-effects.js:
- test262.yaml:
- 11:33 AM Changeset in webkit [218052] by
-
- 2 edits in trunk/Source/WebCore
[macOS] REGRESSION: Link drag images blend into the background in Sierra and earlier
https://bugs.webkit.org/show_bug.cgi?id=172933
<rdar://problem/32580649>
Reviewed by Tim Horton.
- platform/mac/DragImageMac.mm:
(WebCore::createDragImageForLink): When targeting macOS Sierra and earlier, give the link
drag image a drop shadow that resembles the one that macOS High Sierra applies to drag
image layers.
- 11:01 AM Changeset in webkit [218051] by
-
- 4 edits in trunk
[JSC] Update RegExp.prototype.[@@search]] implementation according to the latest spec
https://bugs.webkit.org/show_bug.cgi?id=173227
Reviewed by Mark Lam.
JSTests:
Update the test.
- es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.search].js:
Source/JavaScriptCore:
The latest spec introduces slight change to RegExp.prototype.[@@search].
This patch applies this change. Basically, this change is done in the slow path of
the RegExp.prototype[@@search].
https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
- builtins/RegExpPrototype.js:
(search):
- 12:25 AM Changeset in webkit [218050] by
-
- 4 edits in trunk
[QuickLook] PreviewLoader needs to check if its ResourceLoader has reached the terminal state before calling didReceiveResponse() and friends
https://bugs.webkit.org/show_bug.cgi?id=173190
<rdar://problem/31360659>
Reviewed by Brady Eidson.
Source/WebCore:
WebPreviewLoader's SubresourceLoader can reach a terminal state while data is loading from
QLPreviewConverter (the user can cancel, for instance). We can't call functions like
didReceiveResponse() in this state, because the loader no longer points to a CachedResource,
leading to null pointer dereferences.
Fix this in WebPreviewLoader by checking if the SubresourceLoader is in a terminal state
before calling didReceiveResponse(), didReceiveData(), didFinishLoading(), and didFail().
Fixes web process crashes in the QuickLook.CancelNavigationAfterResponse API test.
- loader/ios/PreviewLoader.mm:
(-[WebPreviewLoader _sendDidReceiveResponseIfNecessary]):
(-[WebPreviewLoader connection:didReceiveData:lengthReceived:]):
(-[WebPreviewLoader connectionDidFinishLoading:]):
(-[WebPreviewLoader connection:didFailWithError:]):
Tools:
Added a release assert that tries to create a proper test failure if the web process crashes.
- TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:
(-[QuickLookDecidePolicyDelegate _webViewWebProcessDidCrash:]):
- 12:13 AM Changeset in webkit [218049] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r217749): Event listeners are removed even if they haven't been added
https://bugs.webkit.org/show_bug.cgi?id=173185
Reviewed by Joseph Pecoraro.
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
(WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
(WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
Maintain a member variable flag such that event listeners are only removed if it is true.
It is only set to true once the event listeners are added.
Jun 9, 2017:
- 10:24 PM Changeset in webkit [218048] by
-
- 13 edits in trunk/Source/WebCore
Use WTF::Function instead of std::function in indexeddb code
https://bugs.webkit.org/show_bug.cgi?id=173198
Reviewed by Sam Weinig.
Use WTF::Function instead of std::function in indexeddb code to avoid copying.
- Modules/indexeddb/IDBFactory.cpp:
(WebCore::IDBFactory::getAllDatabaseNames):
- Modules/indexeddb/IDBFactory.h:
- Modules/indexeddb/client/IDBConnectionProxy.cpp:
(WebCore::IDBClient::IDBConnectionProxy::getAllDatabaseNames):
- Modules/indexeddb/client/IDBConnectionProxy.h:
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::getAllDatabaseNames):
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::doComplete):
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
(WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::storeCallbackOrFireError):
(WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::renameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::createIndex):
(WebCore::IDBServer::UniqueIDBDatabase::deleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::renameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::putOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::getRecord):
(WebCore::IDBServer::UniqueIDBDatabase::getAllRecords):
(WebCore::IDBServer::UniqueIDBDatabase::getCount):
(WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::openCursor):
(WebCore::IDBServer::UniqueIDBDatabase::iterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::activateTransactionInBackingStore):
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- 10:19 PM Changeset in webkit [218047] by
-
- 2 edits in trunk/Source/WebCore
Tried to fix the build when targrting macOS 10.12 using the macOS 10.13 developer beta SDK.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesLastModifiedTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::liveUpdateInterval):
- 10:11 PM Changeset in webkit [218046] by
-
- 2 edits in trunk/Source/WebKit2
Crash inside WebKit::PluginView::getAuthenticationInfo
https://bugs.webkit.org/show_bug.cgi?id=173083
<rdar://problem/32513144>
Address Darin's review comment.
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::getAuthenticationInfo):
- 10:11 PM Changeset in webkit [218045] by
-
- 2 edits in trunk/Source/WebCore
[preload] Fix builds with ENABLE_VIDEO_TRACK set to false
https://bugs.webkit.org/show_bug.cgi?id=173221
Reviewed by Chris Dumez.
https://bugs.webkit.org/show_bug.cgi?id=173047 introduced a build error for builds with video track support disabled.
This fixes that build issue.
No new tests since there's no functional change.
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::as):
- 10:08 PM Changeset in webkit [218044] by
-
- 2 edits in trunk/Source/WebCore
IsInShadowTreeFlag does not get updated for a non-container node
https://bugs.webkit.org/show_bug.cgi?id=173084
Address Darin's review comment.
- dom/ContainerNodeAlgorithms.cpp:
(WebCore::notifyNodeInsertedIntoDocument):
(WebCore::notifyNodeInsertedIntoTree):
(WebCore::notifyNodeRemovedFromDocument):
- 9:38 PM Changeset in webkit [218043] by
-
- 2 edits in trunk/Source/WebCore
Fixed building with the macOS 10.13 Apple Internal SDK when targeting macOS 10.12.
- platform/spi/mac/AVFoundationSPI.h:
- 9:35 PM Changeset in webkit [218042] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r217258): Misspelled variable names
https://bugs.webkit.org/show_bug.cgi?id=173189
Reviewed by Joseph Pecoraro.
- UserInterface/Base/Main.js:
(WebInspector.tabContentViewClassForRepresentedObject):
- UserInterface/Views/ResourceIcons.css:
(.large :matches(.resource-icon.resource-type-stylesheet, .stylesheet-icon) .icon):
(.large .resource-icon.resource-type-stylesheet .icon): Deleted.
- 9:32 PM Changeset in webkit [218041] by
-
- 5 edits3 adds in trunk
Crash when IndexedDB's getAll is used inside a Web Worker.
https://bugs.webkit.org/show_bug.cgi?id=172434
Reviewed by Andy Estes.
Source/WebCore:
Test: storage/indexeddb/modern/worker-getall.html
- Modules/indexeddb/IDBGetAllResult.cpp:
(WebCore::IDBGetAllResult::IDBGetAllResult): Add an isolated-copying constructor.
(WebCore::IDBGetAllResult::isolatedCopy):
- Modules/indexeddb/IDBGetAllResult.h:
- Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::isolatedCopy): Actually copy the IDBGetAllResult.
LayoutTests:
- storage/indexeddb/modern/resources/worker-getall.js: Added.
- storage/indexeddb/modern/worker-getall-expected.txt: Added.
- storage/indexeddb/modern/worker-getall.html: Added.
- 9:30 PM Changeset in webkit [218040] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed attempt to fix Mac build after r218039.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::loadDataURL):
- platform/network/DataURLDecoder.h:
- 9:07 PM Changeset in webkit [218039] by
-
- 3 edits in trunk/Source/WebCore
Use WTF::Function instead of std::function in DataURLDecoder
https://bugs.webkit.org/show_bug.cgi?id=173194
Reviewed by Sam Weinig.
Use WTF::Function instead of std::function in DataURLDecoder to avoid copying.
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::DecodeTask::DecodeTask):
(WebCore::DataURLDecoder::createDecodeTask):
- platform/network/DataURLDecoder.h:
- 7:51 PM Changeset in webkit [218038] by
-
- 3 edits in trunk/Source/WebCore
Image should clear its ImageObserver* when CachedImage releases the last reference to its RefCounted<ImageObserver>
https://bugs.webkit.org/show_bug.cgi?id=173077
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-06-09
Reviewed by Simon Fraser.
Before dereferencing ImageObserver, CachedImage::clearImage() should check
whether it is the only object that holds a reference to this ImageObserver.
And if this is true, m_image have to clear its raw pointer to the deleted
ImageObserver by calling m_image->setImageObserver(nullptr).
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::setBodyDataFrom):
(WebCore::CachedImage::CachedImageObserver::CachedImageObserver):
(WebCore::CachedImage::clearImage):
- loader/cache/CachedImage.h:
- 7:11 PM Changeset in webkit [218037] by
-
- 2 edits in trunk/Source/WebCore
Attempt to fix layout test failures following <https://trac.webkit.org/changeset/218028/webkit>
(https://bugs.webkit.org/show_bug.cgi?id=158121)
<rdar://problem/26012994>
For now, if we do not have a frame then consider the document a secure context. One way this can happen
is the page accesses a frame that was removed from the document as demonstrated by the test:
fast/dom/Window/property-access-on-cached-window-after-frame-removed.html. Treating a frameless
document as a secure context also matches Blink's implementation:
<https://chromium.googlesource.com/chromium/src/+/fc202b2b1174f5732f7b9e63a6c46fd01ac2be02/third_party/WebKit/Source/core/dom/Document.cpp#4079>.
- dom/Document.cpp:
(WebCore::Document::isSecureContext):
- 6:14 PM Changeset in webkit [218036] by
-
- 1 copy in tags/Safari-604.1.25.1
Tag Safari-604.1.25.1.
- 6:14 PM Changeset in webkit [218035] by
-
- 1 delete in tags/Safari-604.1.25.1
Remove tag.
- 6:12 PM Changeset in webkit [218034] by
-
- 1 copy in tags/Safari-604.1.25.1/safari-604.1.25-branch
Tag Safari-604.1.25.1.
- 6:07 PM Changeset in webkit [218033] by
-
- 1 copy in tags/Safari-604.1.25.1
Tag Safari-604.1.25.1.
- 5:56 PM Changeset in webkit [218032] by
-
- 36 edits13 deletes in tags/Safari-604.1.25
Cherry-pick r218009. rdar://problem/32677465
- 5:37 PM Changeset in webkit [218031] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r218003.
This change caused assertion failures in existing LayoutTests.
Reverted changeset:
"Image should clear its ImageObserver* when CachedImage
releases the last reference to its RefCounted<ImageObserver>"
https://bugs.webkit.org/show_bug.cgi?id=173077
http://trac.webkit.org/changeset/218003
- 5:08 PM Changeset in webkit [218030] by
-
- 6 edits in trunk/Source/WebCore
[WebCrypto] Remove unsupported CryptoAlgorithmIdentifier
https://bugs.webkit.org/show_bug.cgi?id=173128
<rdar://problem/32666826>
Reviewed by Brent Fulgham.
This patch remove AES_CMAC, DH and CONCAT as they are not implemented and not recommended
by the spec. Hence there is no plan to support them in short term.
No change of behaviour.
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
- bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::normalizeCryptoAlgorithmParameters):
(WebCore::supportExportKeyThrow):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::read):
- crypto/CryptoAlgorithmIdentifier.h:
- crypto/keys/CryptoKeyAES.cpp:
(WebCore::CryptoKeyAES::isValidAESAlgorithm):
- 5:00 PM Changeset in webkit [218029] by
-
- 2 edits in trunk/LayoutTests
Mark fast/mediastream/getUserMedia-grant-persistency3.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=173188
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 4:56 PM Changeset in webkit [218028] by
-
- 12 edits in trunk/Source/WebCore
Implement W3C Secure Contexts Draft Specification
https://bugs.webkit.org/show_bug.cgi?id=158121
<rdar://problem/26012994>
Reviewed by Alex Christensen.
Part 2
Implements the Secure Contexts spec., <https://w3c.github.io/webappsec-secure-contexts/> (Editor's
Draft, 17 November 2016) except for the allow-secure-context sandbox flag and restrictions on window.opener
as the former is at risk of being dropped from the specification and the latter is being discussed in
<https://github.com/w3c/webappsec-secure-contexts/issues/42>. We are not making use of the Secure
Contexts functionality at the moment. We will make use of it in a subsequent commit.
- dom/Document.cpp:
(WebCore::Document::isSecureContext): Added,
- dom/Document.h:
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::isSecureContext): Deleted; moved to class SecurityContext.
- dom/SecurityContext.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::isSecureContext): Added.
- page/DOMWindow.h:
- page/SecurityOrigin.cpp:
(WebCore::isLoopbackIPAddress): Convenience function to determine whether the host portion
of the specified URL is a valid loopback address.
(WebCore::shouldTreatAsPotentionallyTrustworthy): Implements the "Is origin potentially trustworthy?"
algorithm from the Secure Context specification.
(WebCore::SecurityOrigin::SecurityOrigin): Compute whether this origin is potentially trustworthy.
Also, use C++ brace initialization syntax in member initialization list.
- page/SecurityOrigin.h:
(WebCore::SecurityOrigin::isPotentionallyTrustworthy): Added.
- page/WindowOrWorkerGlobalScope.idl: Expose attribute isSecureContext. Fix style nit; remove
period from a comment that is not meant to be a complete sentence.
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::isSecureContext): Added.
- workers/WorkerGlobalScope.h:
- 4:38 PM Changeset in webkit [218027] by
-
- 13 edits in trunk/Source/WebCore
Implement W3C Secure Contexts Draft Specification
https://bugs.webkit.org/show_bug.cgi?id=158121
<rdar://problem/26012994>
Reviewed by Chris Dumez.
Part 1
Teach the bindings code generator to generate a runtime check for an interface, attribute or
function annotated with the extended attribute [SecureContext]. For now, the runtime check
(ScriptExecutionContext::isSecureContext()) always returns true. We will flesh out the
implementation of this runtime check in a subsequent commit.
- bindings/scripts/CodeGeneratorJS.pm:
(NeedsRuntimeCheck):
(GenerateRuntimeEnableConditionalString):
Generate a runtime check for an interface, attribute, or function that is annotated with
the extended attribute [SecureContext].
- bindings/scripts/IDLAttributes.json: Update JSON now that we support SecureContext.
- bindings/scripts/preprocess-idls.pl:
(GenerateConstructorAttributes): Add the SecureContext extended attribute to a constructor,
if applicable.
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachablePrototype::finishCreation):
(WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast):
(WebCore::jsTestGenerateIsReachableASecretAttributeGetter):
(WebCore::jsTestGenerateIsReachableASecretAttribute):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::finishCreation):
(WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody):
(WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult):
(WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody):
(WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean):
(WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody):
(WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodePrototype::finishCreation):
(WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody):
(WebCore::jsTestNodePrototypeFunctionCalculateSecretResult):
(WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody):
(WebCore::jsTestNodePrototypeFunctionGetSecretBoolean):
(WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody):
(WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody):
(WebCore::jsTestObjPrototypeFunctionCalculateSecretResult):
(WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody):
(WebCore::jsTestObjPrototypeFunctionGetSecretBoolean):
(WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody):
(WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean):
Update expected results.
- bindings/scripts/test/TestGenerateIsReachable.idl:
- bindings/scripts/test/TestGlobalObject.idl:
- bindings/scripts/test/TestNode.idl:
- bindings/scripts/test/TestObj.idl:
Add test cases.
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::isSecureContext): Added. For now, always returns true.
We will implement this function in a subsequent commit.
- 4:13 PM Changeset in webkit [218026] by
-
- 2 edits in trunk/LayoutTests
CSP: Apply img-src directive to favicon loads
https://bugs.webkit.org/show_bug.cgi?id=172733
Remove CONSOLE MESSAGE line from expected result that I inadvertently left in from an earlier iteration
of the test that did not call testRunner.queueReload(). Calling testRunner.queueReload() clears out
any emitted console messages. The dump of the resource load callbacks is sufficient to ensure that
the favicon was blocked as expected.
- http/tests/security/contentSecurityPolicy/block-favicon-expected.txt:
- 3:45 PM Changeset in webkit [218025] by
-
- 4 edits in trunk/LayoutTests
REGRESSION: LayoutTest js/intl-datetimeformat.html is failing
https://bugs.webkit.org/show_bug.cgi?id=172720
Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2017-06-09
Reviewed by Darin Adler.
Reenable DateTimeFormat tests, allowing for some variation in the
formatting of time zone names.
- js/intl-datetimeformat-expected.txt:
- js/script-tests/intl-datetimeformat.js:
- platform/mac/TestExpectations:
- 3:38 PM Changeset in webkit [218024] by
-
- 9 edits in trunk/Source/WebKit2
Use WTF::Function instead of std::function in NetworkProcess code
https://bugs.webkit.org/show_bug.cgi?id=173182
Reviewed by Alex Christensen.
Use WTF::Function instead of std::function in NetworkProcess code to avoid
unnecessary copying.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/cache/NetworkCacheIOChannel.h:
- NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::write):
- NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSyncInThread):
(WebKit::NetworkCache::IOChannel::write):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- NetworkProcess/cache/NetworkCacheStatistics.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::clearNSURLCache):
(WebKit::NetworkProcess::clearDiskCache):
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::NetworkProcess::clearDiskCache):
- 3:35 PM Changeset in webkit [218023] by
-
- 3 edits in trunk/Source/WebKit2
REGRESSION (r213584): WeChat app can not switch to next text field
https://bugs.webkit.org/show_bug.cgi?id=173183
<rdar://problem/32323478>
Reviewed by Wenson Hsieh.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/InputViewUpdateDeferrer.mm:
(WebKit::InputViewUpdateDeferrer::~InputViewUpdateDeferrer):
It turns out that _endIgnoringReloadInputViews doesn't actually perform
the update if there was one ignored. It does, however, return whether
there was a change ignored, and we can force an update.
This remains untestable without sizable additional API test infrastructure
for the same reasons as the original patch.
- 3:16 PM Changeset in webkit [218022] by
-
- 2 edits in trunk/Source/WebKit2
Make sure we protect |this| in lambdas in WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver()
https://bugs.webkit.org/show_bug.cgi?id=173174
<rdar://problem/32598919>
Reviewed by Darin Adler.
Follow-up fix to r218006, which caused a crash on the bots. We cannot WTFMove() protectedThis
here because the callback gets called several times.
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):
- 3:09 PM Changeset in webkit [218021] by
-
- 2 edits in trunk/Source/WebKit2
Crash in -[WKWebView _initializeWithConfiguration:]
https://bugs.webkit.org/show_bug.cgi?id=173126
<rdar://problem/32664993>
Reviewed by Darin Adler.
Follow up to previous fix; when setting NSString properties, store a copy of
the string rather than the NSString itself.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _overrideContentSecurityPolicy]):
(-[WKWebViewConfiguration _setOverrideContentSecurityPolicy:]):
(-[WKWebViewConfiguration _setMediaContentTypesRequiringHardwareSupport:]):
- 2:59 PM Changeset in webkit [218020] by
-
- 3 edits2 adds in trunk
Web Inspector: Web inspector does not show non-shadow children of an element with a shadow root (e.g. <video>)
https://bugs.webkit.org/show_bug.cgi?id=173121
<rdar://problem/30948943>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-06-09
Reviewed by Matt Baker.
Source/WebInspectorUI:
- UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode):
Only populate _children when we have both the shadowRoots and
actual children payloads. Backends always send shadowRoots but
only send children when requested. So if we have shadowRoots
but expect actual children, don't populate _children until we
request the child nodes.
LayoutTests:
- inspector/dom/shadow-and-non-shadow-children-expected.txt: Added.
- inspector/dom/shadow-and-non-shadow-children.html: Added.
- 2:53 PM Changeset in webkit [218019] by
-
- 3 edits in trunk/LayoutTests
LayoutTest fast/images/animated-image-different-dest-size.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=170203
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-06-09
Reviewed by Simon Fraser.
Instead of using setTimeout(), listen to the webkitImageFrameReady event
to know relaibly when to draw the next frame of an animated image to a
canvas.
- fast/images/animated-image-different-dest-size.html:
- platform/mac-wk2/TestExpectations:
- 2:25 PM Changeset in webkit [218018] by
-
- 2 edits in trunk/LayoutTests
Skipped layout test svg/animations/svglength-element-removed-crash.svg.
https://bugs.webkit.org/show_bug.cgi?id=173178
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 2:09 PM Changeset in webkit [218017] by
-
- 3 edits in trunk/Source/WebKit2
Use WTF::Function instead of std::function in StorageManager
https://bugs.webkit.org/show_bug.cgi?id=173177
Reviewed by Brady Eidson.
Use WTF::Function instead of std::function in StorageManager. This eliminates some
potential implicit copying of captured variables, which is important here because
we pass those lambdas to other threads.
- UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::getSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageEntriesForOrigins):
(WebKit::StorageManager::getLocalStorageOrigins):
(WebKit::StorageManager::getLocalStorageOriginDetails):
(WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
(WebKit::StorageManager::deleteLocalStorageEntriesForOrigins):
- UIProcess/Storage/StorageManager.h:
- 1:55 PM Changeset in webkit [218016] by
-
- 8 edits in trunk/Source/WebCore
Media elements are allowed to continue to load media data after navigation
https://bugs.webkit.org/show_bug.cgi?id=173179
Reviewed by Eric Carlson.
Deny media sessions the ability to load media data when suspended.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::isSuspended):
- Modules/webaudio/AudioContext.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isSuspended):
- html/HTMLMediaElement.h:
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::isSuspended):
- platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSessionClient::isSuspended):
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sessionCanLoadMedia):
- 1:45 PM Changeset in webkit [218015] by
-
- 16 edits4 adds in trunk
CSP: Apply img-src directive to favicon loads
https://bugs.webkit.org/show_bug.cgi?id=172733
<rdar://problem/32082654>
Reviewed by Brady Eidson.
Source/WebCore:
Differentiate favicon requests from raw resources requests so that we can apply the Content
Security Policy to favicon requests.
Tests: http/tests/security/contentSecurityPolicy/allow-favicon.html
http/tests/security/contentSecurityPolicy/block-favicon.html
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResourceContent): Keep our current behavior and treat a
favicon resource analogous to a raw resource.
(WebCore::InspectorPageAgent::cachedResourceType): Ditto.
- loader/LinkLoader.cpp:
(WebCore::createLinkPreloadResourceClient): Now that we differentiate between a favicon
and a raw resource we add favicons to the list of unsupported <link as="..."> types. This
makes the list of handled request destination types more closely match the list of valid types
documented in <https://fetch.spec.whatwg.org/#concept-request-destination> (24 May 2017).
- loader/ResourceLoadInfo.cpp:
(WebCore::toResourceType): Keep our current behavior and treat a favicon resource analogous
to a raw resource.
- loader/SubresourceLoader.cpp:
(WebCore::logResourceLoaded): Ditto.
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::CachedRawResource): Update for renaming.
- loader/cache/CachedRawResource.h:
(isType): Ditto.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::defaultPriorityForResourceType): Keep our current behavior and treat
a favicon resource analogous to a raw resource.
- loader/cache/CachedResource.h:
(WebCore::CachedResource::isMainOrMediaOrFaviconOrRawResource): Renamed; formerly named isMainOrMediaOrRawResource.
Also return true if the this resource is a favicon.
(WebCore::CachedResource::ignoreForRequestCount): Keep our current behavior and treat a
favicon resource analogous to a raw resource.
(WebCore::CachedResource::isMainOrMediaOrRawResource): Deleted; renamed to isMainOrMediaOrFaviconOrRawResource.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource): Keep our current behavior and treat a favicon resource analogous
to a raw resource.
(WebCore::CachedResourceLoader::requestFavicon): Added.
(WebCore::contentTypeFromResourceType): Keep our current behavior and treat a favicon
resource analogous to a raw resource.
(WebCore::CachedResourceLoader::checkInsecureContent): Ditto.
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy): Check if the favicon is
allowed by the CSP of the page.
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Update for renaming.
- loader/cache/CachedResourceLoader.h:
- loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading): Substitute call CachedResourceLoader::requestFavicon() for CachedResourceLoader::requestRawResource()
and remove comment about ContentSecurityPolicyImposition::DoPolicyCheck being a placeholder. This is no longer the
case. This resource request option is now meaningful as we want to apply the CSP of the page with respect to the
request for the favicon.
Source/WebKit2:
Return 0 seconds for the maximum buffering time for favicons (no change in behavior).
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime):
LayoutTests:
Adds tests to ensure the CSP policy is applied to favicon loads.
- http/tests/security/contentSecurityPolicy/allow-favicon-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/allow-favicon.html: Added.
- http/tests/security/contentSecurityPolicy/block-favicon-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/block-favicon.html: Added.
- platform/wk2/TestExpectations: Skip the tests until we fix <https://bugs.webkit.org/show_bug.cgi?id=115809>.
- 1:10 PM Changeset in webkit [218014] by
-
- 25 edits in trunk
[iOS DnD] Add a hook to perform two-step drops in editable content
https://bugs.webkit.org/show_bug.cgi?id=172992
<rdar://problem/32590174>
Reviewed by Tim Horton.
Source/WebCore:
Adds hooks in DragController::concludeEditDrag to give the client layer a chance to perform custom handling when
dropping in editable content.
Tests: DataInteractionTests.InjectedBundleOverridePerformTwoStepDrop
DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop
- loader/EmptyClients.cpp:
- page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):
- page/EditorClient.h:
Source/WebKit/ios:
Add an empty implementation of performTwoStepDrop for WebDefaultUIKitDelegate. See WebCore ChangeLogs.
- DefaultDelegates/WebDefaultUIKitDelegate.m:
(-[WebDefaultUIKitDelegate performTwoStepDrop:atDestination:isMove:]):
- WebView/WebUIKitDelegate.h:
Source/WebKit/mac:
Adds a new SPI to WebUIKitDelegate to allow WK1 clients to override default drop behavior. Returning YES from
-performTwoStepDrop:atDestination:isMove: will prevent content from being inserted on drop in WebKit; otherwise,
returning NO will continue with default WebKit behavior.
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::performTwoStepDrop):
Source/WebKit/win:
Add a stub implementation for performTwoStepDrop on Windows.
- WebCoreSupport/WebEditorClient.h:
Source/WebKit2:
Add plumbing to support an injected bundle hook for overriding two-step drops. See WebCore ChangeLog.
- WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h:
(API::InjectedBundle::EditorClient::performTwoStepDrop):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInEditingDelegate.h:
- WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]):
- WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
(WebKit::InjectedBundlePageEditorClient::performTwoStepDrop):
- WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::performTwoStepDrop):
- WebProcess/WebCoreSupport/WebEditorClient.h:
Tools:
Adds 2 new API tests to cover using the injected editing bundle to override performTwoStepDrop.
Tests: DataInteractionTests.InjectedBundleOverridePerformTwoStepDrop
DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop
- TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm:
(-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:performTwoStepDrop:atDestination:isMove:]):
Allow the BundleOverridePerformTwoStepDrop bundle parameter to determine whether or not two-step drops should
be overridden. Currently, this is overridden to just return true.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
- 12:47 PM Changeset in webkit [218013] by
-
- 1 edit1 add in trunk/LayoutTests
Add a result file for js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5-short.html.
https://bugs.webkit.org/show_bug.cgi?id=161156
Unreviewed test gardening.
- js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5-short-expected.txt: Added.
- 12:41 PM Changeset in webkit [218012] by
-
- 5 edits in trunk/Source
Update Thread::create() to take in a WTF::Function instead of a std::function
https://bugs.webkit.org/show_bug.cgi?id=173175
Reviewed by Mark Lam.
Source/JavaScriptCore:
- API/tests/CompareAndSwapTest.cpp:
(testCompareAndSwap):
Source/WTF:
Update Thread::create() to take in a WTF::Function instead of a std::function. Unlike
std::function, WTF:Function is not copyable and does not make implicit copies of captured
variables. Doing captures such as [string = string.isolatedCopy()] when passing an
std::function to another thread has lead to bugs in the past due to implicit copying of
the captured string.
- wtf/Threading.cpp:
(WTF::Thread::create):
- wtf/Threading.h:
- 12:40 PM Changeset in webkit [218011] by
-
- 7 edits in trunk/Source/WebKit2
Use Function rather than std::function for thread safety in WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=173172
Reviewed by Chris Dumez.
<rdar://problem/32679311>
Remove a few more instances of std::function in the WebsiteDataStore, and WTFMove completion handler to
avoid unnecessary copies.
- Shared/WebsiteData/WebsiteDataType.h: Remove redundant WebsiteDataType from name.
- UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
(WebKit::toWebsiteDataType): Update for revised name.
(WebKit::toWKWebsiteDataTypes): Ditto.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyControlledDomainsInAllPersistentDataStores): ASSERT that
this function, as well as its completion handler, are getting called from the main thread.
(WebKit::WebProcessProxy::topPrivatelyControlledDomainsWithWebiteData): Ditto.
(WebKit::WebProcessProxy::fetchWebsiteData): Move the completionHandler.
(WebKit::WebProcessProxy::deleteWebsiteData): Ditto.
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins): Ditto.
- UIProcess/WebProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData): Switch to Function, and move completion handler.
(WebKit::WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains): Ditto.
(WebKit::WebsiteDataStore::topPrivatelyControlledDomainsWithWebsiteData): Ditto.
(WebKit::WebsiteDataStore::removeData): Ditto.
(WebKit::WebsiteDataStore::removeDataForTopPrivatelyControlledDomains): Ditto.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- 12:00 PM Changeset in webkit [218010] by
-
- 36 edits13 deletes in branches/safari-604.1.25-branch
Cherry-pick r218009. rdar://problem/32677465
- 11:56 AM Changeset in webkit [218009] by
-
- 36 edits13 deletes in trunk
Revert r217955. rdar://problem/21125708
- 11:56 AM Changeset in webkit [218008] by
-
- 7 edits in trunk/Source
Versioning.
- 11:55 AM Changeset in webkit [218007] by
-
- 3 edits in trunk/Source/JavaScriptCore
[DFG] Add verboseDFGOSRExit
https://bugs.webkit.org/show_bug.cgi?id=173156
Reviewed by Saam Barati.
This patch adds verboseDFGOSRExit which is similar to verboseFTLOSRExit.
- dfg/DFGOSRExitCompiler.cpp:
- runtime/Options.h:
- 11:52 AM Changeset in webkit [218006] by
-
- 2 edits in trunk/Source/WebKit2
Make sure we protect |this| in lambdas in WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver()
https://bugs.webkit.org/show_bug.cgi?id=173174
<rdar://problem/32598919>
Reviewed by Darin Adler.
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):
- 11:46 AM Changeset in webkit [218005] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC][MIPS] Add MacroAssemblerMIPS::xor32(Address, RegisterID) implementation
https://bugs.webkit.org/show_bug.cgi?id=173170
Patch by Guillaume Emont <guijemont@igalia.com> on 2017-06-09
Reviewed by Yusuke Suzuki.
MIPS does not build since r217711 because it is missing this
implementation. This patch fixes the build.
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::xor32):
- 11:42 AM Changeset in webkit [218004] by
-
- 3 edits in trunk/Source/WebCore
[MediaFoundation] Volume controls of different media elements should be independent
https://bugs.webkit.org/show_bug.cgi?id=172967
Based on patch by Vitaly Slobodin <vitaliy.slobodin@gmail.com>
Reviewed by Alex Christensen.
IMFSimpleAudioVolume interface controls master volume of the
application. We should use IMFAudioStreamVolume interface instead.
No new tests needed.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
(WebCore::MediaPlayerPrivateMediaFoundation::setAllChannelVolumes):
(WebCore::MediaPlayerPrivateMediaFoundation::setVolume):
(WebCore::MediaPlayerPrivateMediaFoundation::setMuted):
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
- 11:38 AM Changeset in webkit [218003] by
-
- 3 edits in trunk/Source/WebCore
Image should clear its ImageObserver* when CachedImage releases the last reference to its RefCounted<ImageObserver>
https://bugs.webkit.org/show_bug.cgi?id=173077
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-06-09
Reviewed by Simon Fraser.
Before dereferencing ImageObserver, CachedImage::clearImage() should check
whether it is the only object that holds a reference to this ImageObserver.
And if this is true, m_image have to clear its raw pointer to the deleted
ImageObserver by calling m_image->setImageObserver(nullptr).
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::setBodyDataFrom):
(WebCore::CachedImage::CachedImageObserver::CachedImageObserver):
(WebCore::CachedImage::clearImage):
- loader/cache/CachedImage.h:
- 11:32 AM Changeset in webkit [218002] by
-
- 4 edits in trunk/Source/WebKit2
Avoid some ref counting churn in WebResourceLoadStatisticsStore
https://bugs.webkit.org/show_bug.cgi?id=173168
Reviewed by Brent Fulgham.
Move the protectedThis around instead of ref'ing it every time we capture it
in a lambda. Also add a missing protectedThis in WebResourceLoadStatisticsStore::removeDataRecords()
which likely fixes crashes.
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):
(WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
- 11:28 AM Changeset in webkit [218001] by
-
- 2 edits in trunk/LayoutTests
[ios-sim] Cleaning-up timeouts WebKit1
https://bugs.webkit.org/show_bug.cgi?id=173169
Unreviewed test gardening.
The intention of this change is to allow the iOS WK1 bots to finish their
test runs. Because these tests are being gardened based on the output of
bots, there will likely be follow-up fixes.
- platform/ios-wk1/TestExpectations: Skip tests timing out in iOS WK1.
- 10:59 AM Changeset in webkit [218000] by
-
- 8 edits in trunk
Add flag allow-popups-to-escape-sandbox to iframe sandbox
https://bugs.webkit.org/show_bug.cgi?id=158875
Patch by Frederic Wang <fwang@igalia.com> on 2017-06-09
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Update expected results for iframe popup escaping tests.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1-expected.txt: This test passes.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2-expected.txt: This test passes.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3-expected.txt: Remove error message from text expectation.
Source/WebCore:
This patch adds support for the iframe@allow-popups-to-escape-sandbox attribute.
This allows to pass more W3C Web Platform tests.
Tests: imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html
- dom/SecurityContext.cpp: Add allow-popups-to-escape-sandbox flag.
(WebCore::SecurityContext::isSupportedSandboxPolicy):
(WebCore::SecurityContext::parseSandboxPolicy):
- dom/SecurityContext.h: Ditto.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Do not force sandbox flags when we have allow-popups-to-escape-sandbox.
(WebCore::createWindow): Ditto.
- 10:57 AM Changeset in webkit [217999] by
-
- 14 edits2 adds in trunk
[iOS] Video occasionally mixes with other system audio instead of interrupting
https://bugs.webkit.org/show_bug.cgi?id=173127
Reviewed by Eric Carlson.
Source/WebCore:
Tests: platform/mac/audio-session-category-video-track-change.html
When an HTMLMediaElement's tracks change their enabled state, make sure to update
the PlatformMediaElement, for canProduceAudio() may have changed.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
- platform/audio/cocoa/MediaSessionManagerCocoa.cpp:
(PlatformMediaSessionManager::updateSessionState):
The rest of the changes in this revision are to allow the above to be testable.
- page/Settings.cpp:
- page/Settings.h:
- platform/audio/AudioSession.h:
- platform/audio/mac/AudioSessionMac.cpp:
(WebCore::AudioSession::category):
(WebCore::AudioSession::setCategory):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setShouldManageAudioSessionCategory):
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
- testing/Internals.cpp:
(WebCore::Internals::audioSessionCategory):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- platform/mac/media/audio-session-category-video-track-change-expected.txt: Added.
- platform/mac/media/audio-session-category-video-track-change.html: Added.
- 10:54 AM Changeset in webkit [217998] by
-
- 4 edits in trunk/Source/WTF
Update WorkQueue::concurrentApply() to take a WTF::Function instead of an std::function
https://bugs.webkit.org/show_bug.cgi?id=173165
Reviewed by Saam Barati.
Update WorkQueue::concurrentApply() to take a WTF::Function instead of an std::function
as std::function has issues with regards to thread safety.
- wtf/WorkQueue.h:
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueue::concurrentApply):
- 10:52 AM Changeset in webkit [217997] by
-
- 8 edits2 adds in trunk
CSS transitions added while page is not visible do not start when the page becomes visible
https://bugs.webkit.org/show_bug.cgi?id=173166
<rdar://problem/32250351>
Reviewed by Darin Adler.
Source/WebCore:
CSS transitions added while page is not visible would not start when the page becomes
visible. The issue was that when CompositeAnimation::updateTransitions() was called
while the page is hidden (and animations are therefore suspended), it would not
populate m_transations with ImplicitAnimation objects. We would therefore have later
no transitions to resume when the page becomes visible later on. This patch updates
CompositeAnimation::updateTransitions() to properly populate m_transitions and instead
pause the ImplicitAnimation it creates if animations are currently suspended. This
behavior is more consistent with the one of CompositeAnimation::updateKeyframeAnimations().
I also needed to update ImplicitAnimation::animate() to not restart a paused animation
if the animation is currently paused. This is similar to what is done in
KeyframeAnimation::animate(). Without this, the paused ImplicitAnimation we add to
m_transition would incorrectly get unpaused while the page is still hidden and the
animations are still supposed to be suspended. This issue was showing when running the
test I am adding in this patch.
Test: fast/animation/css-animation-resuming-when-visible.html
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions):
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::animate):
(WebCore::ImplicitAnimation::reset):
- page/animation/ImplicitAnimation.h:
LayoutTests:
Add layout test coverage.
- fast/animation/css-animation-resuming-when-visible-expected.txt: Added.
- fast/animation/css-animation-resuming-when-visible.html: Added.
- 10:48 AM Changeset in webkit [217996] by
-
- 3 edits in trunk/Source/WebKit2
Add SubresourceIntegrity as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=173164
Patch by Sam Weinig <sam@webkit.org> on 2017-06-09
Reviewed by Darin Adler.
- Shared/WebPreferencesDefinitions.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Add SubresourceIntegrity to the list of experimental features. Also, sort the experimental features
as requested by the comment above it.
- 10:44 AM Changeset in webkit [217995] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] FTL does not require dlfcn
https://bugs.webkit.org/show_bug.cgi?id=173143
Reviewed by Darin Adler.
We no longer use LLVM library. Thus, dlfcn.h is not necessary.
Also, ProcessID is not used in FTLLowerDFGToB3.cpp.
- ftl/FTLLowerDFGToB3.cpp:
- 10:01 AM Changeset in webkit [217994] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, Use FALLTHROUGH
- loader/LinkLoader.cpp:
(WebCore::createLinkPreloadResourceClient):
- 9:55 AM Changeset in webkit [217993] by
-
- 4 edits in trunk/Source/JavaScriptCore
[DFG] Add --verboseDFGFailure
https://bugs.webkit.org/show_bug.cgi?id=173155
Reviewed by Sam Weinig.
Similar to verboseFTLFailure, JSC should have verboseDFGFailure flag to show DFG failures quickly.
- dfg/DFGCapabilities.cpp:
(JSC::DFG::verboseCapabilities):
(JSC::DFG::debugFail):
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- runtime/Options.h:
- 9:48 AM Changeset in webkit [217992] by
-
- 14 edits in branches/safari-604.1.25-branch
<rdar://problem/32621736> Seed 2: Disable WebKit features we don't want to ship after branching
- 9:38 AM Changeset in webkit [217991] by
-
- 4 edits in trunk/Source/WebKit2
Make sure |this| is protected in lambda capture in WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData()
https://bugs.webkit.org/show_bug.cgi?id=173163
Reviewed by Brent Fulgham.
Make sure |this| is protected in lambda capture in WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData()
or it may end up getting destroyed before the lambda executing and crash when calling m_statisticsQueue->dispatch().
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData):
- 9:35 AM Changeset in webkit [217990] by
-
- 7 edits in branches/safari-604.1.25-branch/Source
Versioning.
- 9:19 AM Changeset in webkit [217989] by
-
- 1 copy in branches/safari-604.1.25-branch
New branch.
- 9:19 AM Changeset in webkit [217988] by
-
- 2 edits in trunk/Source/WebKit
[Win64] Build error when compiling PaintHooks.asm.
https://bugs.webkit.org/show_bug.cgi?id=173132
Reviewed by Brent Fulgham.
There seems to be too many include paths on the command line for ml64. According to the documentation,
a maximum of 10 /I options is allowed. Create a separate static library for asm files, in order to
avoid all the include paths.
- PlatformWin.cmake:
- 9:18 AM Changeset in webkit [217987] by
-
- 1 delete in branches/safari-604.1.25-bran
Remove incorrectly named branch.
- 9:18 AM Changeset in webkit [217986] by
-
- 1 copy in branches/safari-604.1.25-bran
New branch.
- 9:14 AM Changeset in webkit [217985] by
-
- 10 edits2 adds in trunk
fast/mediastream/MediaStream-page-muted.html times out and asserts
https://bugs.webkit.org/show_bug.cgi?id=170355
<rdar://problem/31376041>
Source/WebCore:
MediaStream and MediaStreamTrack need to prevent JS wrapper collection while it is possible
to fire an event or event listeners won't be notified.
Reviewed by Chris Dumez.
Test: fast/mediastream/media-stream-wrapper-collected.html
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream): Initialize ActiveDOMObject.
(WebCore::MediaStream::stop): New.
(WebCore::MediaStream::activeDOMObjectName): Ditto.
(WebCore::MediaStream::canSuspendForDocumentSuspension): Ditto.
(WebCore::MediaStream::hasPendingActivity): Ditto, prevent collection if there
are registered event listeners.
(WebCore::MediaStream::contextDestroyed): Deleted.
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStream.idl:
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::hasPendingActivity): Prevent collection if there
are registered event listeners.
- Modules/mediastream/MediaStreamTrack.h:
- testing/Internals.cpp:
(WebCore::Internals::removeMediaStreamTrack): stream.removeTrack doesn't generate a 'removetrack'
event, so call private method that does.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Reviewed by Chris Dumez.
- fast/mediastream/media-stream-wrapper-collected-expected.txt: Added.
- fast/mediastream/media-stream-wrapper-collected.html: Added.
- 9:13 AM Changeset in webkit [217984] by
-
- 2 edits in trunk/Source/WebKit2
[CoordinatedGraphics] Remove unneeded interfaces in PageClient
https://bugs.webkit.org/show_bug.cgi?id=173149
Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2017-06-09
Reviewed by Michael Catanzaro.
- UIProcess/PageClient.h:
- 9:11 AM Changeset in webkit [217983] by
-
- 2 edits in trunk/LayoutTests
[GTK] Fix test linter reported errors
https://bugs.webkit.org/show_bug.cgi?id=173160
Unreviewed gardening.
webrtc/audio-peer-connection-webaudio.html failed ambiguity checks, it typically fails
in release and times out in debug, but it could have bother outcomes in both build
configurations, so removing the first instance seems like the right approach.
See: https://bugs.webkit.org/show_bug.cgi?id=169110
https://bugs.webkit.org/show_bug.cgi?id=131218 no longer crashing
https://bugs.webkit.org/show_bug.cgi?id=131216 no longer crashing
https://bugs.webkit.org/show_bug.cgi?id=119255 no longer flaky, stablized at r195130.
Linter is now quiet, aside from non-existent path errors,
which I think is tracked by https://bugs.webkit.org/show_bug.cgi?id=172471
Patch by Charlie Turner <cturner@igalia.com> on 2017-06-09
- platform/gtk/TestExpectations:
- 8:55 AM Changeset in webkit [217982] by
-
- 1 copy in tags/Safari-604.1.25
Tag Safari-604.1.25.
- 8:00 AM Changeset in webkit [217981] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Drop OS(DARWIN) for VM_TAG_FOR_WEBASSEMBLY_MEMORY
https://bugs.webkit.org/show_bug.cgi?id=173147
Reviewed by JF Bastien.
Because this value becomes -1 in non-Darwin environments.
Thus, we do not need to use OS(DARWIN) here.
- wasm/WasmMemory.cpp:
- 5:53 AM Changeset in webkit [217980] by
-
- 1 edit1 add in trunk/LayoutTests
[GTK] Add baseline for media/media-fullscreen-inline-expected.html
Unreviewed gardening.
mediaElement.webkitSupportsPresentationMode is only present with
VIDEO_PRESENTATION_MODE enabled, and this option is only enabled
for Cocoa builds. Add a baseline without this property.
- platform/gtk/media/media-fullscreen-inline-expected.txt: Added.
- 5:18 AM Changeset in webkit [217979] by
-
- 2 edits in trunk/Source/WebKit2
Use WTF::Function instead of std::function in SpeculativeLoadManager::ExpiringEntry
https://bugs.webkit.org/show_bug.cgi?id=173125
Reviewed by Antti Koivisto.
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::ExpiringEntry::ExpiringEntry):
(WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry):
- 4:44 AM Changeset in webkit [217978] by
-
- 2 edits in trunk/LayoutTests
[WPE] Unskip passing userscripts tests
Unreviewed gardening.
- platform/wpe/TestExpectations:
- 4:00 AM Changeset in webkit [217977] by
-
- 3 edits in trunk/Source/WebCore
[cURL] Remove a call to Windows API
https://bugs.webkit.org/show_bug.cgi?id=172079
Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2017-06-09
Reviewed by Yusuke Suzuki.
- platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::moveFileToDestination):
- platform/win/FileSystemWin.cpp:
(WebCore::moveFile):
- 3:52 AM Changeset in webkit [217976] by
-
- 3 edits in trunk/Source/WebCore
[GTK][WPE] Fix alpha premultiplying when using cairo to draw the video frames
https://bugs.webkit.org/show_bug.cgi?id=173097
Reviewed by Carlos Garcia Campos.
We need to premultiply alpha when creating a cairo surface from a GStreamer video frame, if the frame
has an alpha component. Currently this is wrongly done in VideoSinkGStreamer, as it assumes that every
frame is going to be rendered with cairo, which is not the case when using accelerated compositing.
The premultiply must happen inside ImageGStreamerCairo, which is where we know that the frame is
going to be rendered with cairo, and where the premultiply can be performed when gstreamer-gl is
enabled as well.
Covered by existent tests.
- platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
(ImageGStreamer::ImageGStreamer):
- platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkitVideoSinkRequestRender):
- 3:39 AM Changeset in webkit [217975] by
-
- 2 edits in trunk/Source/WebKit2
Use WTF::getCurrentProcessID() instead of getpid()
https://bugs.webkit.org/show_bug.cgi?id=173130
Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2017-06-09
Reviewed by Tim Horton.
- UIProcess/API/APIProcessPoolConfiguration.h:
- 2:59 AM Changeset in webkit [217974] by
-
- 2 edits in trunk/Source/WebKit2
struct does not accept initializer-form if member has initializers in GCC 4.9
Unreviewed speculative build fix.
Remove the default initializers for DeniedRequest struct,
since it's only initialized in one place, to keep gcc 4.9
happy.
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- 2:09 AM Changeset in webkit [217973] by
-
- 10 edits48 adds in trunk
[WPE] Enable ENCRYPTED_MEDIA for build-webkit builds
https://bugs.webkit.org/show_bug.cgi?id=173103
Reviewed by Xabier Rodriguez-Calvar.
.:
- Source/cmake/OptionsWPE.cmake: Expose the ENABLE_ENCRYPTED_MEDIA
configuration option, keeping it disabled by default.
LayoutTests/imported/w3c:
- web-platform-tests/encrypted-media/idlharness-expected.txt:
Update the idlharness.html baseline. All the test cases pass.
Source/WebCore:
- Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::getSupportedCapabilitiesForAudioVideoType):
Pass the ParsedContentType's mime type string to the explicit ContentType
constructor and assign that to the MediaEngineSupportParameters' type
member.
Tools:
- Scripts/webkitperl/FeatureList.pm: Enable ENCRYPTED_MEDIA flag
when building the WPE port through build-webkit.
LayoutTests:
Enable the imported W3C tests covering Encrypted Media API for the WPE port,
but only tests that use the ClearKey key system. WPE-specific baselines for
those tests are also added, despite the test cases universally failing. This
will allow us to spot any change in behavior that's introduced.
- platform/wpe/TestExpectations: Skip tests that test PlayReady or Widevine key systems.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-check-initdata-type-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-session-closed-event-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-invalid-license-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-destroy-persistent-license-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-events-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-usage-record-events-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-usage-record-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-usage-record-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-requestmediakeysystemaccess-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-reset-src-after-setmediakeys-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-at-same-time-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-different-mediakeys-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-the-same-mediakeys-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-to-multiple-video-elements-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeys-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysystemaccess-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-unique-origin-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-not-callable-after-createsession-expected.txt: Added.
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-update-non-ascii-input-expected.txt: Added.
- 1:59 AM Changeset in webkit [217972] by
-
- 12 edits in trunk/Source/WebCore
Move TreeScope::adoptIfNeeded to Node and rename it to setTreeScopeRecursively
https://bugs.webkit.org/show_bug.cgi?id=173129
Reviewed by Antti Koivisto.
Renamed TreeScope::adoptIfNeeded to setTreeScopeRecursively and moved to Node.
The old name was really confusing because due to the existence of Document::adoptNode, a DOM API,
which removes the adopted node from its parent if there was one before adopting the node.
Most confusingly, this function called TreeScope::adoptIfNeeded.
Also inlined the tree scope check to avoid calling to moveTreeToNewScope when there is nothing to do.
This patch effectively reverts r104528.
No new tests. Existing tests cover this.
- dom/Attr.cpp:
(WebCore::Attr::detachFromElementWithValue):
(WebCore::Attr::attachToElement):
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::replaceAllChildren):
(WebCore::ContainerNode::appendChildWithoutPreInsertionValidityCheck):
(WebCore::ContainerNode::parserAppendChild):
- dom/ContainerNodeAlgorithms.cpp:
(WebCore::addChildNodesToDeletionQueue):
- dom/Document.cpp:
(WebCore::Document::adoptNode):
- dom/Element.cpp:
(WebCore::Element::ensureAttr):
- dom/Node.cpp:
(WebCore::DidMoveToNewDocumentAssertionScope): Added. The old assertion wasn't sufficient when
HTMLTemplateElement made a recursive call to setTreeScopeRecursively.
(WebCore::DidMoveToNewDocumentAssertionScope::DidMoveToNewDocumentAssertionScope):
(WebCore::DidMoveToNewDocumentAssertionScope::~DidMoveToNewDocumentAssertionScope):
(WebCore::DidMoveToNewDocumentAssertionScope::didRecieveCall):
(WebCore::moveNodeToNewDocument): Moved from TreeScope. Calls to incrementReferencingNodeCount
and decrementReferencingNodeCount to Node::didMoveToNewDocument. This function is now eliminated
in a release build.
(WebCore::moveShadowTreeToNewDocument): Moved from TreeScope.
(WebCore::Node::moveTreeToNewScope): Ditto.
(WebCore::Node::didMoveToNewDocument): See the description for moveNodeToNewDocument above.
- dom/Node.h:
(WebCore::Node::isParsingChildrenFinished): Moved to avoid having its own protected section.
(WebCore::Node::setIsParsingChildrenFinished): Ditto.
(WebCore::Node::clearIsParsingChildrenFinished): Ditto.
(WebCore::Node::setTreeScopeRecursively): Moved from TreeScope::adoptIfNeeded.
- dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::~ShadowRoot):
- dom/TreeScope.cpp:
(WebCore::TreeScope::adoptIfNeeded): Deleted.
(WebCore::TreeScope::moveTreeToNewScope): Deleted.
(WebCore::TreeScope::ensureDidMoveToNewDocumentWasCalled): Deleted.
(WebCore::TreeScope::moveNodeToNewDocument): Deleted.
(WebCore::TreeScope::moveShadowTreeToNewDocument): Deleted.
- dom/TreeScope.h:
- html/HTMLTemplateElement.cpp:
(WebCore::HTMLTemplateElement::didMoveToNewDocument):
- 1:58 AM Changeset in webkit [217971] by
-
- 19 edits1 copy1 add in trunk/Source
[GTK] Add kinetic scrolling
https://bugs.webkit.org/show_bug.cgi?id=155750
Patch by Adrien Plazas <aplazas@igalia.com> on 2017-06-09
Reviewed by Carlos Garcia Campos.
Patch by Adrien Plazas and Yusuke Suzuki.
Source/WebCore:
Add the ScrollAnimationKinetic scrolling animation allowing to perform momentum scrolling; it is based on GTK+'s
GtkKineticScrolling type.
Add the notion of phase, momentum phase and swipe velocity to PlatformWheelEvent.
Depending on whether the scrolling ended normally or triggered a swipe, the scroll animator will either compute
the swipe velocity from the previous scrolling events or use the one from the swipe gesture to initiate the
momentum scrolling.
- PlatformGTK.cmake:
- platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):
(WebCore::PlatformWheelEvent::phase):
(WebCore::PlatformWheelEvent::momentumPhase):
(WebCore::PlatformWheelEvent::isTransitioningToMomentumScroll):
- platform/ScrollAnimation.h:
(WebCore::ScrollAnimation::scroll):
(WebCore::ScrollAnimation::updateVisibleLengths):
(WebCore::ScrollAnimation::setCurrentPosition):
- platform/ScrollAnimationKinetic.cpp: Added.
(WebCore::ScrollAnimationKinetic::PerAxisData::PerAxisData):
(WebCore::ScrollAnimationKinetic::PerAxisData::animateScroll):
(WebCore::ScrollAnimationKinetic::ScrollAnimationKinetic):
(WebCore::ScrollAnimationKinetic::~ScrollAnimationKinetic):
(WebCore::ScrollAnimationKinetic::stop):
(WebCore::ScrollAnimationKinetic::start):
(WebCore::ScrollAnimationKinetic::animationTimerFired):
- platform/ScrollAnimationKinetic.h: Copied from Source/WebCore/platform/ScrollAnimation.h.
- platform/gtk/PlatformWheelEventGtk.cpp:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
(WebCore::PlatformWheelEvent::swipeVelocity):
- platform/gtk/ScrollAnimatorGtk.cpp:
(WebCore::ScrollAnimatorGtk::ScrollAnimatorGtk):
(WebCore::ScrollAnimatorGtk::ensureSmoothScrollingAnimation):
(WebCore::ScrollAnimatorGtk::scroll):
(WebCore::ScrollAnimatorGtk::scrollToOffsetWithoutAnimation):
(WebCore::ScrollAnimatorGtk::computeVelocity):
(WebCore::ScrollAnimatorGtk::handleWheelEvent):
(WebCore::ScrollAnimatorGtk::willEndLiveResize):
(WebCore::ScrollAnimatorGtk::updatePosition):
(WebCore::ScrollAnimatorGtk::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorGtk::didAddHorizontalScrollbar):
- platform/gtk/ScrollAnimatorGtk.h:
Source/WebKit2:
Add the notion of phase and momentum phase to WebWheelEvent.
Make WebWheelEvent manage the 'is_stop' attribute of GdkEventScroll to create the corresponding WebWheelEvent
with the correct phases and deltas.
Make GestureController manage swipes to create the corresponding WebWheelEvent with the correct phases and
deltas.
- Shared/NativeWebWheelEvent.h:
- Shared/WebEvent.h:
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
- Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode):
(WebKit::WebWheelEvent::decode):
- Shared/gtk/NativeWebWheelEventGtk.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
- Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebWheelEvent):
- Shared/gtk/WebEventFactory.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleWheelEvent):
(WebKit::WebPageProxy::shouldProcessWheelEventNow):
- UIProcess/WebPageProxy.h:
- UIProcess/gtk/GestureController.cpp:
(WebKit::GestureController::GestureController):
(WebKit::GestureController::handleEvent):
(WebKit::GestureController::isProcessingGestures):
(WebKit::createScrollEvent):
(WebKit::GestureController::DragGesture::startDrag):
(WebKit::GestureController::DragGesture::handleDrag):
(WebKit::GestureController::DragGesture::begin):
(WebKit::GestureController::DragGesture::end):
(WebKit::GestureController::SwipeGesture::startMomentumScroll):
(WebKit::GestureController::SwipeGesture::swipe):
(WebKit::GestureController::SwipeGesture::SwipeGesture):
- UIProcess/gtk/GestureController.h:
- 1:49 AM Changeset in webkit [217970] by
-
- 4 edits in trunk
[WPE] Enable MEDIA_SOURCE for build-webkit builds
https://bugs.webkit.org/show_bug.cgi?id=173136
Reviewed by Xabier Rodriguez-Calvar.
Tools:
- Scripts/webkitperl/FeatureList.pm: Enable the MEDIA_SOURCE feature for WPE.
LayoutTests:
- platform/wpe/TestExpectations: Enable the media/media-source/ layout tests
for the WPE port, adding half a dozen failure or timeout expectations for
tests that are currently failing.
- 1:47 AM Changeset in webkit [217969] by
-
- 2 edits in trunk/Source/WebCore
[GCrypt] ECDSA signing results can be smaller than the EC key size
https://bugs.webkit.org/show_bug.cgi?id=171535
Reviewed by Jiewen Tan.
The libgcrypt-based implementation of the ECDSA signing operation does not
properly address the resultingrandsintegers that do not potentially
match the EC key in terms of size.
To address that, the retrieved MPI data for both integers is handled depending
on the size of said data. Strictly requiring an amount of bytes that matches
the key data size N, we simply take the last N bytes if the MPI data is equal
or larger than N in size. If smaller, we first append enough zero bytes to the
output Vector object before attaching the MPI data in whole so that the amount
of appended bytes matches N.
No new tests -- covers an implementation detail that is not trivial to test,
but can rely sufficiently on existing tests.
- crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp:
(WebCore::extractECDSASignatureInteger):
(WebCore::gcryptSign):
- 1:21 AM Changeset in webkit [217968] by
-
- 8 edits in trunk/Source
Reduce compiler warnings
https://bugs.webkit.org/show_bug.cgi?id=172078
Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2017-06-09
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- runtime/IntlDateTimeFormat.h:
Source/WebCore:
- platform/network/curl/CookieJarCurl.cpp:
(WebCore::addMatchingCurlCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostnames):
(WebCore::deleteCookiesForHostname): Deleted.
- platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownloadManager::downloadThread):
(WebCore::CurlDownload::didReceiveHeader):
- platform/network/curl/CurlDownload.h:
(WebCore::CurlDownloadListener::didReceiveDataOfLength):
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
- platform/network/curl/SocketStreamHandleImplCurl.cpp:
(WebCore::createCopy):
(WebCore::SocketStreamHandleImpl::readData):
- 1:05 AM Changeset in webkit [217967] by
-
- 2 edits in trunk/Source/WebKit2
Crash in -[WKWebView _initializeWithConfiguration:]
https://bugs.webkit.org/show_bug.cgi?id=173126
Reviewed by Antti Koivisto.
Crash occurs when passing an autoreleased NSString into _setMediaContentTypesRequiringHardwareSupport.
The ivar should be a RetainPtr rather than a bare NSString *.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _mediaContentTypesRequiringHardwareSupport]):
- 1:03 AM Changeset in webkit [217966] by
-
- 19 edits in trunk
[GStreamer][EME] Remove the legacy code that was not even official and is deprecated
https://bugs.webkit.org/show_bug.cgi?id=173096
Reviewed by Žan Doberšek.
.:
- Source/cmake/OptionsWPE.cmake: Remove LEGACY_ENCRYPTED_MEDIA support
Source/WebCore:
We are removing the LEGACY_ENCRYPTED_MEDIA code that we was not
official, is deprecated and we are not planning to support it
anymore in any way.
This also helps implementing current ENCRYPTED_MEDIA in a cleaner
way.
- platform/GStreamer.cmake:
- platform/graphics/gstreamer/GStreamerUtilities.cpp:
- platform/graphics/gstreamer/GStreamerUtilities.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::registerWebKitGStreamerElements):
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
(WebCore::extractEventsAndSystemsFromMessage): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::needKey): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::setCDMSession): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::keyAdded): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::handleProtectionEvent): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::receivedGenerateKeyRequest): Deleted.
(WebCore::keySystemIdToUuid): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::createSession): Deleted.
(WebCore::MediaPlayerPrivateGStreamerBase::dispatchDecryptionKey): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:
- platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.h:
- platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
- platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h:
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::parseDemuxerSrcPadCaps):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsinkFromAnyThread):
(WebCore::AppendPipeline::disconnectDemuxerSrcPadFromAppsinkFromAnyThread):
(WebCore::appendPipelineElementMessageCallback): Deleted.
(WebCore::AppendPipeline::dispatchPendingDecryptionKey): Deleted.
(WebCore::AppendPipeline::dispatchDecryptionKey): Deleted.
(WebCore::AppendPipeline::handleElementMessage): Deleted.
- platform/graphics/gstreamer/mse/AppendPipeline.h:
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(WebCore::MediaPlayerPrivateGStreamerMSE::dispatchDecryptionKey): Deleted.
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
LayoutTests:
- platform/gtk/TestExpectations: Mark legacy tests as deprecated
- 1:02 AM Changeset in webkit [217965] by
-
- 6 edits in trunk
AX: Media Controls: Missing labels for the Time Labels.
https://bugs.webkit.org/show_bug.cgi?id=171715
<rdar://problem/32009214>
Patch by Aaron Chu <aaron_chu@apple.com> on 2017-06-09
Reviewed by Antoine Quint.
Source/WebCore:
Added aria-label to describe time labels in media controls.
- Modules/modern-media-controls/controls/slider.js:
(Slider.prototype.set inputAccessibleLabel):
(Slider.prototype._formatTime): Deleted.
- Modules/modern-media-controls/controls/time-label.js:
(TimeLabel.prototype.commitProperty):
- Modules/modern-media-controls/main.js:
(formatTimeToString):
LayoutTests:
Modified existing test case to accommodate testing for time label description.
- media/modern-media-controls/time-label/time-label.html: