Timeline
Apr 1, 2022:
- 11:33 PM Changeset in webkit [292261] by
-
- 2 edits in trunk/Source/WebKit
[iOS] WKFullScreenWindowController's UIViewController leaks after entering element fullscreen
https://bugs.webkit.org/show_bug.cgi?id=238684
Reviewed by Eric Carlson.
The window controller's
_rootViewControlleris aRetainPtr, but we're missing anadoptNSwhen creating a
new view controller. Fix the leak by usingadoptNSto prevent the redundant-retainwhen constructing
RetainPtr.
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController enterFullScreen]):
- 11:27 PM Changeset in webkit [292260] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Several tests in media/modern-media-controls crash in -[WKActionSheetAssistant _uiMenuElementsForMediaControlContextMenuItems:]
https://bugs.webkit.org/show_bug.cgi?id=238687
Reviewed by Tim Horton.
Fixes several debug assertions that are hit when running layout tests in media/modern-media-controls, due to
exercising undefined behavior in the case where there is only one item. This is because we currently use
Vector's move assignment operator to setitemstoitems[0].children; however, this move assignment operator
starts by calling the destructor on the contents ofitem, which puts the first item's vector of children in an
invalid state.
Instead, simply add a new temporary variable, and move into the temporary variable instead.
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant _uiMenuElementsForMediaControlContextMenuItems:]):
(-[WKActionSheetAssistant showMediaControlsContextMenu:items:completionHandler:]):
- 11:10 PM Changeset in webkit [292259] by
-
- 4 edits in trunk/Tools
Fix internal iOS build
https://bugs.webkit.org/show_bug.cgi?id=238032
This is what we get when we add files to unified builds.
- TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
- TestWebKitAPI/ios/UIKitSPI.h:
- 10:18 PM Changeset in webkit [292258] by
-
- 16 edits in trunk/Source
Stop copying StagedFrameworks to the secondary path by default
https://bugs.webkit.org/show_bug.cgi?id=238688
Reviewed by Saam Barati.
Decoupled COPY_STAGED_FRAMEWORKS_TO_SECONDARY_PATH from USE_SYSTEM_CONTENT_PATH so we won't
always copy frameworks to the secondary path on macOS. Instead, the build configuration can set
COPY_STAGED_FRAMEWORKS_TO_SECONDARY_PATH as appropriate.
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/ANGLE-dynamic.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/libwebrtc.xcconfig:
Source/WebCore:
- Configurations/WebCore.xcconfig:
Source/WebGPU:
- Configurations/WebGPU.xcconfig:
Source/WebInspectorUI:
- Configurations/WebInspectorUIFramework.xcconfig:
Source/WebKit:
- Configurations/Base.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/Base.xcconfig:
- 8:53 PM Changeset in webkit [292257] by
-
- 2 edits in trunk/LayoutTests
[CSS-contain] Update select element failures with bugzilla link.
Unreviewed.
- 8:46 PM Changeset in webkit [292256] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix non-unified build after r292225
- Platform/IPC/unix/IPCSemaphoreUnix.cpp: Add poll.h and remove
duplicated Decoder.h and Encoder.h headers.
- 8:29 PM Changeset in webkit [292255] by
-
- 5 edits in trunk
Avoid initializing default WKWebsiteDataStore in -[WKWebViewConfiguration copyWithZone]
https://bugs.webkit.org/show_bug.cgi?id=238531
rdar://90628101
Reviewed by Tim Horton.
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
- 8:04 PM Changeset in webkit [292254] by
-
- 21 edits3 adds in trunk
WKBundlePageUIClient console message support should include source URL, column number, and console messages with arguments
https://bugs.webkit.org/show_bug.cgi?id=238032
Patch by Jeff Miller <jeffm@apple.com> on 2022-04-01
Reviewed by Alex Christensen.
Source/JavaScriptCore:
Add a function to ScriptArguments to get a vector of argument strings. As we do in
ScriptArguments::getFirstArgumentAsString(), avoid triggering Proxy traps on a Proxy object when
generating the vector.
- inspector/ScriptArguments.cpp:
(Inspector::ScriptArguments::getArgumentAtIndexAsString const):
Refactored from getFirstArgumentAsString().
(Inspector::ScriptArguments::getFirstArgumentAsString const):
Use getArgumentAtIndexAsString().
(Inspector::ScriptArguments::getArgumentsAsStrings const):
- inspector/ScriptArguments.h:
Source/WebCore:
Add a new ChromeClient addMessageWithArgumentsToConsole() member function for adding a console
message that includes formatted arguments. I left the existing behavior of addMessageToConsole()
unchanged since layout tests expect to get the console message without these arguments.
New API test was added in TestWebKitAPI/Tests/WebKitCocoa/ConsoleMessageWithDetails.mm.
- loader/EmptyClients.h:
Added addMessageWithArgumentsToConsole().
- page/ChromeClient.h:
(WebCore::ChromeClient::addMessageWithArgumentsToConsole):
Added, subclasses can optionally override this.
- page/PageConsoleClient.cpp:
(WebCore::additionalArgumentsFromArgumentsVector):
Added, pulls out any additional arguments beyond the initial message.
(WebCore::PageConsoleClient::addMessage):
Create a Span of any message arguments and include it when calling the new
addMessageWithArgumentsToConsole() function.
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
Ditto.
Source/WebKit:
Add a new ChromeClient addMessageWithArgumentsToConsole() member function for adding a console
message that includes formatted arguments. I left the existing behavior of addMessageToConsole()
unchanged since layout tests expect to get the console message without these arguments.
- Shared/API/APIArray.cpp:
(API::Array::createStringArray):
Added, creates an array from a Span.
- Shared/API/APIArray.h:
- WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
(API::InjectedBundle::PageUIClient::willAddMessageWithArgumentsToConsole):
Added.
- WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
Add WKBundlePageUIClientV5 with a new willAddMessageWithDetailsToConsole callback. This callback is
similar to the existing willAddMessageToConsole callback, but includes any message arguments, the
column number, and source URL.
- WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::willAddMessageWithArgumentsToConsole):
Added, invokes the new willAddMessageWithDetailsToConsole callback.
- WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
Add a new bundle page UI client version.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::addMessageWithArgumentsToConsole):
Added.
- WebProcess/WebCoreSupport/WebChromeClient.h:
Added addMessageWithArgumentsToConsole().
Tools:
Add a test for the new willAddMessageWithDetailsToConsole callback in WKBundlePageUIClient. This
includes a new WKWebProcessPlugIn subclass, BundlePageConsoleMessageWithDetails, that implements
this callback and formats the message and arguments into a single string which it sends to the UI
process.
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/BundlePageConsoleMessageWithDetails.mm: Added.
(willAddMessageWithDetailsToConsoleCallback):
(-[BundlePageConsoleMessageWithDetails webProcessPlugIn:didCreateBrowserContextController:]):
- TestWebKitAPI/Tests/WebKitCocoa/ConsoleMessageWithDetails.mm: Added.
(TestWebKitAPI::didReceivePageMessageFromInjectedBundle):
(TestWebKitAPI::setInjectedBundleClient):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/console-message-with-details.html: Added.
- 7:14 PM Changeset in webkit [292253] by
-
- 2 edits in trunk/Source/WebCore
Fix the WebGPU-less build
https://bugs.webkit.org/show_bug.cgi?id=238692
Reviewed by Myles Maxfield.
- Configurations/WebCore.xcconfig:
- 7:09 PM Changeset in webkit [292252] by
-
- 15 edits in trunk/Source
[iOS] [WK2] Add plumbing for extracting video frames in element fullscreen
https://bugs.webkit.org/show_bug.cgi?id=238607
rdar://91102888
Reviewed by Eric Carlson.
Source/WebCore:
Add a helper function on HTMLMediaElement to return the identifier of its MediaPlayer. See WebKit ChangeLog for
more information.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::playerIdentifier const):
- html/HTMLMediaElement.h:
Source/WebKit:
Add WebKit2 client layer plumbing for triggering video extraction for the prominent video in element fullscreen.
See below for more details.
- UIProcess/PageClient.h:
(WebKit::PageClient::beginElementFullscreenVideoExtraction):
(WebKit::PageClient::cancelElementFullscreenVideoExtraction):
Add new PageClient hooks to start and cancel video element extraction in element fullscreen. We only implement
these on iOS, for now.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::extractVideoInElementFullScreen):
(WebKit::WebPageProxy::cancelVideoExtractionInElementFullScreen):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
Add IPC plumbing from WebPage to WebPageProxy for starting and canceling video element extraction.
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::beginElementFullscreenVideoExtraction):
(WebKit::PageClientImpl::cancelElementFullscreenVideoExtraction):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView beginElementFullscreenVideoExtraction:bounds:]):
(-[WKContentView cancelElementFullscreenVideoExtraction]):
Add method stubs for non-internal builds.
- WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::mainVideoElementExtractionTimerFired):
(WebKit::WebFullScreenManager::endMainVideoElementExtractionIfNeeded):
Remove the FIXMEs and call into the new helper methods on WebPage to start and cancel video element extraction.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::extractVideoInElementFullScreen):
(WebKit::WebPage::cancelVideoExtractionInElementFullScreen):
- WebProcess/WebPage/WebPage.h:
- 7:01 PM Changeset in webkit [292251] by
-
- 93 edits in trunk/Tools
Prepare Tools/ for making the String(const char*) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=238530
Reviewed by Geoffrey Garen.
- DumpRenderTree/TestRunner.cpp:
(TestRunner::setAccummulateLogsForChannel):
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentState):
- TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/JSONValue.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::expectBuilderContent):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/URL.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::createURL):
- TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::insertTabAtLocation):
(TestWebKitAPI::invalidParts):
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
(TestWebKitAPI::shouldFail):
(TestWebKitAPI::testUserPassword):
- TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/WTFString.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(ApplicationManifestParserTest::SetUp):
(ApplicationManifestParserTest::testStartURL):
(ApplicationManifestParserTest::testDisplay):
(ApplicationManifestParserTest::testName):
(ApplicationManifestParserTest::testDescription):
(ApplicationManifestParserTest::testShortName):
(ApplicationManifestParserTest::testThemeColor):
(ApplicationManifestParserTest::testIconsSrc):
(ApplicationManifestParserTest::testIconsType):
(ApplicationManifestParserTest::testIconsSizes):
(ApplicationManifestParserTest::testIconsPurposes):
(TEST_F):
- TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/CBORValueTest.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/CSSParser.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::mainDocumentRequest):
(TestWebKitAPI::subResourceRequest):
(TestWebKitAPI::requestInTopAndFrameURLs):
(TestWebKitAPI::makeBackend):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::actionsEqual):
(TestWebKitAPI::sequenceInstances):
(TestWebKitAPI::checkCompilerError):
- TestWebKitAPI/Tests/WebCore/CtapPinTest.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/FidoTestData.h:
- TestWebKitAPI/Tests/WebCore/GridPosition.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:
(TestWebKitAPI::testParseHTMLInteger):
(TestWebKitAPI::parseHTMLIntegerFails):
(TestWebKitAPI::testParseHTMLNonNegativeInteger):
(TestWebKitAPI::parseHTMLNonNegativeIntegerFails):
- TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
(TEST):
- TestWebKitAPI/Tests/WebCore/HTTPHeaderMap.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/KeyedCoding.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::testSimpleValue):
(TestWebKitAPI::KeyedCodingTestObject::encode):
(TestWebKitAPI::KeyedCodingTestObject::decode):
- TestWebKitAPI/Tests/WebCore/MIMETypeRegistry.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/NowPlayingInfoTests.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/ParsedContentRange.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/PushDatabase.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/PushMessageCrypto.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/RegistrableDomain.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/StringUtilities.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/StringWithDirection.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp:
(TestWebKitAPI::constructMakeCredentialRequest):
(TestWebKitAPI::constructGetAssertionRequest):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:
(TestWebKitAPI::invalidParts):
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
(TestWebKitAPI::test):
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/cg/BifurcatedGraphicsContextTestsCG.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
- TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(TestWebKitAPI::MediaSessionCoordinatorTest::loadPageAndBecomeReady):
(TestWebKitAPI::MediaSessionCoordinatorTest::play):
(TestWebKitAPI::MediaSessionCoordinatorTest::pause):
- TestWebKitAPI/Tests/WebKit/WebRTC.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/XPCEndpoint.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TEST):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[BlobWithUSDZExtensionDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(TestWebKitAPI::downloadAtRate):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::runBasicPCMTest):
(TestWebKitAPI::triggerAttributionWithSubresourceRedirect):
(TestWebKitAPI::signUnlinkableTokenAndSendSecretToken):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/FTP.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/FileSystemAccess.mm:
- TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm:
(TestWebKitAPI::hstsServer):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm:
(runTest):
(createDirectories):
- TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/MediaSession.mm:
(TestWebKitAPI::MediaSessionTest::loadPageAndBecomeNowPlaying):
(TestWebKitAPI::MediaSessionTest::runScriptWithUserGesture):
(TestWebKitAPI::MediaSessionTest::play):
(TestWebKitAPI::MediaSessionTest::pause):
(TestWebKitAPI::MediaSessionTest::eventListenerWasCalled):
(TestWebKitAPI::MediaSessionTest::waitForEventListenerToBeCalled):
(TestWebKitAPI::MediaSessionTest::sessionHandlerWasCalled):
(TestWebKitAPI::MediaSessionTest::waitForSessionHandlerToBeCalled):
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
(NowPlayingTest::loadPage):
(NowPlayingTest::runScriptWithUserGesture):
(NowPlayingTest::runScriptWithoutUserGesture):
(TEST_F):
- TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
- TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
- TestWebKitAPI/Tests/WebKitCocoa/UploadDirectory.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:
(TEST_F):
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebLocks.mm:
(TestWebKitAPI::runSnapshotAcrossPagesTest):
(TestWebKitAPI::runLockRequestWaitingOnAnotherPage):
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
(TestWebKitAPI::TEST):
(TestWebKitAPI::WebPushDTest::loadRequest):
- TestWebKitAPI/Tests/WebKitCocoa/WebSocket.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/cocoa/HTTPServer.h:
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondWithChallengeThenOK):
(TestWebKitAPI::HTTPServer::respondWithOK):
(TestWebKitAPI::HTTPServer::request const):
(TestWebKitAPI::HTTPServer::requestWithLocalhost const):
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::outputText):
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::dumpPath):
(WTR::string):
(WTR::pathSuitableForTestResult):
(WTR::dumpErrorDescriptionSuitableForTestResult):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::findAndDumpWorldLeaks):
(WTR::TestController::didReceiveLiveDocumentsList):
(WTR::TestController::canAuthenticateAgainstProtectionSpace):
(WTR::TestController::didReceiveAuthenticationChallenge):
(WTR::TestController::downloadDidStart):
(WTR::TestController::decideDestinationWithSuggestedFilename):
(WTR::TestController::downloadDidFinish):
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::waitToDumpWatchdogTimerFired):
(WTR::TestInvocation::waitForPostDumpWatchdogTimerFired):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
- 7:00 PM Changeset in webkit [292250] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening.
- platform/ios-wk2/TestExpectations: Forms test was flaky before turning GPUP on by default,
move it out of the section of GPUP-specific failures. Update WebGL failure with bugzilla link.
- 6:29 PM Changeset in webkit [292249] by
-
- 19 edits in trunk
Hoist the IOSurfacePool out of IOSurface
https://bugs.webkit.org/show_bug.cgi?id=238675
Reviewed by Tim Horton.
Source/WebCore:
A future patch will break the assumption that there is a singleton IOSurfacePool per
process, so we can't have IOSurface::create() consult the pool internally. Instead,
pass the pool to the create() functions, and to the moveToPool() function.
Callers in the web process pass IOSurfacePool::sharedPool(); those in the UI process
pass nullptr to avoid pool creation there.
- Modules/system-preview/ARKitBadgeSystemImage.mm:
(WebCore::ARKitBadgeSystemImage::draw const):
- platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::addSurface):
- platform/graphics/cg/IOSurfacePool.h:
- platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:
(WebCore::ImageBufferIOSurfaceBackend::create):
(WebCore::ImageBufferIOSurfaceBackend::releaseBufferToPool):
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::GraphicsContextGLCocoa::allocateAndBindDisplayBufferBacking):
- platform/graphics/cocoa/IOSurface.h: createFromImageBuffer() was unused; remove it.
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::create):
(WebCore::IOSurface::createFromImage):
(WebCore::IOSurface::moveToPool):
(WebCore::IOSurface::surfaceFromPool): Deleted.
- testing/WebFakeXRDevice.cpp:
(WebCore::SimulatedXRDevice::frameTimerFired):
Source/WebKit:
A future patch will break the assumption that there is a singleton IOSurfacePool per
process, so we can't have IOSurface::create() consult the pool internally. Instead,
pass the pool to the create() functions, and to the moveToPool() function.
Callers in the web process pass IOSurfacePool::sharedPool(); those in the UI process
pass nullptr to avoid pool creation there.
- GPUProcess/media/RemoteImageDecoderAVFProxy.cpp:
(WebKit::RemoteImageDecoderAVFProxy::createFrameImageAtIndex):
- GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
(WebKit::RemoteMediaPlayerProxy::nativeImageForCurrentTime):
- Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _takeViewSnapshot]):
(-[WKWebView _snapshotRectAfterScreenUpdates:rectInViewCoordinates:intoImageOfWidth:completionHandler:]):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::takeViewSnapshot):
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp:
(WebKit::ImageBufferShareableMappedIOSurfaceBackend::create):
Tools:
A future patch will break the assumption that there is a singleton IOSurfacePool per
process, so we can't have IOSurface::create() consult the pool internally. Instead,
pass the pool to the create() functions, and to the moveToPool() function.
Callers in the web process pass IOSurfacePool::sharedPool(); those in the UI process
pass nullptr to avoid pool creation there.
- DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView):
- 6:18 PM Changeset in webkit [292248] by
-
- 2 edits in trunk/Source/WebKit
Fix build break after r292225 for Playstation.
https://bugs.webkit.org/show_bug.cgi?id=238683
Patch by Jigen Zhou <jigen.zhou@sony.com> on 2022-04-01
Reviewed by Don Olmstead.
Unreviewed build fix after 292225 for Playstation build.
- Platform/IPC/unix/IPCSemaphoreUnix.cpp:
- 5:46 PM Changeset in webkit [292247] by
-
- 3 edits1 add in trunk
Fix 'Error: too many values to unpack (expected 2)'
https://bugs.webkit.org/show_bug.cgi?id=238682
Reviewed by Jonathan Bedard.
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/bug_trackers/bug_description_unittest.py: Added.
(MockCommit):
(MockCommit.init):
(MockCommitContext):
(MockCommitContext.init):
(MockCommitContext.find_commits_by_uuid):
(MockCommitContext.url):
(TestBugDescription):
(TestBugDescription.setUp):
(TestBugDescription.test_single_row_and_single_test_failure):
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/bug_trackers/bugzilla.py:
(WebKitBugzilla.create_bug):
- Tools/Scripts/libraries/resultsdbpy/resultsdbpy/run-tests:
Canonical link: https://commits.webkit.org/249145@main
- 5:43 PM Changeset in webkit [292246] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r292072): [ Mac iOS ] http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=238580
Unreviewed test gardening.
Remove expectations as cause has been reverted.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 5:41 PM Changeset in webkit [292245] by
-
- 7 edits2 deletes in trunk
Unreviewed, reverting r292072.
https://bugs.webkit.org/show_bug.cgi?id=238690
Caused webAPIStatistics test failures
Reverted changeset:
"[Cocoa] Automatically relayout the page when new fonts are
installed"
https://bugs.webkit.org/show_bug.cgi?id=238483
https://commits.webkit.org/r292072
Patch by Commit Queue <commit-queue@webkit.org> on 2022-04-01
- 5:25 PM Changeset in webkit [292244] by
-
- 9 edits in trunk/Source
Source/WebCore:
Unreviewed, fix non-unified build after r292208
- css/typedom/ComputedStylePropertyMapReadOnly.cpp:
- css/typedom/StylePropertyMapReadOnly.cpp:
- page/FrameSnapshotting.h:
- page/InteractionRegion.cpp:
- platform/graphics/gbm/GBMDevice.cpp:
Source/WebKit:
Unreviewed, fix non-unified build after r292218
- Platform/IPC/unix/IPCSemaphoreUnix.cpp:
- UIProcess/Notifications/WebNotificationManagerProxy.h:
- 5:23 PM Changeset in webkit [292243] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r290822?): [ wk1 ] storage/websql/change-version.html is a flaky timeout
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 4:57 PM Changeset in webkit [292242] by
-
- 6 edits in trunk
Change one-shot maxTimerNestingLevel from 5 to 10
https://bugs.webkit.org/show_bug.cgi?id=237168
Reviewed by Sam Weinig, Saam Barati, and Cameron McCormack .
Source/WebCore:
Recently, we found from Chromium change[1] that changing this from 5 to 10 offers 10% Speedometer2 improvement
because Speedometer2's setTimeout nesting level is typically 7-8. We discussed with folks including Chris, Maciej,
Saam, and Cameron and for now, we increase this from 5 to 10 to align to Blink's change to keep these kind of web
content fast. This is not aligned to the spec, and currently, we only apply it to one-shot timer.
[1]: https://chromium-review.googlesource.com/c/chromium/src/+/3473463
- page/DOMTimer.cpp:
(WebCore::DOMTimer::intervalClampedToMinimum const):
(WebCore::DOMTimer::alignedFireTime const):
LayoutTests:
- fast/dom/timer-increase-min-interval.html:
- fast/dom/timer-throttling-hidden-page-expected.txt:
- fast/dom/timer-throttling-hidden-page.html:
- 4:35 PM Changeset in webkit [292241] by
-
- 1 copy in tags/Safari-614.1.8.1
Tag Safari-614.1.8.1.
- 4:31 PM Changeset in webkit [292240] by
-
- 9 edits in branches/safari-614.1.8-branch/Source
Versioning.
WebKit-7614.1.8.1
- 4:04 PM Changeset in webkit [292239] by
-
- 9 edits in branches/safari-614.1.7-branch/Source
Versioning.
WebKit-7614.1.7.5
- 3:42 PM Changeset in webkit [292238] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, drop unnecessary WTF_EXPORT_PRIVATE on String(ASCIILiteral)
This constructor was recently inlined.
- wtf/text/WTFString.h:
- 3:38 PM Changeset in webkit [292237] by
-
- 5 edits in trunk/LayoutTests
Unreviewed gardening.
This is based on auditing the failing tests cited after turning DOM in GPUP on by default.
- TestExpectations: One test was flaky on the bots before we turned on the flag.
- platform/ios-simulator-wk2/TestExpectations: Some tests have fail/pass results only when the iOS sim is on an arm64 host.
- platform/ios-wk2/TestExpectations: Lots of tests no longer fail.
- platform/ios/TestExpectations:
- 2:38 PM Changeset in webkit [292236] by
-
- 3 edits in trunk/Source/WebKit
Expose WebKitWebView from WPEQtView
https://bugs.webkit.org/show_bug.cgi?id=236746
Patch by Tusooa Zhu <tusooa@kazv.moe> on 2022-04-01
Reviewed by Adrian Perez de Castro.
WPEQtView currently does not allow manipulating the underlying WebKitWebView.
This patch allows retrieving the WebKitWebView from the WPEQtView.
No tests needed, as this patch only adds a trivial getter.
- UIProcess/API/wpe/qt/WPEQtView.cpp:
(WPEQtView::webView const):
- UIProcess/API/wpe/qt/WPEQtView.h:
- 2:29 PM Changeset in webkit [292235] by
-
- 3 edits in trunk/Tools
[Merge-Queue] Canonicalize commit without rebase
https://bugs.webkit.org/show_bug.cgi?id=238614
<rdar://problem/91113465>
Reviewed by Aakash Jain.
This is helpful immiediatly after landing a subversion commit
and allows us to bypass the 60 second sleep in PushCommitToWebKitRepo.
- Tools/CISupport/ews-build/steps.py:
(Canonicalize.init): Allow caller to opt out of rebasing.
(Canonicalize.run): Ditto.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249136@main
- 2:21 PM Changeset in webkit [292234] by
-
- 1 copy in tags/Safari-613.2.5
Tag Safari-613.2.5.
- 2:18 PM Changeset in webkit [292233] by
-
- 4 edits in trunk/LayoutTests
REGRESSION(r292072): [ wk1 ] fast/text/install-font-style-recalc.html is a constant text failure
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 1:47 PM Changeset in webkit [292232] by
-
- 12 edits in trunk
Add more push-related logging
https://bugs.webkit.org/show_bug.cgi?id=238591
Reviewed by Youenn Fablet.
Source/WebCore:
Add logging to help diagnose Push API errors. We currently log very little, which is making
it hard for us to diagnose bug reports.
- Log if PushManager.subscribe fails the user gesture check. We log this to both syslog and the developer console. We do the latter to inform developers, and we already log an identical message from Notification.requestPermission when that fails in this manner.
- Log if we can't fire a push event because the service worker registration went away.
- Modules/push-api/PushManager.cpp:
(WebCore::PushManager::subscribe):
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::processPushMessage):
Source/WebKit:
Add logging to help diagnose Push API errors. We currently log very little, which is making
it hard for us to diagnose bug reports.
- Log when we try to fetch or process push messages in NetworkProcess.
- Log when we enqueue, start, and finish a PushServiceRequest. This helps catch issues such as a queued request never running because the OS push daemon never completing a request.
- Log if we failed trying to wake up the browser to process a push message.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::processPushMessage):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _getPendingPushMessages:]):
(-[WKWebsiteDataStore _processPushMessage:completionHandler:]):
- webpushd/PushService.mm:
(WebPushD::PushService::create):
(WebPushD::PushServiceRequestImpl::fulfill):
(WebPushD::PushServiceRequestImpl::reject):
(WebPushD::SubscribeRequest::startImpl):
(WebPushD::UnsubscribeRequest::startInternal):
(WebPushD::PushService::enqueuePushServiceRequest):
(WebPushD::PushService::incrementSilentPushCount):
(WebPushD::PushService::removeRecordsImpl):
(WebPushD::makeRawPushMessage):
(WebPushD::PushService::didReceivePushMessage):
- webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::injectEncryptedPushMessageForTesting):
(WebPushD::Daemon::notifyClientPushMessageIsAvailable):
(WebPushD::Daemon::getPendingPushMessages):
LayoutTests:
Modify test cases to check for user gesture error console message.
- http/tests/push-api/subscribe-default-permissions-expected.txt:
- http/tests/push-api/subscribe-default-permissions-iframe-same-origin-expected.txt:
- http/tests/push-api/subscribe-deny-permissions-on-prompt-expected.txt:
- 12:53 PM Changeset in webkit [292231] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r292072): [ wk1 ] fast/text/install-font-style-recalc.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=238641
Unreviewed test gardening.
platform/mac-wk1/TestExpectations:
- 12:30 PM Changeset in webkit [292230] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r292197): 3 TestWebKitAPI.ContentRuleList API tests are constant failures/timeout
https://bugs.webkit.org/show_bug.cgi?id=238678
<rdar://91173297>
Unreviewed, in r292197, I made a last minute mistake when applying some of Darin's review comments.
I converted a few calls toNSURL.absoluteURL.fileSystemRepresentationto
NSURL.absoluteStringinstead ofNSURL.absoluteURL.path. As a result, the file://
prefix was still present and some characters may still be URL-encoded.
No new tests, covered by existing API tests failing on the bots.
- UIProcess/API/Cocoa/WKContentRuleListStore.mm:
(+[WKContentRuleListStore storeWithURL:]):
(+[WKContentRuleListStore storeWithURLAndLegacyFilename:]):
- 12:26 PM Changeset in webkit [292229] by
-
- 8 edits5 adds in trunk
CSP: WASM fails to execute after window.open
https://bugs.webkit.org/show_bug.cgi?id=238562
<rdar://problem/90778752>
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/allow-wasm-after-window-open.html
Reset WASM enabled value after a window.open() call. This patch simplifies
eval and wasm setters by removing the distinct enable/disable functions
and using one consistent setter.
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::setEvalEnabled):
(WebCore::ScriptController::setWebAssemblyEnabled):
(WebCore::ScriptController::enableEval): Deleted.
(WebCore::ScriptController::enableWebAssembly): Deleted.
(WebCore::ScriptController::disableEval): Deleted.
(WebCore::ScriptController::disableWebAssembly): Deleted.
- bindings/js/ScriptController.h:
- dom/Document.cpp:
(WebCore::Document::disableEval):
(WebCore::Document::disableWebAssembly):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::clear):
- page/csp/ContentSecurityPolicy.h:
(WebCore::ContentSecurityPolicy::webAssemblyErrorMessage const):
LayoutTests:
Layout test coverage. Copy some wasm helper scripts into the http directory.
- platform/win/TestExpectations:
We don't support wasm on win.
- http/tests/security/contentSecurityPolicy/allow-wasm-after-window-open-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/allow-wasm-after-window-open.html: Added.
- http/tests/security/contentSecurityPolicy/resources/load_wasm.js: Added.
(createWasmModule):
- http/tests/security/contentSecurityPolicy/resources/run-web-assembly.html: Added.
- http/tests/security/contentSecurityPolicy/resources/wasm-builder.js: Added.
(const._fail):
(const.isNotA.assert.isNotA):
(const):
(switch.typeof):
(Builder):
(Builder.prototype.setChecked):
(Builder.prototype.setPreamble):
(Builder.prototype._functionIndexSpaceKeyHash):
(Builder.prototype._registerFunctionToIndexSpace):
(Builder.prototype._getFunctionFromIndexSpace):
(Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
(Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.const.codeBuilder.End.switch.case.string_appeared_here.e):
(Builder.prototype._registerSectionBuilders.this.Unknown):
- 12:23 PM Changeset in webkit [292228] by
-
- 2 edits in trunk/Source/WebCore
(REGRESSION r291992) showRenderTree fails to print the name of the renderer when "(" is present
https://bugs.webkit.org/show_bug.cgi?id=238666
Reviewed by Antti Koivisto.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::outputRenderObject const): with names like "RenderRubyBase (anonymous)" we print an address and not "RenderRubyBase"
- 12:03 PM Changeset in webkit [292227] by
-
- 1 copy in tags/Safari-614.1.8
Tag Safari-614.1.8.
- 11:41 AM Changeset in webkit [292226] by
-
- 7 edits2 adds in trunk
[Ruby] Statically positioned out-of-flow block boxes are mispositioned
https://bugs.webkit.org/show_bug.cgi?id=238653
Reviewed by Antti Koivisto.
Source/WebCore:
A statically positioned out-of-flow ruby base e.g.
<div>A<ruby><rb style="position: absolute">B</rb></ruby></div>
and
<div>A<span style="position: absolute">B</span></div>
should match layout where <rb> box's top is aligned with current line box's top position
(as if <rb> was inflow, which then puts "A" and "B" (somewhat) next to each other vertically).
However since we wrap such content (<rb>) inside an inline-block type anonymous box (RenderRubyBase), in practice
we match instead this:
<div>A
<span style="display: inline-block">
<span style="position: absolute">B</span>
</span>
</div>
where <rb>'s top is now aligned with the top of the wrapper inline-block box's top.
But this inline-block box sits on the line box's baseline with the height of 0 (it's inflow empty)
which makes the <rb> aligned with the line box's baseline instead of its top (and now "B" in below "A" under the baseline).
This patch fixes this by making sure that the (inflow empty) inline-block box's baseline is computed as if it had inflow content.
Test: fast/ruby/ruby-with-out-of-flow-base-content.html
- rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::isEmptyOrHasInFlowContent const):
- rendering/RenderRubyBase.h:
- rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::baselinePosition const):
- rendering/RenderRubyRun.h:
LayoutTests:
- TestExpectations:
- fast/ruby/ruby-with-out-of-flow-base-content-expected.html: Added.
- fast/ruby/ruby-with-out-of-flow-base-content.html: Added.
- 10:43 AM Changeset in webkit [292225] by
-
- 3 edits in trunk/Source/WebKit
[Linux] Implement IPC::Semaphore
https://bugs.webkit.org/show_bug.cgi?id=238596
Patch by Zan Dobersek <zdobersek@igalia.com> on 2022-04-01
Reviewed by Adrian Perez de Castro.
Provide a Linux implementation for IPC::Semaphore that's based on
eventfd mechanics.
The IPC::Semaphore class now has a UNIX-specific file descriptor member
variable. For Linux, this file descriptor is an eventfd with semaphore
semantics (eventfd being Linux-specific). Signalling and waiting on
such semaphore is done through the read() and write() functions.
Non-Linux platforms are expected to provide something equivalent, if
possible.
For encoding and decoding that's necessary to move these semaphores
across process boundaries, IPC::Attachment is used. For encoding the
eventfd is simply duplicated and pushed into the Attachment, and for
decoding the Attachment's file descriptor is taken and adopted by the
Semaphore object.
- Platform/IPC/IPCSemaphore.h:
(IPC::Semaphore::operator bool const):
- Platform/IPC/unix/IPCSemaphoreUnix.cpp:
(IPC::Semaphore::Semaphore):
(IPC::Semaphore::~Semaphore):
(IPC::Semaphore::operator=):
(IPC::Semaphore::signal):
(IPC::waitImpl):
(IPC::Semaphore::wait):
(IPC::Semaphore::waitFor):
(IPC::Semaphore::encode const):
(IPC::Semaphore::decode):
(IPC::Semaphore::destroy):
- 10:22 AM Changeset in webkit [292224] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r292072): [ Mac iOS ] http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=238580
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 9:42 AM Changeset in webkit [292223] by
-
- 3 edits in trunk/Source/WebCore
Add AXObjectCache::treeData() to retrieve serialized representation of the AX trees.
https://bugs.webkit.org/show_bug.cgi?id=238561
<rdar://problem/91055027>
Reviewed by Chris Fleizach.
Added AXObjectCache::treeData() to retrieve a serialized representation
of both the live and isolated AX trees. The immediate application of
this will be log to file the trees from the browser. Other application
down the road may be to expose a text document-like representation of
the web page for AT clients.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::treeData):
- accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::treeData):
- 8:35 AM Changeset in webkit [292222] by
-
- 13 edits in trunk
[css-logical] Add support for block/inline CSS values for resize property
https://bugs.webkit.org/show_bug.cgi?id=218088
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Marked relevant WPT as passing.
- web-platform-tests/css/css-logical/logical-values-resize-expected.txt:
Source/WebCore:
Tests:
- Parsing: imported/w3c/web-platform-tests/css/css-logical/logical-values-resize.html
- Functionality: fast/css/resize-single-axis.html
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator Resize const):
- css/CSSProperties.json:
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::resize):
- rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
- rendering/style/RenderStyleConstants.h:
- rendering/style/StyleRareNonInheritedData.h:
LayoutTests:
Add tests for functionality.
- fast/css/resize-single-axis-expected.txt:
- fast/css/resize-single-axis.html:
- 7:45 AM Changeset in webkit [292221] by
-
- 4 edits in trunk/Source/WebCore
Add RenderGrid parameter to resolveGridPositionsFromStyle
https://bugs.webkit.org/show_bug.cgi?id=238660
Patch by Rob Buis <rbuis@igalia.com> on 2022-04-01
Reviewed by Javier Fernandez.
The containing block of an out of flow grid item does
not have to be of type RenderGrid. To obtain the correct
RenderGrid pass it at the time the RenderGrid calls
resolveGridPositionsFromStyle.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator const):
(WebCore::RenderGrid::computeGridPositionsForOutOfFlowChild const):
- rendering/style/GridPositionsResolver.cpp:
(WebCore::GridPositionsResolver::resolveGridPositionsFromStyle):
- rendering/style/GridPositionsResolver.h:
- 7:39 AM Changeset in webkit [292220] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, update DerivedSources-output.xcfilelist to fix build.
- DerivedSources-output.xcfilelist:
- 7:11 AM Changeset in webkit [292219] by
-
- 2 edits in trunk/Source/WebCore
Abort formatBlock command on null start or end selections
https://bugs.webkit.org/show_bug.cgi?id=238657
Patch by Rob Buis <rbuis@igalia.com> on 2022-04-01
Reviewed by Wenson Hsieh.
Abort formatBlock command in case selectionForParagraphIteration
returns with a null start or end selection due to inline table specific
adjustments.
- editing/ApplyBlockElementCommand.cpp:
(WebCore::ApplyBlockElementCommand::doApply):
- 6:12 AM Changeset in webkit [292218] by
-
- 24 edits in trunk
ServiceWorkerRegistration.getNotifications should list all persistent notifications
https://bugs.webkit.org/show_bug.cgi?id=238544
Reviewed by Darin Adler.
Source/WebCore:
Remove context based notification list since the list is global.
Add creation time to notification data.
Instead of reading the list locally, use the SWClient connection to get it.
Covered by updated test.
- Modules/notifications/Notification.cpp:
- Modules/notifications/Notification.h:
- Modules/notifications/NotificationData.h:
- workers/service/SWClientConnection.h:
- workers/service/ServiceWorkerContainer.cpp:
- workers/service/ServiceWorkerContainer.h:
- workers/service/ServiceWorkerRegistration.cpp:
- workers/service/ServiceWorkerRegistration.h:
- workers/service/ServiceWorkerRegistration.idl:
- workers/service/WorkerSWClientConnection.cpp:
- workers/service/WorkerSWClientConnection.h:
Source/WebKit:
Go from WebProcess to UIProcess to read the notification map through IPC messaging.
Filter out the notifications according tag, origin and session.
Sort the notifications according creationTime with UIProcess identifier as tie breaker.
- UIProcess/Notifications/WebNotificationManagerProxy.cpp:
- UIProcess/Notifications/WebNotificationManagerProxy.h:
- UIProcess/WebProcessProxy.cpp:
- UIProcess/WebProcessProxy.h:
- UIProcess/WebProcessProxy.messages.in:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
- WebProcess/Notifications/WebNotificationManager.cpp:
- WebProcess/Storage/WebSWClientConnection.cpp:
- WebProcess/Storage/WebSWClientConnection.h:
LayoutTests:
- http/tests/workers/service/getnotifications-expected.txt:
- http/tests/workers/service/getnotifications.html:
- 5:08 AM Changeset in webkit [292217] by
-
- 2 edits in trunk/JSTests
Skip flaky test on mips
https://bugs.webkit.org/show_bug.cgi?id=238656
Unreviewed gardening.
- stress/new-largeish-contiguous-array-with-size.js:
- 4:48 AM Changeset in webkit [292216] by
-
- 9 edits in trunk
Notification should be exposed to ServiceWorker contexts
https://bugs.webkit.org/show_bug.cgi?id=238548
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/notifications/idlharness.https.any.serviceworker-expected.txt:
Source/WebCore:
Mark Notification as exposed in ServiceWorker (not yet Worker as it would not be functional).
Add a dedicated createForServiceWorker routine that takes a registration URL to create persistent permissions.
Throw an exception in case of calling Notification constructor directly in a ServiceWorkerGlobalScope, as per spec.
Covered by updated and existing tests.
- Modules/notifications/Notification.cpp:
- Modules/notifications/Notification.h:
- Modules/notifications/Notification.idl:
- workers/service/ServiceWorkerRegistration.cpp:
LayoutTests:
- http/tests/workers/service/resources/shownotification-worker.js:
- 4:00 AM Changeset in webkit [292215] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][WebRTC] Improve RTP stats gathering
https://bugs.webkit.org/show_bug.cgi?id=238602
Patch by Philippe Normand <philn@igalia.com> on 2022-04-01
Reviewed by Xabier Rodriguez-Calvar.
Proxy a few more stats fields from GstWebRTC to the WebCore StatsCollector.
- Modules/mediastream/gstreamer/GStreamerStatsCollector.cpp:
(WebCore::fillInboundRTPStreamStats):
(WebCore::fillOutboundRTPStreamStats):
- 3:49 AM Changeset in webkit [292214] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix obsolete FIXME comments in CSSParserFastPaths.cpp
- overflow-anchor is still not implemented, and the visible value has been removed from the spec.
- text-combine-upright was implemented in r287487
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- 2:17 AM Changeset in webkit [292213] by
-
- 3 edits in trunk
[GTK][WPE] Enable CSS Typed OM by default
https://bugs.webkit.org/show_bug.cgi?id=238659
Reviewed by Adrian Perez de Castro.
Always build with Typed OM enabled, it's handled by an off by default setting.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
- 2:05 AM Changeset in webkit [292212] by
-
- 1 edit1 add in trunk/Source/WebCore/platform/gtk/po
Croatian translation for WebKitGTK
https://bugs.webkit.org/show_bug.cgi?id=238611
Patch by gogo <trebelnik2@gmail.com> on 2022-04-01
Rubber-stamped by Carlos Garcia Campos.
- hr.po: Added.
- 2:00 AM Changeset in webkit [292211] by
-
- 11 edits in trunk/Source
REGRESSION(r290360): [GLX] Crash on process exit
https://bugs.webkit.org/show_bug.cgi?id=238494
Reviewed by Michael Catanzaro.
Source/WebCore:
When creating a PlatformDisplay from a shared GdkDisplay, we need to keep a reference to the display and connect
to closed signal to release our display dependent resources. Closed signal is emitted right before the native
display is actually closed by GDK. We also need to make sure that the sharing GL context is released before the
PlatformDisplay is destroyed. This is always happening for EGL because the sharing GL context is cleared before
terminating the EGL display in the atexit handler, but that's not the case of GLX. Since X11 only allows one
PlatformDisplay, which is always the shared one, we can just install an atexit handler in the constructor to
clear the sharing context before the destructor is called.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::createPlatformDisplay):
(WebCore::PlatformDisplay::PlatformDisplay):
(WebCore::PlatformDisplay::sharedDisplayDidClose):
(WebCore::PlatformDisplay::~PlatformDisplay):
(WebCore::PlatformDisplay::clearSharingGLContext):
(WebCore::PlatformDisplay::terminateEGLDisplay):
- platform/graphics/PlatformDisplay.h:
- platform/graphics/libwpe/PlatformDisplayLibWPE.cpp:
(WebCore::PlatformDisplayLibWPE::PlatformDisplayLibWPE):
- platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::create):
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::sharedDisplayDidClose):
- platform/graphics/wayland/PlatformDisplayWayland.h:
- platform/graphics/win/PlatformDisplayWin.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::create):
(WebCore::clearSharingGLContextAtExit):
(WebCore::PlatformDisplayX11::PlatformDisplayX11):
(WebCore::PlatformDisplayX11::~PlatformDisplayX11):
(WebCore::PlatformDisplayX11::sharedDisplayDidClose):
- platform/graphics/x11/PlatformDisplayX11.h:
Source/WebKit:
- WebProcess/gtk/WaylandCompositorDisplay.cpp:
(WebKit::WaylandCompositorDisplay::WaylandCompositorDisplay):
- 1:29 AM Changeset in webkit [292210] by
-
- 45 edits1 copy2 adds1 delete in trunk
Add support for element.computedStyleMap()
https://bugs.webkit.org/show_bug.cgi?id=238375
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Update test expectations.
- web-platform-tests/css/css-color/system-color-compute-expected.txt:
- web-platform-tests/css/css-properties-values-api/at-property-typedom-expected.txt:
- web-platform-tests/css/css-properties-values-api/property-cascade-expected.txt:
- web-platform-tests/css/css-properties-values-api/typedom-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-interpolation-computed-value-expected.txt:
- web-platform-tests/css/css-typed-om/idlharness-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-serialization/cssStyleValue-cssom-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/computed.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/get-auto-min-size-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/get-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/get-invalid-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/get-position-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/get-shorthand-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/getAll-shorthand-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/getAll.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/has.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/computed/iterable.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/getAll-shorthand-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/getAll.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/has.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/inline/iterable.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/transform-interpolated-expected.txt:
Source/WebCore:
Covered by existing w3c tests.
- CMakeLists.txt:
- Sources.txt:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue): Add PropertyValueType parameter to get either the computed or
resolved value.
- css/CSSComputedStyleDeclaration.h:
- css/typedom/CSSStyleValueFactory.cpp:
(WebCore::CSSStyleValueFactory::reifyValue): Handle more cases of custom property.
- css/typedom/ComputedStylePropertyMapReadOnly.cpp: Added.
(WebCore::ComputedStylePropertyMapReadOnly::create):
(WebCore::ComputedStylePropertyMapReadOnly::ComputedStylePropertyMapReadOnly):
(WebCore::ComputedStylePropertyMapReadOnly::get const):
(WebCore::ComputedStylePropertyMapReadOnly::getAll const):
(WebCore::ComputedStylePropertyMapReadOnly::has const):
(WebCore::ComputedStylePropertyMapReadOnly::size const):
(WebCore::ComputedStylePropertyMapReadOnly::entries const):
- css/typedom/ComputedStylePropertyMapReadOnly.h: Added.
- css/typedom/StylePropertyMapReadOnly.cpp:
(WebCore::StylePropertyMapReadOnly::reifyValueToVector): Returns a Vector so in case of CSSValueList, every
value is added to the vector.
(WebCore::StylePropertyMapReadOnly::Iterator::Iterator): Add iterator implementation, since this is now iterable.
(WebCore::StylePropertyMapReadOnly::Iterator::next): Ditto.
- css/typedom/StylePropertyMapReadOnly.h:
(WebCore::StylePropertyMapReadOnly::createIterator):
- css/typedom/StylePropertyMapReadOnly.idl:
- dom/Element+ComputedStyleMap.idl: Added.
- dom/Element.cpp:
(WebCore::Element::computedStyleMap): Get or create the computed style map.
- dom/Element.h:
- dom/ElementRareData.cpp:
- dom/ElementRareData.h:
(WebCore::ElementRareData::computedStyleMap):
(WebCore::ElementRareData::setComputedStyleMap):
(WebCore::ElementRareData::useTypes const):
- dom/NodeRareData.h:
- dom/StyledElement.cpp:
- html/CustomPaintImage.cpp:
LayoutTests:
Update test expectations.
- platform/glib/imported/w3c/web-platform-tests/css/css-color/system-color-compute-expected.txt:
- platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-computed-value-expected.txt: Removed.
- platform/ios/imported/w3c/web-platform-tests/css/css-color/system-color-compute-expected.txt:
- 1:26 AM Changeset in webkit [292209] by
-
- 4 edits in trunk/Source/WebKit
Translated applications cannot use remote methods with BOOL arguments
https://bugs.webkit.org/show_bug.cgi?id=238651
<rdar://90509457>
Reviewed by Geoffrey Garen.
Propagate the fix from r261155 to WKRemoteObjectCoder's method-signature-equality test as well,
so that BOOL arguments correctly compare as equal between a Rosetta application and its
native ARM Web Content process.
- Shared/API/Cocoa/WKRemoteObjectCoder.h:
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(WebKit::methodSignaturesAreCompatible):
(decodeInvocation):
Relax argument signature validation slightly, considering signed char and BOOL,
which are equivalent and sometimes substituted for each other, to be equal.
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _invokeMethod:]):
(blockSignaturesAreCompatible): Deleted.
- 1:17 AM Changeset in webkit [292208] by
-
- 29 edits2 adds in trunk
Add a debug overlay for interaction regions
https://bugs.webkit.org/show_bug.cgi?id=238187
Reviewed by Wenson Hsieh.
Source/WebCore:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Node.cpp:
(WebCore::Node::willRespondToTouchEvents):
- dom/Node.h:
Expose
willRespondToTouchEvents, similar towillRespondToMouseMoveEvents.
- page/DebugOverlayRegions.h:
- page/DebugPageOverlays.cpp:
(WebCore::InteractionRegionOverlay::updateRegion):
(WebCore::pathsForRegion):
(WebCore::InteractionRegionOverlay::activeRegion):
(WebCore::drawCheckbox):
(WebCore::InteractionRegionOverlay::rectForSettingAtIndex):
(WebCore::InteractionRegionOverlay::valueForSetting):
(WebCore::InteractionRegionOverlay::drawSettings):
(WebCore::InteractionRegionOverlay::drawRect):
(WebCore::InteractionRegionOverlay::mouseEvent):
(WebCore::RegionOverlay::create):
(WebCore::DebugPageOverlays::updateOverlayRegionVisibility):
- page/DebugPageOverlays.h:
(WebCore::DebugPageOverlays::didLayout):
(WebCore::DebugPageOverlays::didChangeEventHandlers):
(WebCore::DebugPageOverlays::doAfterUpdateRendering):
Add an overlay for indicating interaction regions.
- page/FrameSnapshotting.cpp:
(WebCore::styleContainsComplexBackground):
(WebCore::estimatedBackgroundColorForRange):
- page/FrameSnapshotting.h:
- page/TextIndicator.cpp:
(WebCore::styleContainsComplexBackground): Deleted.
(WebCore::estimatedBackgroundColorForRange): Deleted.
MoveestimatedBackgroundColorForRangefrom TextIndicator to
FrameSnapshotting for ease of reuse.
- page/InteractionRegion.cpp: Added.
(WebCore::absoluteBoundingRectForRange):
(WebCore::regionForElement):
(WebCore::cursorTypeForElement):
(WebCore::interactionRegions):
- page/InteractionRegion.h: Added.
(WebCore::InteractionRegion::encode const):
(WebCore::InteractionRegion::decode):
Add InteractionRegion, which keeps track of the location of and metadata
about interaction regions.
- platform/graphics/LayoutSize.h:
(WebCore::LayoutSize::minDimension const):
(WebCore::LayoutSize::maxDimension const):
- platform/graphics/RoundedRect.h:
(WebCore::RoundedRect::Radii::minimumRadius const):
Add minimumRadius() to Radii.
Source/WebKit:
- Shared/mac/MediaFormatReader/MediaFormatReader.cpp:
Unified source fixes.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
Add plumbing for a new debug overlay.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::interactionRegions):
(WebKit::WebPageProxy::interactableRegionsInRootViewCoordinates): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView interactionRegionsForHoverPlatter:inRect:completionHandler:]):
(-[WKContentView interactableRegionsForHoverPlatter:inRect:completionHandler:]): Deleted.
- UIProcess/ios/WKHoverPlatter.h:
- UIProcess/ios/WKHoverPlatter.mm:
(-[WKHoverPlatter updateDebugIndicator]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::interactionRegions):
Move interactionRegions() from WebPage to WebCore::InteractionRegion.
(WebKit::WebPage::interactableRegionsInRootViewCoordinates): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- MiniBrowser/mac/SettingsController.h:
- MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController interactionRegionOverlayVisible]):
(-[SettingsController preferenceKeyForRegionOverlayTag:]):
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):
Add a switch for the new debug overlay in MiniBrowser.
- 1:03 AM Changeset in webkit [292207] by
-
- 8 edits2 adds in trunk
Persistent notifications should work in document scopes as well as service worker global scopes
https://bugs.webkit.org/show_bug.cgi?id=238601
Reviewed by Brady Eidson.
Source/WebCore:
Add a m_serviceWorkerRegistrationURL in Notification to identify whether a notfication is persistent or not.
Set that field when creating a notification from NotificationData or from ServiceWorkerRegistration::showNotification.
Test: http/tests/workers/service/shownotification-allowed-document.html
- Modules/notifications/Notification.cpp:
(WebCore::Notification::create):
(WebCore::Notification::data const):
- Modules/notifications/Notification.h:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::showNotification):
Source/WebKit:
In case of notification message coming from a WebPage, check whether the notification is persistent or not.
If persistent, go to ServiceWorkerNotificationHandler, otherwise use the current code path through WebPageProxy.
- UIProcess/Notifications/ServiceWorkerNotificationHandler.h:
- UIProcess/Notifications/WebNotificationManagerMessageHandler.cpp:
(WebKit::WebNotificationManagerMessageHandler::showNotification):
(WebKit::WebNotificationManagerMessageHandler::cancelNotification):
(WebKit::WebNotificationManagerMessageHandler::clearNotifications):
(WebKit::WebNotificationManagerMessageHandler::didDestroyNotification):
LayoutTests:
- http/tests/workers/service/shownotification-allowed-document-expected.txt: Added.
- http/tests/workers/service/shownotification-allowed-document.html: Added.
- 12:11 AM Changeset in webkit [292206] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix non-unified build after r292191
- runtime/ScriptExecutableInlines.h:
Mar 31, 2022:
- 10:52 PM Changeset in webkit [292205] by
-
- 6 edits in trunk/Source
Add a heuristic to identify and extract the prominent video element in element fullscreen
https://bugs.webkit.org/show_bug.cgi?id=238579
Reviewed by Jer Noble.
Source/WebCore:
Mark a couple of methods as WEBCORE_EXPORT so that they can be invoked from the WebKit layer.
No change in behavior (yet).
- dom/Element.h:
- html/HTMLMediaElement.h:
Drive-by-fix: also remove an (unused) function declaration with no implementation
(updatePlaybackControlsManager()).
Source/WebKit:
Add a heuristic to WebFullScreenManager that identifies and keeps track of the largest, rendered video element
in element fullscreen mode (that is, the video element with the largest area that's inside of the subtree of the
fullscreen container element). We couple this with a mechanism to detect when such a video has been paused for a
short (250 ms) delay.
These mechanisms will be used in a future patch to support "video extraction" in element fullscreen. See below
for more details.
- WebProcess/FullScreen/WebFullScreenManager.cpp:
Turn WebFullScreenManager into an EventListener subclass, so that we can observe the "playing", "pause", and
"seeking" events on the main video element (if it exists). SeehandleEventbelow for more information.
(WebKit::WebFullScreenManager::WebFullScreenManager):
(WebKit::WebFullScreenManager::exitFullScreenForElement):
Clear out the main video element upon exiting fullscreen.
(WebKit::WebFullScreenManager::didEnterFullScreen):
After we've finished entering element fullsreen, traverse the DOM in search of the largest video element (area-
wise). If the container for element fullscreen is, itself, a video element, then automatically treat that
element as the main video.
(WebKit::WebFullScreenManager::mainVideoElementExtractionTimerFired):
(WebKit::WebFullScreenManager::scheduleMainVideoElementExtraction):
(WebKit::WebFullScreenManager::endMainVideoElementExtractionIfNeeded):
For now, these are essentially no-ops; add FIXME's to call into WebPage to begin or cancel video extraction.
These will be implemented in an upcoming patch, that connects this element fullscreen code to a more generic
fullscreen video extraction mechanism implemented entirely in the client layer.
(WebKit::WebFullScreenManager::setMainVideoElement):
Add a helper method to set the main video element, adding or removing event listeners as needed.
(WebKit::WebFullScreenManager::handleEvent):
When observing any of the "playing", "pause", and "seeking" events, update the main video extraction timer;
that is, if the main video element is paused, restart the timer; otherwise, stop it entirely.
- WebProcess/FullScreen/WebFullScreenManager.h:
- 10:23 PM Changeset in webkit [292204] by
-
- 9 edits in trunk/Source/WebGPU
[WebGPU] There's no need to sprinkle std::optionals everywhere just for _Force32 enum values
https://bugs.webkit.org/show_bug.cgi?id=238434
For ABI compatibility, the shared header uses this pattern:
enum Foo {
Foo_AValue = 1,
Foo_AnotherValue = 2,
Foo_SomeOtherValue = 3,
Foo_Force32 = 0x7FFFFFFF
};
This is so that more values can be added to the enum without making it wider.
However, this means that if you want to switch over the values of Foo, you have to have
a dummy _Force32 case. These cases will never actually occur, and we have ASSERTs() for
them.
Originally, I made some functions return a std::optional<> so that there was some "empty"
value that could be returned in these case statements. That means that every caller of
any function that switches over any enum has to check the return value for nullopt. This
is pretty yucky.
And, indeed, it's all for nothing - the client calling into WebGPU can happily cast any
aribtrary integer to a Foo can call our functions, so the cases for the _Force32 values
should be no different. Therefore, we can just say "in order to call WebGPU functions,
it's illegal to pass in the _Force32 values (just as it would be illegal to pass in
unassigned values)." This means we can clean up the code a bit, and remove a bunch of
nullopt checks.
Reviewed by Dean Jackson.
- WebGPU/BindGroupLayout.mm:
(WebGPU::createArgumentDescriptor):
- WebGPU/Buffer.mm:
(WebGPU::Buffer::mapAsync):
- WebGPU/CommandEncoder.mm:
(WebGPU::CommandEncoder::copyBufferToTexture):
(WebGPU::CommandEncoder::copyTextureToBuffer):
- WebGPU/Instance.mm:
(WebGPU::sortedDevices):
- WebGPU/Queue.mm:
(WebGPU::Queue::writeTexture):
- WebGPU/Sampler.mm:
(WebGPU::addressMode):
(WebGPU::minMagFilter):
(WebGPU::mipFilter):
(WebGPU::compareFunction):
(WebGPU::Device::createSampler):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::featureRequirementForFormat):
(WebGPU::isCompressedFormat):
(WebGPU::stencilSpecificFormat):
(WebGPU::Texture::texelBlockWidth):
(WebGPU::Texture::texelBlockHeight):
(WebGPU::isRenderableFormat):
(WebGPU::supportsMultisampling):
(WebGPU::maximumMiplevelCount):
(WebGPU::hasStorageBindingCapability):
(WebGPU::Device::validateCreateTexture):
(WebGPU::pixelFormat):
(WebGPU::depthOnlyAspectMetalFormat):
(WebGPU::stencilOnlyAspectMetalFormat):
(WebGPU::Device::createTexture):
(WebGPU::Texture::resolveTextureViewDescriptorDefaults const):
(WebGPU::Texture::validateCreateView const):
(WebGPU::Texture::createView):
(WebGPU::Texture::refersToSingleAspect):
- 10:09 PM Changeset in webkit [292203] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] etc2-rgba8unorm and etc2-rgba8unorm-srgb are not handled
https://bugs.webkit.org/show_bug.cgi?id=238435
Reviewed by Dean Jackson.
They map to MTLPixelFormatEAC_RGBA8 and MTLPixelFormatEAC_RGBA8_sRGB.
- WebGPU/Texture.mm:
(WebGPU::pixelFormat):
(WebGPU::Device::createTexture):
- 10:04 PM Changeset in webkit [292202] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] 2 texture formats need to be guarded behind optional extensions
https://bugs.webkit.org/show_bug.cgi?id=238433
Reviewed by Dean Jackson.
WGPUTextureFormat_Depth24UnormStencil8 needs to be guarded behind WGPUFeatureName_Depth24UnormStencil8
and WGPUTextureFormat_Depth32FloatStencil8 needs to be guarded behind WGPUFeatureName_Depth32FloatStencil8.
- WebGPU/Texture.mm:
(WebGPU::featureRequirementForFormat):
- 10:00 PM Changeset in webkit [292201] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Implement Queue::writeTexture() according to the spec
https://bugs.webkit.org/show_bug.cgi?id=238432
Reviewed by Dean Jackson.
This implements Queue::writeTexture() according to the spec.
It re-uses many of the helper functions added in
https://bugs.webkit.org/show_bug.cgi?id=238428. There are links and quotes from
the spec where appropriate.
- WebGPU/Queue.mm:
(WebGPU::Queue::writeBuffer):
(WebGPU::validateWriteTexture):
(WebGPU::Queue::writeTexture):
- 9:50 PM Changeset in webkit [292200] by
-
- 2 edits in trunk/Source/WebGPU
[WebGPU] Implement CommandEncoder::copyTextureToTexture() according to the spec
https://bugs.webkit.org/show_bug.cgi?id=238431
Reviewed by Dean Jackson.
This implements CommandEncoder::copyTextureToBuffer() according to the spec.
It re-uses many of the helper functions added in
https://bugs.webkit.org/show_bug.cgi?id=238428. There are links and quotes from
the spec where appropriate.
- WebGPU/CommandEncoder.mm:
(WebGPU::refersToAllAspects):
(WebGPU::isSRGBCompatible):
(WebGPU::areCopyCompatible):
(WebGPU::validateCopyTextureToTexture):
(WebGPU::CommandEncoder::copyTextureToTexture):
- 9:48 PM Changeset in webkit [292199] by
-
- 4 edits in trunk/Source/WebGPU
[WebGPU] Implement CommandEncoder::copyTextureToBuffer() according to the spec.
https://bugs.webkit.org/show_bug.cgi?id=238430
Reviewed by Dean Jackson.
This implements CommandEncoder::copyTextureToBuffer() according to the spec.
It re-uses many of the helper functions added in
https://bugs.webkit.org/show_bug.cgi?id=238428. There are links and quotes from
the spec where appropriate.
- WebGPU/CommandEncoder.mm:
(WebGPU::validateCopyTextureToBuffer):
(WebGPU::CommandEncoder::copyTextureToBuffer):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::Texture::isValidImageCopySource):
- 8:39 PM Changeset in webkit [292198] by
-
- 5 edits in trunk
[GPU Process] [iOS] Vertical text is incorrectly displaced
https://bugs.webkit.org/show_bug.cgi?id=232917
rdar://85483031
Reviewed by Myles C. Maxfield.
Source/WebCore:
DrawGlyphsRecorder calls FontCascade::drawGlyphs() which calls CoreText
to draw the vertical text to its internal context. This internal context
is setup to be called back for every single run. When CoreText calls
DrawGlyphsRecorder::recordDrawGlyphs(), it records drawing the glyph runs
into the owner recorder. The problem is CoreText passes the transformed
positions to recordDrawGlyphs(). To call drawGlyphsAndCacheFont() in the
recorder we have to pass the un-transformed anchor point. To get this anchor
point, we have to apply the inverse of fillVectorWithVerticalGlyphPositions()
to the first transformed position.
- platform/graphics/GraphicsContext.h:
- platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:
(WebCore::DrawGlyphsRecorder::recordDrawGlyphs):
LayoutTests:
Unskip failed vertical text layout tests.
- platform/ios-wk2/TestExpectations:
- 7:49 PM Changeset in webkit [292197] by
-
- 171 edits1 copy in trunk
Prepare WebKit/ & WebKitLegacy/ for making the String(const char*) constructor explicit
https://bugs.webkit.org/show_bug.cgi?id=238525
Reviewed by Darin Adler.
Source/WebCore:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::createOrMigrateRecordsTableIfNecessary):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidBlobTables):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidIndexRecordsRecordIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidObjectStoreInfoTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::databaseNameAndVersionFromFile):
- Modules/model-element/scenekit/SceneKitModelLoaderUSD.mm:
(WebCore::writeToTemporaryFile):
- Modules/webdatabase/Database.cpp:
(WebCore::Database::performOpenAndVerify):
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::trackerDatabasePath const):
(WebCore::DatabaseTracker::openTrackerDatabase):
- bindings/js/GCController.cpp:
(WebCore::GCController::dumpHeap):
- contentextensions/SerializedNFA.cpp:
(WebCore::ContentExtensions::SerializedNFA::serialize):
- contentextensions/URLFilterParser.cpp:
(WebCore::ContentExtensions::URLFilterParser::addPattern):
- contentextensions/URLFilterParser.h:
- loader/ResourceLoadStatistics.cpp:
(WebCore::appendBoolean):
- page/SecurityOriginData.cpp:
(WebCore::SecurityOriginData::fromDatabaseIdentifier):
- page/SecurityOriginData.h:
- platform/graphics/cg/ImageUtilitiesCG.cpp:
(WebCore::transcodeImage):
- platform/ios/PlatformEventFactoryIOS.mm:
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
- platform/network/BlobRegistryImpl.cpp:
(WebCore::BlobRegistryImpl::writeBlobsToTemporaryFilesForIndexedDB):
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::tableExists):
(WebCore::SQLiteDatabase::tableSQL):
(WebCore::SQLiteDatabase::indexSQL):
(WebCore::SQLiteDatabase::inMemoryPath): Deleted.
- platform/sql/SQLiteDatabase.h:
(WebCore::SQLiteDatabase::inMemoryPath):
- platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::appendDatabaseFileNameToPath):
(WebCore::SQLiteFileSystem::computeHashForFileName):
- platform/sql/SQLiteFileSystem.h:
Source/WebKit:
- GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::workQueueInitialize):
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::appendBoolean):
(WebKit::ResourceLoadStatisticsDatabaseStore::getSubStatisticStatement const):
(WebKit::ResourceLoadStatisticsDatabaseStore::appendSubStatisticList const):
(WebKit::ResourceLoadStatisticsDatabaseStore::resourceToString const):
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
(WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
- NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deletePushAndNotificationRegistration):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::logCookieInformation const):
(WebKit::logBlockedCookieInformation):
(WebKit::logCookieInformationInternal):
(WebKit::NetworkResourceLoader::logCookieInformation):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.cpp:
(WebKit::PCM::Database::clearPrivateClickMeasurement):
(WebKit::PCM::Database::addDestinationTokenColumnsIfNecessary):
(WebKit::PCM::Database::columnsForTable):
(WebKit::PCM::Database::addMissingColumnToTable):
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h:
- NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::getSignedUnlinkableTokenForDestination):
(WebKit::PrivateClickMeasurementManager::handleAttribution):
- NetworkProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::databasePath const):
- NetworkProcess/WebStorage/LocalStorageDatabaseTracker.h:
- NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
(WebKit::NetworkCache::BlobStorage::get):
- NetworkProcess/cache/NetworkCacheData.cpp:
(WebKit::NetworkCache::mapFile):
- NetworkProcess/cache/NetworkCacheData.h:
- NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:
(WebKit::LaunchServicesDatabaseObserver::handleEvent):
- NetworkProcess/storage/SQLiteStorageArea.cpp:
(WebKit::SQLiteStorageArea::createTableIfNecessary):
- Platform/IPC/JSIPCBinding.cpp:
(IPC::jsValueForDecodedArgumentValue):
- Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.cpp.erb:
- Scripts/PreferencesTemplates/WebPreferencesInternalDebugFeatures.cpp.erb:
- Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(encodeObject):
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
(replyBlockSignature):
(-[_WKRemoteObjectRegistry _invokeMethod:]):
- Shared/Cocoa/SandboxExtensionCocoa.mm:
(WebKit::stringByResolvingSymlinksInPath):
(WebKit::resolveAndCreateReadWriteDirectoryForSandboxExtension):
(WebKit::resolvePathForSandboxExtension):
(WebKit::SandboxExtension::createHandleWithoutResolvingPath):
(WebKit::SandboxExtension::createHandle):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
(WebKit::SandboxExtension::createHandleForTemporaryFile):
(WebKit::SandboxExtension::createHandleForReadByAuditToken):
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:
(WebKit::XPCServiceInitializerDelegate::getClientIdentifier):
(WebKit::XPCServiceInitializerDelegate::getClientBundleIdentifier):
(WebKit::XPCServiceInitializerDelegate::getClientProcessName):
(WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceMain):
- Shared/IPCTester.cpp:
(WebKit::messageTestDriver):
- Shared/InspectorExtensionTypes.cpp:
(Inspector::extensionErrorToString):
- Shared/SandboxExtension.h:
(WebKit::SandboxExtension::createHandle):
(WebKit::SandboxExtension::createHandleWithoutResolvingPath):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
(WebKit::SandboxExtension::createHandleForTemporaryFile):
(WebKit::stringByResolvingSymlinksInPath):
(WebKit::resolvePathForSandboxExtension):
(WebKit::resolveAndCreateReadWriteDirectoryForSandboxExtension):
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::sandboxDataVaultParentDirectory):
(WebKit::getUserDirectorySuffix):
(WebKit::populateSandboxInitializationParameters):
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebKeyboardEvent):
- UIProcess/API/APIContentRuleListStore.cpp:
(API::openAndMapContentRuleList):
- UIProcess/API/C/WKDownloadRef.cpp:
(WKDownloadSetClient):
- UIProcess/API/C/WKPage.cpp:
(WKPageGetSessionHistoryURLValueType):
(WKPageGetSessionBackForwardListItemValueType):
(WKPageSetPageUIClient):
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesCreate):
(WKPreferencesCreateWithIdentifier):
- UIProcess/API/Cocoa/APIContentRuleListStoreCocoa.mm:
(API::ContentRuleListStore::defaultStorePath):
- UIProcess/API/Cocoa/WKContentRuleListStore.mm:
(+[WKContentRuleListStore storeWithURL:]):
(+[WKContentRuleListStore storeWithURLAndLegacyFilename:]):
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences init]):
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::getLaunchOptions):
- UIProcess/Cocoa/SOAuthorization/SubFrameSOAuthorizationSession.mm:
(WebKit::SubFrameSOAuthorizationSession::loadRequestToFrame):
- UIProcess/Cocoa/WebKitSwiftSoftLink.mm:
(WebKit::WebKitSwiftLibrary):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions):
- UIProcess/Cocoa/WebViewImpl.mm:
(-[WKTextTouchBarItemController _wkChangeTextStyle:]):
(-[WKTextTouchBarItemController _wkChangeTextAlignment:]):
(-[WKTextTouchBarItemController _wkChangeColor:]):
(WebKit::WebViewImpl::insertText):
- UIProcess/DeviceIdHashSaltStorage.cpp:
(WebKit::getSecurityOriginData):
(WebKit::DeviceIdHashSaltStorage::getDataFromDecoder const):
(WebKit::DeviceIdHashSaltStorage::createEncoderFromData const):
- UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/Network/NetworkProcessProxyCocoa.mm:
(WebKit::NetworkProcessProxy::XPCEventHandler::handleXPCEvent const):
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest):
- UIProcess/ViewGestureController.cpp:
(WebKit::ViewGestureController::SnapshotRemovalTracker::log const):
(WebKit::ViewGestureController::SnapshotRemovalTracker::reset):
(WebKit::ViewGestureController::SnapshotRemovalTracker::stopWaitingForEvent):
(WebKit::ViewGestureController::SnapshotRemovalTracker::eventOccurred):
(WebKit::ViewGestureController::SnapshotRemovalTracker::cancelOutstandingEvent):
(WebKit::ViewGestureController::SnapshotRemovalTracker::fireRemovalCallbackIfPossible):
(WebKit::stopWaitingForEvent): Deleted.
- UIProcess/ViewGestureController.h:
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
- UIProcess/WebAuthentication/Virtual/VirtualAuthenticatorUtils.mm:
(WebKit::base64PrivateKey):
- UIProcess/WebAuthentication/Virtual/VirtualHidConnection.cpp:
(WebKit::VirtualHidConnection::parseRequest):
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::handleRequest):
- UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::WebPageGroup):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::createRealtimeMediaSourceForSpeechRecognition):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::didReceiveInvalidMessage):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::notifyPageStatisticsAndDataRecordsProcessed):
(WebKit::WebProcessProxy::notifyWebsiteDataScanForRegistrableDomainsFinished):
(WebKit::WebProcessProxy::notifyWebsiteDataDeletionForRegistrableDomainsFinished):
(WebKit::WebProcessProxy::createSpeechRecognitionServer):
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::defaultApplicationCacheDirectory):
(WebKit::WebsiteDataStore::defaultCacheStorageDirectory):
(WebKit::WebsiteDataStore::defaultGeneralStorageDirectory):
(WebKit::WebsiteDataStore::defaultNetworkCacheDirectory):
(WebKit::WebsiteDataStore::defaultAlternativeServicesDirectory):
(WebKit::WebsiteDataStore::defaultMediaCacheDirectory):
(WebKit::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
(WebKit::WebsiteDataStore::defaultServiceWorkerRegistrationDirectory):
(WebKit::WebsiteDataStore::defaultLocalStorageDirectory):
(WebKit::WebsiteDataStore::defaultMediaKeysStorageDirectory):
(WebKit::WebsiteDataStore::defaultDeviceIdHashSaltsStorageDirectory):
(WebKit::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(WebKit::WebsiteDataStore::defaultResourceLoadStatisticsDirectory):
(WebKit::WebsiteDataStore::defaultJavaScriptConfigurationDirectory):
(WebKit::WebsiteDataStore::defaultModelElementCacheDirectory):
(WebKit::WebsiteDataStore::tempDirectoryFileSystemRepresentation):
(WebKit::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(WebKit::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataAndApply):
- WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::formatNameFromWebRTCCodecType):
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetComposition):
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::increaseBufferedAmount):
- WebProcess/Network/WebSocketStream.cpp:
(WebKit::WebSocketStream::networkProcessCrashed):
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::receivedNonLinearizedPDFSentinel):
(WebKit::PDFPlugin::threadEntry):
(WebKit::PDFPlugin::adoptBackgroundThreadDocument):
(WebKit::PDFPlugin::pluginInfo):
(WebKit::PDFPlugin::addArchiveResource):
(WebKit::PDFPlugin::setSuggestedFilename):
(WebKit::PDFPlugin::initialize):
- WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::cssAlignmentValueForNSTextAlignment):
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::loadURL):
- WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
(WebKit::WebAuthenticatorCoordinator::makeCredential):
(WebKit::WebAuthenticatorCoordinator::getAssertion):
- WebProcess/WebCoreSupport/WebFileSystemStorageConnection.cpp:
(WebKit::WebFileSystemStorageConnection::isSameEntry):
(WebKit::WebFileSystemStorageConnection::getFileHandle):
(WebKit::WebFileSystemStorageConnection::getDirectoryHandle):
(WebKit::WebFileSystemStorageConnection::removeEntry):
(WebKit::WebFileSystemStorageConnection::resolve):
(WebKit::WebFileSystemStorageConnection::getFile):
(WebKit::WebFileSystemStorageConnection::createSyncAccessHandle):
(WebKit::WebFileSystemStorageConnection::closeSyncAccessHandle):
(WebKit::WebFileSystemStorageConnection::getHandleNames):
(WebKit::WebFileSystemStorageConnection::getHandle):
(WebKit::WebFileSystemStorageConnection::move):
- WebProcess/WebCoreSupport/WebSpeechSynthesisClient.cpp:
(WebKit::WebSpeechSynthesisClient::speak):
- WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::changeWordCase):
- WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::JSMessageListener::jsDescriptionFromDecoder):
(IPC::jsValueForDecodedArgumentValue):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::layerTreeAsText const):
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::transientZoomSnapAnimationForKeyPath):
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
- WebProcess/cocoa/LaunchServicesDatabaseManager.mm:
(WebKit::LaunchServicesDatabaseManager::handleEvent):
- webpushd/AppBundleRequest.mm:
(WebPushD::AppBundleDeletionRequest::didDeleteExistingBundleWithError):
- webpushd/PushClientConnection.h:
- webpushd/PushClientConnection.mm:
(WebPushD::ClientConnection::broadcastDebugMessage):
(WebPushD::ClientConnection::sendDebugMessage):
- webpushd/WebPushDaemon.h:
- webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::broadcastDebugMessage):
(WebPushD::Daemon::deletePushAndNotificationRegistration):
- webpushd/WebPushDaemonMain.mm:
(WebKit::WebPushDaemonMain):
Source/WebKitLegacy:
- Storage/StorageTracker.cpp:
(WebKit::StorageTracker::tracker):
Source/WebKitLegacy/cf:
- WebCoreSupport/WebInspectorClientCF.cpp:
(WebInspectorClient::setInspectorAttachDisabled):
(WebInspectorClient::setInspectorStartsAttached):
Source/WebKitLegacy/mac:
- History/HistoryPropertyList.mm:
(HistoryPropertyListWriter::writeObjects):
- WebCoreSupport/WebApplicationCache.mm:
(webApplicationCacheStorage):
- WebCoreSupport/WebSecurityOrigin.mm:
(WebCore::SecurityOriginData::fromDatabaseIdentifier):
- WebView/WebHTMLView.mm:
(createSelectorExceptionMap):
(-[WebHTMLView coreCommandByName:]):
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]):
(-[WebHTMLView insertText:]):
- WebView/WebView.mm:
(+[WebView _decodeData:]):
Source/WTF:
- wtf/FileSystem.h:
(WTF::FileSystemImpl::openTemporaryFile):
- wtf/cocoa/FileSystemCocoa.mm:
(WTF::FileSystemImpl::openTemporaryFile):
- wtf/glib/FileSystemGlib.cpp:
(WTF::FileSystemImpl::openTemporaryFile):
- wtf/posix/FileSystemPOSIX.cpp:
(WTF::FileSystemImpl::openTemporaryFile):
- wtf/win/FileSystemWin.cpp:
(WTF::FileSystemImpl::openTemporaryFile):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[BlobWithUSDZExtensionDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
- TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm:
(runTest):
(createDirectories):
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
- 7:16 PM Changeset in webkit [292196] by
-
- 3 edits in trunk/Tools
Update Speedometer plan files.
https://bugs.webkit.org/show_bug.cgi?id=238645
Reviewed by Saam Barati.
- Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan:
- Scripts/webkitpy/benchmark_runner/data/plans/speedometer2.plan:
- 7:13 PM Changeset in webkit [292195] by
-
- 2 edits in trunk/Source/WebKit
Player window shouldn't have black bar when going into fullscreen
https://bugs.webkit.org/show_bug.cgi?id=238592
rdar://91085981
Reviewed by Tim Horton.
Set the window size to the video element size when going fullscreen and
restore the original window size when coming out of it.
Manually tested.
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):
- 6:52 PM Changeset in webkit [292194] by
-
- 3 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo-wk1/TestExpectations:
- platform/wincairo/TestExpectations:
- 6:25 PM Changeset in webkit [292193] by
-
- 58 edits in trunk/Source
Adopt Identifier::fromString(ASCIILiteral) more broadly
https://bugs.webkit.org/show_bug.cgi?id=238574
Reviewed by Darin Adler.
Adopt Identifier::fromString(ASCIILiteral) more broadly, now that it is very efficient.
Source/JavaScriptCore:
- API/JSBase.cpp:
(JSGetMemoryUsageStatistics):
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result:
- Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result:
- Scripts/wkbuiltins/builtins_model.py:
(BuiltinFunction.fromString):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitThrowReferenceError):
(JSC::BytecodeGenerator::emitThrowTypeError):
(JSC::BytecodeGenerator::emitRequireObjectCoercible):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::ThrowableExpressionData::emitThrowReferenceError):
- inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::JSInjectedScriptHostPrototype::finishCreation):
- inspector/JSJavaScriptCallFramePrototype.cpp:
(Inspector::JSJavaScriptCallFramePrototype::finishCreation):
- jsc.cpp:
(JSC_DEFINE_CUSTOM_SETTER):
(JSCMemoryFootprint::finishCreation):
(JSCMemoryFootprint::addProperty):
(JSC_DEFINE_HOST_FUNCTION):
- parser/Nodes.h:
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
- runtime/ConsoleObject.cpp:
(JSC::ConsoleObject::finishCreation):
- runtime/Identifier.cpp:
(JSC::Identifier::add): Deleted.
- runtime/Identifier.h:
- runtime/IdentifierInlines.h:
(JSC::Identifier::fromCString):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatPrototype::finishCreation):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototype::finishCreation):
- runtime/IntlObject.cpp:
(JSC::IntlObject::finishCreation):
- runtime/JSObject.cpp:
(JSC::JSObject::reifyAllStaticProperties):
- runtime/JSObject.h:
(JSC::makeIdentifier):
- runtime/JSObjectInlines.h:
(JSC::JSObject::getNonReifiedStaticPropertyNames):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::JSTypedArrayViewPrototype::finishCreation):
- runtime/ProxyConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::ProxyConstructor::finishCreation):
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::JSC_DEFINE_HOST_FUNCTION):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
- tools/JSDollarVM.cpp:
(JSC::JSDollarVM::finishCreation):
(JSC::JSDollarVM::addFunction):
(JSC::JSDollarVM::addConstructibleFunction):
- tools/JSDollarVM.h:
- wasm/js/JSWebAssembly.cpp:
(JSC::JSWebAssembly::finishCreation):
Source/WebCore:
- Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::update):
- bridge/testbindings.cpp:
(main):
- bridge/testbindings.mm:
(main):
- crypto/SubtleCrypto.cpp:
(WebCore::normalizeCryptoAlgorithmParameters):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updatePageScaleFactorJSProperty):
(WebCore::HTMLMediaElement::updateUsesLTRUserInterfaceLayoutDirectionJSProperty):
(WebCore::HTMLMediaElement::setControllerJSProperty):
(WebCore::HTMLMediaElement::setMediaControlsMaximumRightContainerButtonCountOverride):
(WebCore::HTMLMediaElement::setMediaControlsHidePlaybackRates):
- html/HTMLMediaElement.h:
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld):
(WebCore::InspectorFrontendHost::showContextMenu):
- inspector/WebInjectedScriptHost.cpp:
(WebCore::constructInternalProperty):
(WebCore::objectForPaymentOptions):
(WebCore::objectForPaymentCurrencyAmount):
(WebCore::objectForPaymentItem):
(WebCore::objectForPaymentShippingOption):
(WebCore::objectForPaymentDetailsModifier):
(WebCore::objectForPaymentDetails):
(WebCore::objectForEventTargetListeners):
- inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas):
- inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
- inspector/agents/page/PageAuditAgent.cpp:
(WebCore::PageAuditAgent::populateAuditObject):
- testing/Internals.cpp:
- testing/Internals.h:
- worklets/PaintWorkletGlobalScope.cpp:
(WebCore::PaintWorkletGlobalScope::registerPaint):
Source/WebKit:
- WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::jsResultFromReplyDecoder):
(WebKit::IPCTestingAPI::createJSArrayForArgumentDescriptions):
(WebKit::IPCTestingAPI::JSIPC::messages):
(WebKit::IPCTestingAPI::JSMessageListener::jsDescriptionFromDecoder):
(WebKit::IPCTestingAPI::inject):
- 6:13 PM Changeset in webkit [292192] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r292127): [ BigSur+ wk1 ] imported/w3c/web-platform-tests/css/css-contain/contain-body-overflow-002.html is a constant image failure
https://bugs.webkit.org/show_bug.cgi?id=238642
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 5:33 PM Changeset in webkit [292191] by
-
- 30 edits1 copy2 deletes in trunk/Source/JavaScriptCore
[JSC] Remove ExecutableToCodeBlockEdge
https://bugs.webkit.org/show_bug.cgi?id=238485
Reviewed by Keith Miller.
It turned out that getting CodeBlock from JSFunction is critical. As we start using unlinked Baseline, we are loading
CodeBlock from JSFunction instead of embedding it, and it roughly contributes to 0.5% regression in Speedometer2.
It is also crucial to some other places: bound function thunk, remote function thunk, and virtual function calls.
While the subsequent patch will embed CodeBlock into CallLinkInfo to make it fast, we also would like to keep loading
CodeBlock from JSFunction faster since this is still used in bound function thunk etc.
In this patch, we remove ExecutableToCodeBlockEdge to remove one-level indirection between Executable to CodeBlock.
We can delegate ExecutableToCodeBlockEdge's job to existing Executables so that we can keep the current weak-edge
feature without introducing ExecutableToCodeBlockEdge. It also removes ExecutableToCodeBlockEdge allocations and
shrinks sizeof(CodeBlock) by 8 byte.
We move key functions from ExecutableToCodeBlockEdge to ScriptExecutable, and we maintain Executable-to-CodeBlock edge
in Executable side.
Local testing showed that 0.3% progression in Speedometer2.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::visitChildrenImpl):
(JSC::CodeBlock::visitChildren):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC::CodeBlock::finishCreationCommon): Deleted.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::ownerEdge const): Deleted.
- bytecode/ExecutableToCodeBlockEdge.cpp: Removed.
- bytecode/ExecutableToCodeBlockEdge.h: Removed.
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::deleteAllCodeBlocks):
(JSC::Heap::addCoreConstraints):
- heap/Heap.h:
(JSC::Heap::ScriptExecutableSpaceAndSet::ScriptExecutableSpaceAndSet):
(JSC::Heap::ScriptExecutableSpaceAndSet::setAndSpaceFor):
(JSC::Heap::ScriptExecutableSpaceAndSet::clearableCodeSetFor):
(JSC::Heap::ScriptExecutableSpaceAndSet::outputConstraintsSetFor):
(JSC::Heap::ScriptExecutableSpaceAndSet::finalizerSetFor):
- heap/IsoCellSet.h:
- jit/JIT.cpp:
(JSC::JIT::emitPutCodeBlockToFrameInPrologue):
- llint/LowLevelInterpreter.asm:
- runtime/DirectEvalExecutable.cpp:
(JSC::DirectEvalExecutable::create):
- runtime/EvalExecutable.cpp:
(JSC::EvalExecutable::visitChildrenImpl):
- runtime/EvalExecutable.h:
(JSC::EvalExecutable::codeBlock const):
(JSC::EvalExecutable::unlinkedCodeBlock const):
(JSC::EvalExecutable::numVariables):
(JSC::EvalExecutable::numFunctionHoistingCandidates):
(JSC::EvalExecutable::numTopLevelFunctionDecls):
(JSC::EvalExecutable::allowDirectEvalCache const):
(JSC::EvalExecutable::codeBlock): Deleted.
- runtime/FunctionExecutable.cpp:
(JSC::FunctionExecutable::baselineCodeBlockFor):
(JSC::shouldKeepInConstraintSet):
(JSC::FunctionExecutable::visitChildrenImpl):
(JSC::FunctionExecutable::visitOutputConstraintsImpl):
- runtime/FunctionExecutable.h:
- runtime/FunctionExecutableInlines.h:
(JSC::FunctionExecutable::finalizeUnconditionally):
(JSC::FunctionExecutable::replaceCodeBlockWith):
(JSC::FunctionExecutable::toString):
- runtime/GlobalExecutable.cpp:
(JSC::GlobalExecutable::visitChildrenImpl):
(JSC::GlobalExecutable::visitOutputConstraintsImpl):
(JSC::GlobalExecutable::replaceCodeBlockWith):
(JSC::GlobalExecutable::finalizeUnconditionally):
- runtime/GlobalExecutable.h:
(JSC::GlobalExecutable::codeBlock const):
(JSC::GlobalExecutable::unlinkedCodeBlock const):
- runtime/IndirectEvalExecutable.cpp:
(JSC::IndirectEvalExecutable::createImpl):
- runtime/JSFunction.cpp:
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::link):
(JSC::JSModuleRecord::instantiateDeclarations):
- runtime/ModuleProgramExecutable.cpp:
(JSC::ModuleProgramExecutable::create):
(JSC::ModuleProgramExecutable::visitChildrenImpl):
- runtime/ModuleProgramExecutable.h:
- runtime/ProgramExecutable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
(JSC::ProgramExecutable::visitChildrenImpl):
- runtime/ProgramExecutable.h:
- runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::clearCode):
(JSC::ScriptExecutable::installCode):
(JSC::ScriptExecutable::hasClearableCode const):
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::runConstraint):
(JSC::ScriptExecutable::visitCodeBlockEdge):
- runtime/ScriptExecutable.h:
- runtime/ScriptExecutableInlines.h: Copied from Source/JavaScriptCore/runtime/FunctionExecutableInlines.h.
(JSC::ScriptExecutable::finalizeCodeBlockEdge):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
(JSC::VM::executableToCodeBlockEdgesWithConstraints): Deleted.
(JSC::VM::executableToCodeBlockEdgesWithFinalizers): Deleted.
- 5:28 PM Changeset in webkit [292190] by
-
- 13 edits in trunk
[GPU Process] [iOS] Text decoration is always drawn with solid stroke style
https://bugs.webkit.org/show_bug.cgi?id=236909
rdar://89196615
Reviewed by Simon Fraser.
Source/WebCore:
Pass the missing StrokeStyle parameter to the DrawLinesForText item and
to the recorder methods: drawLinesForText() and recordDrawLinesForText().
- platform/graphics/GraphicsTypes.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawLinesForText::DrawLinesForText):
(WebCore::DisplayList::DrawLinesForText::apply const):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawLinesForText::style const):
(WebCore::DisplayList::DrawLinesForText::encode const):
(WebCore::DisplayList::DrawLinesForText::decode):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawLinesForText):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::recordDrawLinesForText):
- platform/graphics/displaylists/DisplayListRecorderImpl.h:
Source/WebKit:
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordDrawLinesForText):
- WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
LayoutTests:
Unskip failed text decoration layout tests.
- platform/ios-wk2/TestExpectations:
- 5:22 PM Changeset in webkit [292189] by
-
- 2 edits in trunk/Source/WebCore
Fix unused parameter warning in AccessibilityObject::previousLineStartPosition when !ENABLE(ACCESSIBILITY)
https://bugs.webkit.org/show_bug.cgi?id=238629
Reviewed by Yusuke Suzuki.
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::previousLineStartPosition const):
- 5:14 PM Changeset in webkit [292188] by
-
- 9 edits2 adds1 delete in trunk
Unreviewed, reverting r292183.
https://bugs.webkit.org/show_bug.cgi?id=238639
Broke the Big Sur build
Reverted changeset:
"[XCBuild] WebKitLegacy's "Migrated headers" script does not
emit task information"
https://bugs.webkit.org/show_bug.cgi?id=238409
https://commits.webkit.org/r292183
Patch by Commit Queue <commit-queue@webkit.org> on 2022-03-31
- 4:10 PM Changeset in webkit [292187] by
-
- 6 edits in trunk/LayoutTests
Unreviewed test gardening.
We had some confusing test expectations as a result of iPad-unique failures. Move those failures into
ipad/TestExpectations and leave ios* TestExpectation clear.
- platform/ios-simulator/TestExpectations:
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations: Additional test progressions.
- platform/ipad/TestExpectations:
- platform/mac-wk2/TestExpectations: Be more specific in related test failures on Mac.
- 3:23 PM Changeset in webkit [292186] by
-
- 2 edits in trunk/Tools
Unreviewed infrastructure fix.
- CISupport/ews-build/config.json: Temporarily remove ews105 due to hardware failure.
- 3:09 PM Changeset in webkit [292185] by
-
- 5 edits in trunk
Unreviewed, reverting r292119.
https://bugs.webkit.org/show_bug.cgi?id=238638
New API test is flaky
Reverted changeset:
"Avoid initializing default WKWebsiteDataStore in
-[WKWebViewConfiguration copyWithZone]"
https://bugs.webkit.org/show_bug.cgi?id=238531
https://commits.webkit.org/r292119
- 2:58 PM Changeset in webkit [292184] by
-
- 6 edits in trunk/Source
[iOS] Add support for temporarily installing VKCImageAnalysisInteraction on WKContentView
https://bugs.webkit.org/show_bug.cgi?id=238582
Reviewed by Tim Horton.
Source/WebCore/PAL:
Soft link against the image analysis interaction class.
- pal/cocoa/VisionKitCoreSoftLink.h:
- pal/cocoa/VisionKitCoreSoftLink.mm:
Source/WebKit:
Add helper methods for temporarily creating and installing an image analysis interaction on the root view. See
below for more details.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView hasSelectablePositionAtPoint:]):
(-[WKContentView pointIsNearMarkedText:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
If Live Text exists at the given location, suppress default WebKit text selection behaviors in favor of Live
Text instead.
(-[WKContentView _singleTapRecognized:]):
Since we only allow the image analysis interaction to begin when interacting directly with regions of the
content view that contain Live Text, we need to (manually) clear the native text selection here when handling a
tap over other parts of the web view that are not covered by Live Text.
(-[WKContentView _didCommitLoadForMainFrame]):
Uninstall the interaction when loading a new page.
(-[WKContentView gestureRecognizer:shouldIgnoreWebTouchWithEvent:]):
(-[WKContentView deferringGestureRecognizer:willBeginTouchesWithEvent:]):
Don't allow touch events to even begin, if the gesture starts over a region of Live Text.
(-[WKContentView _tearDownImageAnalysis]):
Uninstall the interaction when the web process terminates or swaps.
(-[WKContentView installImageAnalysisInteraction:]):
(-[WKContentView uninstallImageAnalysisInteraction]):
These are the two main helper methods for adding or removing the image analysis interaction.
(-[WKContentView contentsRectForImageAnalysisInteraction:]):
(-[WKContentView imageAnalysisInteraction:shouldBeginAtPoint:forAnalysisType:]):
Only allow Live Text interaction gestures to begin if there's interactable content at the given location. The
only reason why this isn't default behavior already is that the image analysis interaction handles taps that
happen outside of Live Text by clearing any active selection; to ensure that this continues to work, we handle
the tap ourselves, and clear the native selection directly (see-_singleTapRecognized:above).
- 2:56 PM Changeset in webkit [292183] by
-
- 9 edits1 add2 deletes in trunk
[XCBuild] WebKitLegacy's "Migrated headers" script does not emit task information
https://bugs.webkit.org/show_bug.cgi?id=238409
<rdar://problem/90869551>
Reviewed by Alexey Proskuryakov.
Source/WebKit:
- WebKit.xcodeproj/project.pbxproj: Small build rule fix to prevent "no rule to process
file" warnings on every generated forwarding header. This happened because the build rule
that generates these temporary forwarding headers looked like it was supposed to _process_
those headers, too.
Source/WebKitLegacy:
Like r291809, replace MigrateHeaders.make with a "Migrated Headers" group in
WebKitLegacy.xcodeproj, and use a build rule to rewrite the headers at build-time. This
provides the build system with sufficient metadata to reason about the migrated headers and
when they need to be re-processed.
Since WebKitLegacy uses an export symbols list, run tapi-reexport on each migrated header as
it is processed. In the "Generate Export Files" phase, stitch these together to form the
EXPORTED_SYMBOLS_FILE given to the linker.
- scripts/migrate-header-rule: Added. Runs sed and tapi-reexport on headers as they are
migrated. For tapi, include <TargetConditionals.h> so that TARGET_OS_* declarations get
resolved according to the target triple. This was not needed in the Make-based approach
because it processed all the headers in one invocation, and one of them imports
TargetConditionals early enough that it affects the others.
Running one tapi instance per header is obviously more overhead, but on a sufficiently
multicore machine it should be faster than blocking WebKitLegacy's build process on the
Make-based script phase.
- WebKitLegacy.xcodeproj/project.pbxproj: Delete script phases, add "Migrated Headers" group
and build rule. Add a legacy-only "Install Headers" phase which launches a child xcodebuild
to install headers using the new build system. Unlike prior implementations in WebKit, WTF,
and PAL, the child xcodebuild needs access to existing build products so that clang (via
tapi) can import them. Do this by populating the child xcodebuild's SYMROOT with symlinks to
the real build products.
Source/WebKitLegacy/mac:
- Configurations/WebKitLegacy.xcconfig: Use EXCLUDED_SOURCE_FILE_NAMES and
INCLUDED_SOURCE_FILE_NAMES to control which headers are exported. Set
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES, so that the "Generate Export Files" phase can
depend on the whole directory of reexport files and be invoked when any of them change.
- MigrateHeaders.make: Removed.
Tools:
- Scripts/check-for-inappropriate-files-in-framework: We were relying on a script to create
an (empty) WebKitLegacy.framework/Headers directory, which was being scanned here.
WebKitLegacy is entirely private API, so change it to check PrivateHeaders/.
- 2:53 PM Changeset in webkit [292182] by
-
- 2 edits in trunk
[PlayStation] Enable more features by default
https://bugs.webkit.org/show_bug.cgi?id=238628
Reviewed by Fujii Hironori.
Move ENABLE_WEB_CRYPTO and add ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION
and ENABLE_NETWORK_CACHE_STALE_WHILE_REVALIDATE to the list of features on by default.
- Source/cmake/OptionsPlayStation.cmake:
- 2:50 PM Changeset in webkit [292181] by
-
- 10 edits2 adds in trunk
Web Inspector: Support Container Queries in the Styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=238346
Reviewed by Devin Rousso.
Source/JavaScriptCore:
Add new
container-ruletype forCSS::Grouping::Type.
- inspector/protocol/CSS.json:
Source/WebCore:
Test: inspector/css/getMatchedStylesForNodeContainerGrouping.html
Add basic support to Web Inspector for viewing styles in
@containerrules.
- css/CSSContainerRule.cpp:
(WebCore::CSSContainerRule::nameFilterText const):
- css/CSSContainerRule.h:
- Provide a way to get the name that is used to filter the rule to specific containers.
- inspector/InspectorStyleSheet.cpp:
(flattenSourceData):
- In order to prevent future rule types from being added without some consideration for how they are inspected,
use an exhaustive switch-case statement here. This will at minimum allow us to make sure we have opened a bug
and put a FIXME here for new values in the future.
(WebCore::asCSSRuleList):
(WebCore::buildArrayForGroupings):
- style/InspectorCSSOMWrappers.cpp:
(WebCore::Style::InspectorCSSOMWrappers::collect):
Source/WebInspectorUI:
- UserInterface/Models/CSSGrouping.js:
(WI.CSSGrouping.prototype.get isContainer):
(WI.CSSGrouping.prototype.get prefix):
(WI.CSSGrouping):
LayoutTests:
- inspector/css/getMatchedStylesForNodeContainerGrouping-expected.txt: Added.
- inspector/css/getMatchedStylesForNodeContainerGrouping.html: Added.
- 2:35 PM Changeset in webkit [292180] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r292051-r292022): [ iOS ] media/video-object-fit.html is a constant image failure
https://bugs.webkit.org/show_bug.cgi?id=238634
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 2:31 PM Changeset in webkit [292179] by
-
- 24 edits in branches/safari-614.1.8-branch/Source
Cherry-pick r291978. rdar://problem/90497026
Some Apple internal clients fail to build due to redeclared AppKit types in WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=238368
Patch by Ian Anderson <iana@apple.com> on 2022-03-28
Reviewed by Jonathan Bedard.
Source/WebCore:
Some Apple internal Mac Catalyst clients need to use both AppKit and
WebKitLegacy. WebKitLegacy's redeclaration of AppKit types causes errors
for those clients. Copy AppKit's Apple internal logic for identifying
the special Mac Catalyst clients that are allowed to use the AppKit
types, and when such clients use WebKitLegacy, don't redeclare the
AppKit types.
- platform/ios/KeyEventCodesIOS.h:
- platform/ios/wak/WAKAppKitStubs.h:
- platform/ios/wak/WAKView.h:
- platform/ios/wak/WAKWindow.h:
Source/WebKitLegacy/ios:
WebKitLegacy can't always define NSView to WAKView in Mac Catalyst, but
views are always WAKView in Mac Catalyst. Switch on TARGET_OS_IPHONE to
declare WAKView explicitly.
- WebView/WebUIKitDelegate.h:
Source/WebKitLegacy/mac:
WebKitLegacy can't always define NSClipView/NSView/NSScrollView/
NSWindow/NSResponder to their WAK counterparts in Mac Catalyst, but
those types are always the WAK ones in Mac Catalyst. Switch on
TARGET_OS_IPHONE to declare the WAK types explicitly.
- Misc/WebDownload.h:
- Misc/WebNSViewExtras.h:
- Plugins/WebPluginDatabase.h:
- WebView/WebDocument.h:
- WebView/WebDocumentPrivate.h:
- WebView/WebFramePrivate.h:
- WebView/WebFrameView.h: (WEBKIT_CLASS_DEPRECATED_MAC):
- WebView/WebFrameViewPrivate.h:
- WebView/WebHTMLRepresentation.h:
- WebView/WebHTMLRepresentationPrivate.h:
- WebView/WebHTMLView.h:
- WebView/WebHTMLViewPrivate.h:
- WebView/WebUIDelegate.h:
- WebView/WebUIDelegatePrivate.h:
- WebView/WebView.h: (WEBKIT_CLASS_DEPRECATED_MAC):
- WebView/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:27 PM Changeset in webkit [292178] by
-
- 3 edits in trunk/LayoutTests
REGRESSION(r292072): [ Mac iOS ] http/tests/webAPIStatistics/canvas-read-and-write-data-collection.html is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=238580
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 2:22 PM Changeset in webkit [292177] by
-
- 5 edits in branches/safari-613-branch/Source/WebKit
Apply patch. rdar://problem/90957287
- 2:22 PM Changeset in webkit [292176] by
-
- 20 edits3 adds in branches/safari-613-branch
Apply patch. rdar://problem/90957317
- 2:19 PM Changeset in webkit [292175] by
-
- 3 edits in trunk/Source/WebKit
null check page in API::DataTask constructor
https://bugs.webkit.org/show_bug.cgi?id=238632
<rdar://90936679>
Reviewed by Tim Horton.
If the page is deallocated between the request to make a data task and the completion providing
the data task to the API client, we don't want to crash.
- UIProcess/API/APIDataTask.cpp:
(API::DataTask::cancel):
(API::DataTask::DataTask):
(API::m_sessionID):
- UIProcess/API/APIDataTask.h:
- 2:03 PM Changeset in webkit [292174] by
-
- 3 edits in branches/safari-614.1.8-branch/Source/WebCore
Cherry-pick r291983. rdar://problem/90706660
Accessing WebGL content crashes in macOS Recovery OS, workaround 2
https://bugs.webkit.org/show_bug.cgi?id=238448
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-28
Reviewed by Dean Jackson.
Add a two new quick workarounds to try fix a recovery OS crash when
WebKit tries to use ANGLE that is not present in the OS image.
Compare explicitly against NULL as instructed in weak linking documentation.
Check for the EGL_GetPlatformDisplayEXT, this is nullptr in the
recovery OS.
Remove the previous workaround. The environment variable is
not available in WP or GPUP. The Metal symbol is not the problem.
- platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::platformSupportsMetal): (WebCore::initializeEGLDisplay):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:03 PM Changeset in webkit [292173] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r292107): [ Mac iOS ] http/tests/paymentrequest/updateWith-shippingOptions.https.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=238581
<rdar://problem/91074265>
Unreviewed, adjust test results. This test is expected to fail pre macOS 12.3 and iOS 15.4.
Patch by Devin Rousso <Devin Rousso> on 2022-03-31
- http/tests/paymentrequest/updateWith-shippingOptions.https-expected.txt:
- 2:02 PM Changeset in webkit [292172] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Sources: the mapped file URL of a Respone Local Override should wrap
https://bugs.webkit.org/show_bug.cgi?id=238625
Patch by Devin Rousso <Devin Rousso> on 2022-03-31
Reviewed by Patrick Angle.
- UserInterface/Views/ResourceContentView.js:
(WI.ResourceContentView.prototype._handleMappedFilePathChanged):
Long file paths should be wrappable so the text doesn't overflow the content area.
- 1:55 PM Changeset in webkit [292171] by
-
- 2 edits in trunk/Source/WebKit
Expand adattributiond sandbox slightly to avoid sandbox crashes
https://bugs.webkit.org/show_bug.cgi?id=238609
<rdar://91073280>
Reviewed by Per Arne Vollan.
- Resources/SandboxProfiles/ios/com.apple.WebKit.adattributiond.sb.in:
- 1:43 PM Changeset in webkit [292170] by
-
- 2 edits in trunk/Websites/bugs.webkit.org
[Bugzilla] Code reviews show non-ASCII characters in patches as garbage
https://bugs.webkit.org/show_bug.cgi?id=238630
Reviewed by Aakash Jain and Darin Adler.
We have a convention that our sources (and therefore our patches) in WebKit are UTF-8.
The output of prettify.rb is also UTF-8. So, we just need to tell Perl that, when it
reads the output of prettify.rb, it just needs to understand that the data it's reading
is UTF-8.
- attachment.cgi:
(prettyPatch):
- 1:37 PM Changeset in webkit [292169] by
-
- 1 edit in trunk/Tools/CISupport/ews-build/config.json
[EWS] Dedicate one bot to the iOS 15 device builder queue
https://bugs.webkit.org/show_bug.cgi?id=238619
Reviewed by Aakash Jain.
Currently, we share bots between the iOS 15 device and simulator EWS build queues.
Since the simulator queue triggers tests, buildbot prioritizes it over the device queue,
causing a buildup of pending build requests. We should dedicate at least one bot to the
device queue so it is always making progress.
- CISupport/ews-build/config.json: Dedicate ews109.
Canonical link: https://commits.webkit.org/249076@main
- 1:12 PM Changeset in webkit [292168] by
-
- 2 edits in trunk/Source/WebKit
[WinCairo][WK2] fast/events/wheel/wheelevent-basic.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=238590
Reviewed by Don Olmstead.
This issue happened only if SPI_GETWHEELSCROLLLINES was less than
- If I changed "Choose how many lines to scroll each time" to 1
or 2 in Windows Settings, this test passed.
- Shared/win/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebWheelEvent): Changed local
variables to float not to truncate the wheel delta.
- 1:07 PM Changeset in webkit [292167] by
-
- 4 edits in trunk/Tools
Some API tests are missing header imports
https://bugs.webkit.org/show_bug.cgi?id=238588
Reviewed by Alexey Proskuryakov.
I attempted to add a new API test which changed the source files that are compiled in each
UnifiedSource file. This revealed that some existing API tests were only compiling successfully
because they relied on headers being imported by other source files in the same UnifiedSource
compilation unit.
- TestWebKitAPI/Tests/WebKitCocoa/FileSystemAccess.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
- 1:05 PM Changeset in webkit [292166] by
-
- 2 edits in trunk/Tools
2022-03-31 Robert Jenner <Jenner@apple.com>
REGRESSION(r288464?):[ iOS15 Release GPUP arm64 ]TestWebKitAPI.GPUProcess.E xitsUnderMemoryPressureWebR TCCase is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=237854
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: (TEST): Disabling test while bug is under review.
- 1:00 PM Changeset in webkit [292165] by
-
- 2 edits in trunk/Source/WebKit
Add a placeholder for some additional Captive Portal mode settings
https://bugs.webkit.org/show_bug.cgi?id=238573
<rdar://problem/91064718>
Reviewed by Wenson Hsieh.
SSIA.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::adjustSettingsForCaptivePortal): Call new placeholder helper function.
- 12:52 PM Changeset in webkit [292164] by
-
- 4 edits1 copy2 adds in trunk/Tools
Add PlayStation WPEToolingBackend type
https://bugs.webkit.org/show_bug.cgi?id=238610
Reviewed by Adrian Perez de Castro.
Adds the implementation of HeadlessViewBackend for the WPE PlayStation backend.
- PlatformPlayStation.cmake:
- wpe/backends/CMakeLists.txt:
- wpe/backends/HeadlessViewBackend.h:
- wpe/backends/PlatformPlayStation.cmake: Added.
- wpe/backends/playstation/HeadlessViewBackendPlayStation.cpp: Copied from Tools/wpe/backends/HeadlessViewBackend.h.
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::backend const):
(WPEToolingBackends::HeadlessViewBackend::snapshot):
(WPEToolingBackends::HeadlessViewBackend::updateSnapshot):
(WPEToolingBackends::HeadlessViewBackend::vsync):
- 12:49 PM Changeset in webkit [292163] by
-
- 4 edits in trunk
[PlayStation] Enable WebDriver
https://bugs.webkit.org/show_bug.cgi?id=238615
Reviewed by Alex Christensen.
.:
Enable WebDriver by default. Set values for input interactions.
- Source/cmake/OptionsPlayStation.cmake:
Source/WebDriver:
Fix compilation errors due to interface changes. Load up JSC when its built as a shared
library.
- playstation/WebDriverServicePlayStation.cpp:
(WebDriver::WebDriverService::platformInit):
(WebDriver::WebDriverService::platformValidateCapability const):
(WebDriver::WebDriverService::platformMatchCapability const):
- 11:52 AM Changeset in webkit [292162] by
-
- 2 edits in trunk/Tools
[Merge-Queue] Skip RemoveFlagsOnPatch if no patch defined
https://bugs.webkit.org/show_bug.cgi?id=238613
<rdar://problem/91111541>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(RemoveFlagsOnPatch.getResultSummary): Use default summary for skip case.
(RemoveFlagsOnPatch.doStepIf): Do step if patch_id is available.
(RemoveFlagsOnPatch.hideStepIf): Hide step if skipped.
Canonical link: https://commits.webkit.org/249069@main
- 11:22 AM Changeset in webkit [292161] by
-
- 2 edits in trunk/Tools
[Merge-Queue] Skip CloseBug if no bug defined
https://bugs.webkit.org/show_bug.cgi?id=238612
<rdar://problem/91110116>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(CloseBug.start): Ignore unavailable bug_id case.
(CloseBug.getResultSummary): Use default summary for skip case.
(CloseBug.doStepIf): Do step if bug_id is available.
(CloseBug.hideStepIf): Hide step if skipped.
Canonical link: https://commits.webkit.org/249068@main
From: Jonathan Bedard <Jonathan Bedard>
- 8:31 AM Changeset in webkit [292160] by
-
- 3 edits in trunk/Source/WebCore
[WPE] Unreviewed, fix non-unified build after r292150
- css/typedom/CSSNumericFactory.h:
- css/typedom/numeric/CSSMathSum.cpp:
- 8:28 AM Changeset in webkit [292159] by
-
- 5 edits in trunk/Tools
[Merge-Queue] Update pull-request with landed content
https://bugs.webkit.org/show_bug.cgi?id=238554
<rdar://problem/91047260>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/factories.py:
(MergeQueueFactory.init): Add PushPullRequestBranch and UpdatePullRequest steps.
- Tools/CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps): Ditto.
- Tools/CISupport/ews-build/steps.py:
(GitHubMixin.comment_on_pr): Correct error message.
(GitHubMixin.update_pr): Update a pull request's title and description.
(PushPullRequestBranch): Update the pull request branch with the commit we're landing.
(UpdatePullRequest): Update pull request title and description.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/249066@main
- 8:08 AM Changeset in webkit [292158] by
-
- 14 edits in trunk
Remove push subscriptions when permissions are reset
https://bugs.webkit.org/show_bug.cgi?id=238068
Reviewed by Youenn Fablet.
Source/WebKit:
When the notification permission for an origin is reset (i.e. is in the prompt state), we
should delete any push subscriptions associated with that origin. We do this by having the
providerDidRemoveNotificationPolicies API call deletePushAndNotificationRegistration in
webpushd.
We also do this when processing a push message, since it's possible for the state to get out
of sync due to the number of processes involved. For instance, removing the policy from
System Preferences rather than the browser's notification preference pane can result in the
providerDidRemoveNotificationPolicies call in the browser to be delayed or dropped.
Note that we don't delete the subscription if the permission is simply toggled off (i.e. the
permission is in the Denied state). In that case, the user can easily toggle the permission
back on. We want the subscription object to stay the same after the preference is toggled
back on so that the server can still send pushes to that push endpoint. In a future patch
we'll add subscriptions in this state to the ignored topics list in webpushd, which will
prevent pushes for those subscriptions from being delivered to the device without actually
unsubscribing.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::processPushMessage):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::processPushMessage):
- UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::removePushSubscriptionsForOrigins):
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
- webpushd/WebPushDaemon.mm:
(WebPushD::Daemon::deletePushAndNotificationRegistration):
Tools:
Add a test to make sure push subscriptions are removed when the notification policy for a
website is reset.
Also fixed an issue with a PushAPI test that didn't properly register for notification permissions.
- TestWebKitAPI/TestNotificationProvider.cpp:
(TestWebKitAPI::TestNotificationProvider::TestNotificationProvider):
(TestWebKitAPI::TestNotificationProvider::notificationPermissions const):
(TestWebKitAPI::TestNotificationProvider::setPermission):
(TestWebKitAPI::TestNotificationProvider::resetPermission):
- TestWebKitAPI/TestNotificationProvider.h:
- TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
LayoutTests:
Fix an issue with a layout test that didn't register for notification permissions.
- http/wpt/service-workers/service-worker-spinning-push.https.html:
- 6:56 AM Changeset in webkit [292157] by
-
- 4 edits in trunk
[CSS contain] Containment disables the special handling of the HTML body element for overflow viewport propagation [part2]
https://bugs.webkit.org/show_bug.cgi?id=238572
Reviewed by Simon Fraser.
Source/WebCore:
While neither the overflow(1) nor the css containment(2) specs are explicit about disabling the propagation of non-visible overflow to the viewport
when the <html> has containment, this behavior makes sense (and also see https://github.com/w3c/csswg-drafts/issues/7184).
(1) https://www.w3.org/TR/css-overflow-3/#overflow-propagation
(2) https://www.w3.org/TR/css-contain-1/#contain-property
- rendering/RenderBox.cpp:
(WebCore::RenderBox::updateFromStyle):
LayoutTests:
- TestExpectations: Progressions.
- 5:45 AM Changeset in webkit [292156] by
-
- 15 edits in trunk/Source
Source/WebCore:
Remove EXPERIMENTAL_FEATURES flag use on Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=238565
Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-31
Reviewed by Darin Adler.
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::isExperimentalBuild): Deleted.
- inspector/InspectorFrontendHost.h:
- inspector/InspectorFrontendHost.idl:
Source/WebInspectorUI:
Remove EXPERIMENTAL_FEATURES flag on Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=238565
Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-31
Reviewed by Darin Adler.
- UserInterface/Base/BrowserInspectorFrontendHost.js:
(window.InspectorFrontendHost.WI.BrowserInspectorFrontendHost.prototype.isExperimentalBuild): Deleted.
- UserInterface/Base/Main.js:
- UserInterface/Base/Setting.js:
(WI.canShowPreviewFeatures):
- UserInterface/Test/Test.js:
Source/WebKit:
Remove EXPERIMENTAL_FEATURES flag on Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=238565
Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-31
Reviewed by Darin Adler.
- Configurations/BaseTarget.xcconfig:
Source/WTF:
Remove EXPERIMENTAL_FEATURES flag use on Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=238565
Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-31
Reviewed by Darin Adler.
It was used to enable some experimental features in places like Safari Technology Preview,
but we don't want Safari Technology Preview to be this fundamentally different than WebKit
everywhere else. This removes the flag and treats code accordingly as if it were always false.
- Scripts/Preferences/WebPreferencesExperimental.yaml:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 4:53 AM Changeset in webkit [292155] by
-
- 3 edits3 adds in trunk
Interop issue with position: sticky within contain: paint
https://bugs.webkit.org/show_bug.cgi?id=238016
Patch by Rob Buis <rbuis@igalia.com> on 2022-03-31
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container-expected.html: Added.
- web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container-ref.html: Added.
- web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container.html: Added.
Source/WebCore:
Elements with overflow: clip (contain: paint enables it) are
not scroll containers, so they can't act as scrolling
ancestor for sticky elements.
Tests: imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container-ref.html
imported/w3c/web-platform-tests/css/css-position/sticky/position-sticky-overflow-clip-container.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::enclosingOverflowClipLayer const):
- 4:48 AM Changeset in webkit [292154] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION? (248052@main): ASSERTION FAILED: didContain in WebCore::removeActiveContext(WebCore::WebGLRenderingContextBase &)
https://bugs.webkit.org/show_bug.cgi?id=238280
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-03-31
Reviewed by Myles C. Maxfield.
WebGL would record active contexts to a TLS variable in order to cap amount of
contexts. In WebKitLegacy the main thread might be either web thread or real main
thread, and as such the TLS variable cannot be used for main thread.
Instead, special case main thread active contexts to a specific global variable.
Tested by TestWebKitAPI.WebKitLegacy.WebGLNoCrashOnOtherThreadAccess.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::activeContexts):
- 4:39 AM Changeset in webkit [292153] by
-
- 4 edits2 copies1 add1 delete in trunk/Source/WebKit
[GTK][WPE][GPUProcess] Switch GPUProcessGStreamer.cpp, GPUProcessMainGStreamer.cpp to the GLib flavor
https://bugs.webkit.org/show_bug.cgi?id=238597
Reviewed by Adrian Perez de Castro.
Move the GStreamer implementations for the platform-specific GPUProcess
methods and entrypoint into GLib-flavored files. This fits better the
purpose of the GPUProcess since it's been extended beyond just media
playback. Instead of USE(GSTREAMER), the code in these files is now
guarded by (PLATFORM(GTK) PLATFORM(WPE)), the two ports depending on the GLib library.
The GPUProcessMain entrypoint, since it's unconditionally exported in
the library, is now also unconditionally defined, but with the internal
implementation launching the GPUProcess logic if ENABLE(GPU_PROCESS) is
enabled and simply returning 0 otherwise.
- GPUProcess/glib/GPUProcessGLib.cpp: Renamed from Source/WebKit/GPUProcess/gstreamer/GPUProcessGStreamer.cpp.
(WebKit::GPUProcess::initializeProcess):
(WebKit::GPUProcess::initializeProcessName):
(WebKit::GPUProcess::initializeSandbox):
- GPUProcess/glib/GPUProcessMainGLib.cpp: Renamed from Source/WebKit/GPUProcess/gstreamer/GPUProcessMainGStreamer.cpp.
(WebKit::GPUProcessMain):
- SourcesGTK.txt:
- SourcesWPE.txt:
- webkitglib-symbols.map:
- 4:17 AM Changeset in webkit [292152] by
-
- 2 edits in trunk/Source/WebKit
Fix null string crashes in PushService
https://bugs.webkit.org/show_bug.cgi?id=238585
Reviewed by Darin Adler.
We've seen a few webpushd crashes due to some PushService routines being passed null string
arguments. Guard against this with isEmpty checks.
This also shouldn't be possible--we shouldn't be sending these requests to webpushd in the
first place. Add some logs to help us catch what's going on.
- webpushd/PushService.mm:
(WebPushD::PushService::getSubscription):
(WebPushD::PushService::subscribe):
(WebPushD::PushService::unsubscribe):
(WebPushD::PushService::incrementSilentPushCount):
(WebPushD::PushService::removeRecordsImpl):
- 3:36 AM Changeset in webkit [292151] by
-
- 6 edits in trunk/Source
Source/WebCore:
[WPE] Unreviewed, fix non-unified build after r292139
- loader/ThreadableLoader.cpp:
- page/csp/ContentSecurityPolicySourceList.cpp:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
Source/WebKit:
[WPE] Unreviewed, fix non-unified build after r290343
- Platform/IPC/ArgumentCoder.h:
- 3:21 AM Changeset in webkit [292150] by
-
- 31 edits in trunk
Implement units for CSS Typed OM
https://bugs.webkit.org/show_bug.cgi?id=238532
Patch by Alex Christensen <achristensen@webkit.org> on 2022-03-31
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-typed-om/stylevalue-serialization/cssUnitValue.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/add-two-types.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/arithmetic.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/create-a-type.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathInvert-type-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathNegate-type-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssMathValue.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssUnitValue-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/cssnumericvalue-multiply-two-types.tentative-expected.txt:
- web-platform-tests/css/css-typed-om/stylevalue-subclasses/numeric-objects/to.tentative-expected.txt:
Source/WebCore:
This feature is off by default and this part is covered by WPT tests.
- css/typedom/CSSNumericFactory.h:
- css/typedom/CSSNumericValue.cpp:
(WebCore::negate):
(WebCore::invert):
(WebCore::operationOnValuesOfSameUnit):
(WebCore::CSSNumericValue::addInternal):
(WebCore::CSSNumericValue::add):
(WebCore::CSSNumericValue::sub):
(WebCore::CSSNumericValue::multiplyInternal):
(WebCore::CSSNumericValue::mul):
(WebCore::CSSNumericValue::to):
(WebCore::CSSNumericValue::toSum):
(WebCore::CSSNumericValue::type): Deleted.
- css/typedom/CSSNumericValue.h:
(WebCore::CSSNumericValue::type const):
(WebCore::CSSNumericValue::CSSNumericValue):
- css/typedom/CSSUnitValue.cpp:
(WebCore::numericType):
(WebCore::parseUnit):
(WebCore::CSSUnitValue::unit const):
(WebCore::CSSUnitValue::unitSerialization const):
(WebCore::CSSUnitValue::create):
(WebCore::CSSUnitValue::CSSUnitValue):
- css/typedom/CSSUnitValue.h:
- css/typedom/numeric/CSSMathInvert.cpp:
(WebCore::negatedType):
(WebCore::CSSMathInvert::CSSMathInvert):
- css/typedom/numeric/CSSMathNegate.cpp:
(WebCore::copyType):
(WebCore::CSSMathNegate::CSSMathNegate):
- css/typedom/numeric/CSSMathProduct.cpp:
(WebCore::multiplyTypes):
(WebCore::CSSMathProduct::create):
(WebCore::CSSMathProduct::CSSMathProduct):
(WebCore::CSSMathProduct::values const): Deleted.
- css/typedom/numeric/CSSMathProduct.h:
- css/typedom/numeric/CSSMathSum.cpp:
(WebCore::addTypes):
(WebCore::CSSMathSum::create):
(WebCore::CSSMathSum::CSSMathSum):
- css/typedom/numeric/CSSMathSum.h:
- css/typedom/numeric/CSSMathValue.h:
(WebCore::CSSMathValue::CSSMathValue):
- css/typedom/numeric/CSSNumericArray.cpp:
(WebCore::CSSNumericArray::create):
- css/typedom/numeric/CSSNumericBaseType.h:
(WebCore::eachBaseType):
(WebCore::debugString):
(): Deleted.
- css/typedom/numeric/CSSNumericType.h:
(WebCore::CSSNumericType::operator== const):
(WebCore::CSSNumericType::valueForType):
(WebCore::CSSNumericType::applyPercentHint):
(WebCore::CSSNumericType::debugString const):
(): Deleted.
- css/typedom/numeric/CSSNumericType.idl:
- 2:56 AM Changeset in webkit [292149] by
-
- 1 edit1 add in trunk/LayoutTests
[iOS] imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/default-color.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=238599
Unreviewed test gardening.
iOS has no dark mode support.
- platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/default-color-expected.txt: Added.
- 2:46 AM Changeset in webkit [292148] by
-
- 7 edits in trunk/Source
[GTK][WPE] Make ENABLE(GPU_PROCESS) code buildable
https://bugs.webkit.org/show_bug.cgi?id=238595
Reviewed by Adrian Perez de Castro.
Source/WebCore:
- platform/TextureMapper.cmake:
List the relevant headers under platform/graphics/gbm/ and append them
to WebCore_PRIVATE_FRAMEWORK_HEADERS so that the necessary relay headers
usable from WebKit are generated.
Source/WebKit:
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::setCaptureAttributionString):
Adjust the setCaptureAttributionString() method definition for non-Cocoa
platforms.
- GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp:
- GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h:
- GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.messages.in:
Guard the RemoteAudioMediaStreamTrackRendererInternalUnitManager class
with PLATFORM(COCOA) since all its uses are guarded the same way, and
the implementation unconditionally uses Cocoa-specific classes from
WebCore. The class can be refactored later if it ends up required for
any other platform.
- 1:42 AM Changeset in webkit [292147] by
-
- 4 edits in trunk/Source/WebGPU
[WebGPU] Implement CommandEncoder::copyBufferToTexture() according to the spec
https://bugs.webkit.org/show_bug.cgi?id=238428
Reviewed by Kimmo Kinnunen.
This patch implements CommandEncoder::copyBufferToTexture() according to the spec.
There are a bunch of helper validation functions added as public static members of Texture
because they will be needed for Queue::writeTexture() later. There are links and quotes
from the spec where appropriate.
- WebGPU/CommandEncoder.mm:
(WebGPU::validateImageCopyBuffer):
(WebGPU::validateCopyBufferToTexture):
(WebGPU::CommandEncoder::copyBufferToTexture):
- WebGPU/Texture.h:
- WebGPU/Texture.mm:
(WebGPU::Texture::texelBlockSize):
(WebGPU::Texture::aspectSpecificFormat):
(WebGPU::Texture::logicalTextureSubresourceExtent):
(WebGPU::Texture::physicalTextureSubresourceExtent):
(WebGPU::imageCopyTextureSubresourceSize):
(WebGPU::Texture::validateImageCopyTexture):
(WebGPU::Texture::refersToSingleAspect):
(WebGPU::Texture::isValidImageCopyDestination):
(WebGPU::Texture::validateTextureCopyRange):
(WebGPU::Texture::validateLinearTextureData):
- 1:40 AM Changeset in webkit [292146] by
-
- 5 edits in trunk/Source
Add runtime flag for blocking IOKit resources in the WebContent process' sandbox
https://bugs.webkit.org/show_bug.cgi?id=238528
Reviewed by Simon Fraser.
Source/WebKit:
This flag will trigger a set of sandbox rules in the WebContent process which will block graphics
related IOKit classes and the Metal compiler service.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebProcess/WebPage/WebPage.cpp:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 1:26 AM Changeset in webkit [292145] by
-
- 5 edits in trunk/Source/WebGPU
[WebGPU] Implement Texture::createView() according to the spec
https://bugs.webkit.org/show_bug.cgi?id=238311
This patch implements texture views, which are the objects that get bound to pipelines (rather
than textures themselves). It links to the spec where relevant, and quotes the spec in comments
where relevant.
Test: api/validation/createView.spec.ts
Reviewed by Kimmo Kinnunen.
- WebGPU/Texture.h:
(WebGPU::Texture::create):
- WebGPU/Texture.mm:
(WebGPU::depthOnlyAspectMetalFormat):
(WebGPU::stencilOnlyAspectMetalFormat):
(WebGPU::Device::createTexture):
(WebGPU::Texture::Texture):
(WebGPU::Texture::resolveTextureViewDescriptorDefaults const):
(WebGPU::Texture::arrayLayerCount const):
(WebGPU::Texture::validateCreateView const):
(WebGPU::computeRenderExtent):
(WebGPU::Texture::createView):
- WebGPU/TextureView.h:
(WebGPU::TextureView::create):
(WebGPU::TextureView::descriptor const):
(WebGPU::TextureView::renderExtent const):
- WebGPU/TextureView.mm:
(WebGPU::TextureView::TextureView):
- 1:07 AM Changeset in webkit [292144] by
-
- 2 edits in trunk/Tools
Drop bad adoptNS() in NetworkProcess.LaunchOnlyWhenNecessary
https://bugs.webkit.org/show_bug.cgi?id=238583
Reviewed by Anders Carlsson.
Drop bad adoptNS() in NetworkProcess.LaunchOnlyWhenNecessary. It is incorrect as the
WKWebViewConfiguration.websiteDataStore getter is not ref'ing the store for us.
- TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):