2022-04-02 Myles C. Maxfield [Cocoa] Automatically relayout the page when new fonts are installed https://bugs.webkit.org/show_bug.cgi?id=238483 Reviewed by Chris Dumez. Make TestRunner::dumpResourceLoadStatistics() clear any currently-recorded statistics. This avoids the problem where spurious layouts during the time when the page has been created but before the test has begun record irrelevant statistics. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): (WTR::InjectedBundle::clearResourceLoadStatistics): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::dumpResourceLoadStatistics): 2022-04-02 Andres Gonzalez Add to MiniBrowser the ability to log a textual representation of the AX trees for the current page. https://bugs.webkit.org/show_bug.cgi?id=238566 Reviewed by Chris Fleizach and Simon Fraser. MiniBrowser can now log a textual representation of the AX trees via Debug > Log Accessibility Trees menu item, or pressing the keystroke Cmd Opt A. * MiniBrowser/mac/MainMenu.xib: * MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController logAccessibilityTrees:]): 2022-04-02 Adrian Perez de Castro [GTK] Replace gtk-doc with gi-docgen https://bugs.webkit.org/show_bug.cgi?id=226662 Reviewed by Michael Catanzaro. Import two new CMake modules which define commands to easy setup of GObject-Introspection and gi-docgen. These in turn allow to remove a bunch of duplicated CMake code, reuse the same for both the WPE and GTK ports, and remove the gnarly DocBook templates and other auxiliary files previously used by gtk-doc (which amount to a sizeable amount of code). While at it, do a quick pass to fix the most egregious issues reported by gi-docgen's linting mode and that all public symbols end up with at least some documentation in the generated output. Follow-up patches will be needed to keep adapting to the style encouraged by gi-docgen, fix linking between documented entities, make code examples display properly, and a few other things. * gtkdoc/generate-gtkdoc: Removed. * gtkdoc/gtkdoc.py: Removed. (GTKDoc): Deleted. (GTKDoc.__init__): Deleted. (GTKDoc.generate): Deleted. (GTKDoc._delete_file_if_exists): Deleted. (GTKDoc._create_directory_if_nonexistent): Deleted. (GTKDoc._raise_exception_if_file_inaccessible): Deleted. (GTKDoc._output_has_warnings): Deleted. (GTKDoc._ask_yes_or_no_question): Deleted. (GTKDoc._run_command): Deleted. (GTKDoc._copy_doc_files_to_output_dir): Deleted. (GTKDoc._copy_doc_files_to_output_dir.copy_file_replacing_existing): Deleted. (GTKDoc._copy_doc_files_to_output_dir.copy_all_files_in_directory): Deleted. (GTKDoc._write_version_xml): Deleted. (GTKDoc._ignored_files_basenames): Deleted. (GTKDoc._run_gtkdoc_scan): Deleted. (GTKDoc._run_gtkdoc_scangobj): Deleted. (GTKDoc._run_gtkdoc_mkdb): Deleted. (GTKDoc._run_gtkdoc_mkhtml): Deleted. (GTKDoc._run_gtkdoc_fixxref): Deleted. (GTKDoc.rebase_installed_docs): Deleted. (GTKDoc.api_missing_documentation): Deleted. (PkgConfigGTKDoc): Deleted. (PkgConfigGTKDoc.__init__): Deleted. 2022-04-01 Alex Christensen 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: 2022-04-01 Sihui Liu Avoid initializing default WKWebsiteDataStore in -[WKWebViewConfiguration copyWithZone] https://bugs.webkit.org/show_bug.cgi?id=238531 rdar://90628101 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): 2022-04-01 Jeff Miller WKBundlePageUIClient console message support should include source URL, column number, and console messages with arguments https://bugs.webkit.org/show_bug.cgi?id=238032 Reviewed by Alex Christensen. 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. 2022-04-01 Chris Dumez 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): 2022-04-01 Simon Fraser Hoist the IOSurfacePool out of IOSurface https://bugs.webkit.org/show_bug.cgi?id=238675 Reviewed by Tim Horton. 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): 2022-03-31 Jonathan Bedard [Merge-Queue] Canonicalize commit without rebase https://bugs.webkit.org/show_bug.cgi?id=238614 Reviewed by Aakash Jain. This is helpful immiediatly after landing a subversion commit and allows us to bypass the 60 second sleep in PushCommitToWebKitRepo. * CISupport/ews-build/steps.py: (Canonicalize.__init__): Allow caller to opt out of rebasing. (Canonicalize.run): Ditto. * CISupport/ews-build/steps_unittest.py: 2022-04-01 Tim Horton Add a debug overlay for interaction regions https://bugs.webkit.org/show_bug.cgi?id=238187 Reviewed by Wenson Hsieh. * 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. 2022-03-31 Chris Dumez Prepare WebKit/ & WebKitLegacy/ for making the String(const char*) constructor explicit https://bugs.webkit.org/show_bug.cgi?id=238525 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (-[BlobWithUSDZExtensionDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]): * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm: (runTest): (createDirectories): * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2022-03-31 Stephanie Lewis 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: 2022-03-31 Commit Queue 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 2022-03-31 Commit Queue 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 2022-03-31 Elliott Williams [XCBuild] WebKitLegacy's "Migrated headers" script does not emit task information https://bugs.webkit.org/show_bug.cgi?id=238409 Reviewed by Alexey Proskuryakov. * 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/. 2022-03-31 Ryan Haddad Unreviewed infrastructure fix. * CISupport/ews-build/config.json: Temporarily remove ews105 due to hardware failure. 2022-03-31 Jeff Miller 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: 2022-03-31 Robert Jenner 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. 2022-03-31 Don Olmstead 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): 2022-03-31 Jonathan Bedard [Merge-Queue] Skip RemoveFlagsOnPatch if no patch defined https://bugs.webkit.org/show_bug.cgi?id=238613 Reviewed by Aakash Jain. * 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. 2022-03-31 Jonathan Bedard [Merge-Queue] Skip CloseBug if no bug defined https://bugs.webkit.org/show_bug.cgi?id=238612 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (CloseBug.__init__): (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. 2022-03-30 Jonathan Bedard [Merge-Queue] Update pull-request with landed content https://bugs.webkit.org/show_bug.cgi?id=238554 Reviewed by Aakash Jain. * CISupport/ews-build/factories.py: (MergeQueueFactory.__init__): Add PushPullRequestBranch and UpdatePullRequest steps. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): Ditto. * 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. * CISupport/ews-build/steps_unittest.py: 2022-03-31 Ben Nham Remove push subscriptions when permissions are reset https://bugs.webkit.org/show_bug.cgi?id=238068 Reviewed by Youenn Fablet. 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: 2022-03-31 Chris Dumez 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): 2022-03-30 Sihui Liu Regression: WebsiteDataStore fails to read experimental feature values from NSUserDefaults https://bugs.webkit.org/show_bug.cgi?id=238486 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2022-03-30 Don Olmstead Turn DEVELOPER_MODE ON for all non-Apple ports in build-webkit https://bugs.webkit.org/show_bug.cgi?id=238556 Reviewed by Alex Christensen. Add DEVELOPER_MODE=ON to the CMake argument list for all non-Apple ports in build-webkit. Use ENABLE_MINIBROWSER to determine whether to build the executable on PlayStation. * PlatformPlayStation.cmake: * Scripts/webkitdirs.pm: (generateBuildSystemFromCMakeProject): 2022-03-30 Kate Cheney Migrate manifest version content security policy filtering for extensions into WebKit https://bugs.webkit.org/show_bug.cgi?id=238230 Reviewed by Timothy Hatcher. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): (WTR::TestOptions::keyTypeMapping): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::contentSecurityPolicyExtensionMode const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): 2022-03-30 Jonathan Bedard [webkitbugspy] Get and set issue component data https://bugs.webkit.org/show_bug.cgi?id=238514 Reviewed by Dewei Zhu. * Scripts/libraries/webkitbugspy/setup.py: Bump version. * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py: (Tracker.populate): Populate project, component and version. (Tracker.set): Set project, component and version. * Scripts/libraries/webkitbugspy/webkitbugspy/github.py: (Tracker.request): github.Tracker has no Exception member. Use RuntimeError instead. (Tracker.populate): Populate labels and then extract component and version. (Tracker.set): Set labels associated with components and versions. * Scripts/libraries/webkitbugspy/webkitbugspy/issue.py: (Issue.__init__): Set _labels, _project, _component and _version values. (Issue.labels): Populate and return labels. (Issue.set_labels): Set labels associated with issue. (Issue.project): Populate and return project. (Issue.component): Populate and return component. (Issue.version): Populate and return version. (Issue.set_component): Set the project, component and version of an issue. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/bugzilla.py: (Bugzilla._issue): Mock setting and returning project, component and version. (Bugzilla._create): Populate project, component and version on creation. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/data.py: Set values for project, component and version. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/github.py: (GitHub._labels_for_issue): Given an issue, return a list of labels. Take into consideration component and version. (GitHub._issue): Mock label editing and returning. (GitHub._create): Ditto. (GitHub.request): Support request to update labels. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/radar.py: (RadarModel.__init__): Set component. (RadarModel.commit_changes): Commit component changes. (RadarClient.find_components): Implement version filter. (RadarClient.create_radar): Create radar with component details. (Radar.Component.get): Implement dict-like API. (Radar.Component.__getitem__): Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/radar.py: (Tracker.populate): Get project, component and version. (Tracker.set): Set component information. * Scripts/libraries/webkitbugspy/webkitbugspy/tests/bugzilla_unittest.py: (TestBugzilla.test_create): (TestBugzilla.test_create_prompt): * Scripts/libraries/webkitbugspy/webkitbugspy/tests/github_unittest.py: (TestGitHub.test_projects): (TestGitHub.test_create_projects): * Scripts/libraries/webkitbugspy/webkitbugspy/tests/radar_unittest.py: (TestRadar.test_create): (TestRadar.test_create_prompt): 2022-03-30 Sihui Liu Remove -[WKWebsiteDataStore _indexedDBDatabaseDirectory] https://bugs.webkit.org/show_bug.cgi?id=238487 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm: (createDirectories): (TEST): * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBUserDelete.mm: (TEST): 2022-03-30 Jonathan Bedard [Merge-Queue] Add http credential helper https://bugs.webkit.org/show_bug.cgi?id=238553 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (CheckOutPullRequest.run): Add credential helper that pulls http credentials from environment variables. * CISupport/ews-build/steps_unittest.py: 2022-03-30 Jonathan Bedard [Merge-Queue] Add Reviewers to commit message (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=238354 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (AddReviewerMixin.gitCommitEnvironment) Renamed from environment: (AddReviewerToCommitMessage.start): (AddReviewerToChangeLog.run): (AddReviewerMixin.environment): Renamed to gitCommitEnvironment. 2022-03-30 Sihui Liu Avoid initializing default WKWebsiteDataStore in -[WKWebViewConfiguration copyWithZone] https://bugs.webkit.org/show_bug.cgi?id=238531 rdar://90628101 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): 2022-03-30 Carlos Alberto Lopez Perez [GTK][WPE] generate-bundle: self-contained bundle for the MiniBrowser that can work on any distro https://bugs.webkit.org/show_bug.cgi?id=237107 Rubber-stamped by Philippe Normand. This implements in the generate-bundle script the support to generate a bundle self-contained that can work on any distro. To achieve that the bundle contains all the required system libraries inside the bundle (even the graphics drivers). It also contains the required system resources: icons (for gtk), fontconfig files and fonts, etc. A custom dlopenwrap library is also added and preloaded. The purpose of this library is to wrap all dlopen() calls and rewrite the paths to ensure that only libraries inside the bundle are loaded. The bundle has been tested to be generated with the flatpak build and executed on a range of very different distributions with sucess: Fedora, Ubuntu, Debian, Alpine, CentOS (different versions of each) * Scripts/bundle-binary: * Scripts/generate-bundle: * Scripts/webkitpy/binary_bundling/bundle.py: (BinaryBundler): (BinaryBundler.__init__): (BinaryBundler._is_system_dep): (BinaryBundler.set_use_sys_lib_directory): (BinaryBundler.copy_and_maybe_strip_patchelf): (BinaryBundler.destination_dir): (BinaryBundler.generate_wrapper_script): (BinaryBundler.copy_and_remove_rpath): Deleted. * Scripts/webkitpy/binary_bundling/dlopenwrap/Makefile: Added. * Scripts/webkitpy/binary_bundling/dlopenwrap/README.txt: Added. * Scripts/webkitpy/binary_bundling/dlopenwrap/dlopenwrap.c: Added. (dlopen_wrapper_path_join): (is_dir): (dlopen_wrapper_recursive_find): (dlopen_wrapper_get_path_for_file_under_dir): (dlopen_wrapper_find_library_on_libpath): (dlopen): (dlmopen): (dlerror): * Scripts/webkitpy/style/checker.py: 2022-03-29 Alex Christensen Don't create directories on iOS if we are only using ephemeral storages https://bugs.webkit.org/show_bug.cgi?id=238402 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/NSAttributedStringWebKitAdditions.mm: (TEST): 2022-03-29 Don Olmstead [LibWPE] Guard libxkbcommon code with WPE_ENABLE_XKB https://bugs.webkit.org/show_bug.cgi?id=238510 Reviewed by Adrian Perez de Castro. Guard libwpe xkb code with WPE_ENABLE_XKB. * WebKitTestRunner/libwpe/EventSenderProxyLibWPE.cpp: (WTR::EventSenderProxy::keyDown): 2022-03-29 Jonathan Bedard [Merge-Queue] Canonicalize commit https://bugs.webkit.org/show_bug.cgi?id=238453 Reviewed by Dewei Zhu. Before pushing to Subversion, we want to include the canonical link in the commit message. * CISupport/ews-build/factories.py: (MergeQueueFactory.__init__): Add Canonicalize step. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): Ditto. * CISupport/ews-build/steps.py: (Canonicalize): (Canonicalize.__init__): (Canonicalize.doStepIf): Only canonicalize pull requests. (Canonicalize.hideStepIf): Hide step if we aren't doing it. (Canonicalize.run): Update the base branch, rebase the source branch then move the base branch to the tip of the source branch. Finally, canonicalize the new commit. (Canonicalize.getResultSummary): * CISupport/ews-build/steps_unittest.py: 2022-03-29 Jonathan Bedard [Merge-Queue] Add Reviewers to ChangeLog files https://bugs.webkit.org/show_bug.cgi?id=238396 Reviewed by Dewei Zhu. * CISupport/ews-build/factories.py: (MergeQueueFactory.__init__): Add AddReviewerToChangeLog. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): Ditto. * CISupport/ews-build/steps.py: (AddReviewerToChangeLog.__init__): (AddReviewerToChangeLog._files): List files in the pull-request. (AddReviewerToChangeLog.run): Replace "NOBODY" with reviewers. (AddReviewerToChangeLog.getResultSummary): (AddReviewerToChangeLog.doStepIf): Skip step if patch or if reviewers are undefined. (AddReviewerToChangeLog.hideStepIf): Hide step if skipped. * CISupport/ews-build/steps_unittest.py: 2022-03-29 Jonathan Bedard [Merge-Queue] Add Reviewers to commit message https://bugs.webkit.org/show_bug.cgi?id=238354 Reviewed by Dewei Zhu. When a PR has been reviewed, Merge-Queue should insert those reviewers into the commit message. * CISupport/ews-build/factories.py: (MergeQueueFactory.__init__): Add AddReviewerToCommitMessage and ValidateCommitMessage steps. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): Ditto. * CISupport/ews-build/steps.py: (AddReviewerMixin): (AddReviewerMixin.environment): Set committer to action owner. (AddReviewerMixin.reviewers): Return a combined string of all reviewers. (AddReviewerToCommitMessage.__init__): (AddReviewerToCommitMessage.start): Insert reviewer string into commit message. (AddReviewerToCommitMessage.getResultSummary): (AddReviewerToCommitMessage.doStepIf): Skip step if patch or if reviewers are undefined. (AddReviewerToCommitMessage.hideStepIf): Hide step if skipped. (ValidateCommitMessage.__init__): (ValidateCommitMessage.start): List commit message for commit. (ValidateCommitMessage.getResultSummary): (ValidateCommitMessage.evaluateCommand): (ValidateCommitMessage.doStepIf): Skip step if patch. (ValidateCommitMessage.hideStepIf): Hide step if skipped. * CISupport/ews-build/steps_unittest.py: (mock_load_contributors): Share with multiple functions. 2022-03-29 Wenson Hsieh HTMLAttachmentElement.getAttachmentIdentifier() should propagate attachment data to the client https://bugs.webkit.org/show_bug.cgi?id=238473 rdar://90938796 Reviewed by Devin Rousso. Add a new API test to exercise the fix. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2022-03-28 Lauro Moura [AT-SPI] accessibility/native-text-control-attributed-string.html is failing https://bugs.webkit.org/show_bug.cgi?id=237821 Reviewed by Carlos Garcia Campos. * WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp: (WTR::AccessibilityUIElement::attributedStringForRange): Check the validity of the passed range. 2022-03-28 Devin Rousso [macOS] Add `WKWebView` API to control CSS "small viewport" `sv*` and "large viewport" `lv*` units https://bugs.webkit.org/show_bug.cgi?id=238173 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm: Enable tests for `-[WKWebView setMinimumViewportInset:maximumViewportInset:]` on macOS. 2022-03-28 Jonathan Bedard [webkitbugspy] Support component and version in GitHub https://bugs.webkit.org/show_bug.cgi?id=238086 Reviewed by Dewei Zhu. GitHub issues do not have the concept of "component" and "version." However, we can use label colors to divide labels into types. * Scripts/libraries/webkitbugspy/setup.py: Bump version. * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/github.py: (Tracker): (Tracker.__init__): Add concept of color groups for version and components. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/github.py: (GitHub): (GitHub.__init__): (GitHub._labels): Sort labels and output project details as labels. * Scripts/libraries/webkitbugspy/webkitbugspy/tests/github_unittest.py: (TestGitHub.test_create): (TestGitHub.test_create_projects): 2022-03-28 Jonathan Bedard [git-webkit] Support —oneline in log command https://bugs.webkit.org/show_bug.cgi?id=238209 Reviewed by Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py: (FilteredCommand): Header lines don't always start with 'commit' (FilteredCommand.main): Handle --online output * Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py: (Log): (Log.parser): Add various `git log` options. (Log.main): Forward `git log` options. 2022-03-28 Devin Rousso [iOS] Add `WKWebView` API to control CSS "small viewport" `sv*` and "large viewport" `lv*` units https://bugs.webkit.org/show_bug.cgi?id=237979 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm: (TEST.CSSViewportUnits.NegativeMinimumViewportInset): Added. (TEST.CSSViewportUnits.NegativeMaximumViewportInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetLargerThanMaximumViewportInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetLargerThanFrame): Added. (TEST.CSSViewportUnits.MaximumViewportInsetLargerThanFrame): Added. (TEST.CSSViewportUnits.MinimumViewportInset): Added. (TEST.CSSViewportUnits.MaximumViewportInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithZoom): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithZoom): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithWritingMode): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithWritingMode): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithFrame): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithFrame): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithBounds): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithBounds): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithContentInset): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithContentInset): Added. (TEST.CSSViewportUnits.MinimumViewportInsetWithSafeAreaInsets): Added. (TEST.CSSViewportUnits.MaximumViewportInsetWithSafeAreaInsets): Added. (TEST.CSSViewportUnits.UnobscuredSizeOverridesIgnoreMaximumViewportInsetAPI): Added. 2022-03-28 Brady Eidson Support ServiceWorkerClients.openWindow. and https://bugs.webkit.org/show_bug.cgi?id=238400 Reviewed by Youenn Fablet. Implement the new delegate to create the new view. * WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage): (WTR::TestController::createOtherPlatformWebView): * WebKitTestRunner/TestController.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateOtherPage): * WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm: (-[TestWebsiteDataStoreDelegate websiteDataStore:openWindow:fromServiceWorkerOrigin:completionHandler:]): 2022-03-28 Noam Rosenthal Issues with WPT exporter https://bugs.webkit.org/show_bug.cgi?id=238446 Also addresses https://bugs.webkit.org/show_bug.cgi?id=216330 and https://bugs.webkit.org/show_bug.cgi?id=216603 Reviewed by Youenn Fablet. Fix issues with WPT exporter: - Ignore *-expected.html files - Perform a 3-way merge when applying patch - Add a newline at the end of the patch * Scripts/webkitpy/w3c/test_exporter.py: (WebPlatformTestExporter._strip_ignored_files_from_diff): (WebPlatformTestExporter.create_branch_with_patch): 2022-03-28 Aakash Jain [ews] Update contributors in ews unit tests https://bugs.webkit.org/show_bug.cgi?id=238416 Reviewed by Jonathan Bedard. * CISupport/ews-build/steps_unittest.py: Use mocked info in unit-tests. 2022-03-26 Myles C. Maxfield [WebGPU] Import WebGPU Conformance Test Suite https://bugs.webkit.org/show_bug.cgi?id=238123 Reviewed by Dean Jackson. * Scripts/import-webgpu-cts: Added. 2022-03-26 Youenn Fablet Implement ServiceWorkerWindowClient.focus https://bugs.webkit.org/show_bug.cgi?id=238319 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2022-03-26 Yusuke Suzuki Use unary static_assert https://bugs.webkit.org/show_bug.cgi?id=238412 Reviewed by Mark Lam. * TestWebKitAPI/Tests/WTF/EnumTraits.cpp: * TestWebKitAPI/Tests/WTF/HashMap.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Int128.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Packed.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/RobinHoodHashMap.cpp: (TestWebKitAPI::TEST): 2022-03-26 Adrian Perez de Castro [WPE][GTK] Dist/distcheck targets fail due to Python error https://bugs.webkit.org/show_bug.cgi?id=238394 Reviewed by Philippe Normand. * Scripts/make-dist: (Directory.list_files_in_version_control): Ensure that data read from pipes is converted to strings by specifying text="ascii", as it seems safe to assume that files listed by Git will not contain non-ASCII characters. While at it, make the function return a set to speed up lookups. 2022-03-25 Wenson Hsieh Enable PGO when building for release and production https://bugs.webkit.org/show_bug.cgi?id=238119 rdar://90182309 Reviewed by Alexey Proskuryakov and Geoff Garen. Add an empty profiling data file that can be used as a fallback only for release (non-production) builds, when the JavaScriptCore, WebCore or WebKit profiling data hasn't been locally downloaded. * Profiling/Empty.profdata: Added. 2022-03-25 Devin Rousso `PointerEvent.movementX` always 0 (breaks https://noisecraft.app/) https://bugs.webkit.org/show_bug.cgi?id=220194 Reviewed by Simon Fraser. * DumpRenderTree/mac/EventSendingController.mm: (-[EventSendingController mouseMoveToX:Y:]): * WebKitTestRunner/mac/EventSenderProxy.mm: (WTR::EventSenderProxy::mouseMoveTo): On macOS, the screen's origin is the bottom-left corner, so we need to flip the `deltaY`. 2022-03-25 J Pascoe [WebAuthn] Maintain last modification time separate from last used time for platform credentials https://bugs.webkit.org/show_bug.cgi?id=238293 rdar://90655676 Reviewed by Brent Fulgham. This patch splits a key returned from [_WKWebAuthenticationPanel getAllLocalAuthenticatorCredentials...], _WKLocalAuthenticatorCredentialLastModificationDateKey, which previously signified the last time a credential was modified or used in an assertion, to just the last time the credential was modified. A new key, _WKLocalAuthenticatorCredentialLastUsedDateKey represents the old definition, the last time a key was used or modified. Updated API test to verify differences between _WKLocalAuthenticatorCredentialLastModificationDateKey and _WKLocalAuthenticatorCredentialLastModificationDateKey. * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST): 2022-03-25 Jonathan Bedard [git-webkit] Handle no repository case https://bugs.webkit.org/show_bug.cgi?id=238383 Reviewed by Aakash Jain. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py: (main): Set repository to 'None' instead of raising an OSError. * Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize/__init__.py: (Canonicalize.main): If no repository is provided, exit the program. * Scripts/libraries/webkitscmpy/webkitscmpy/program/checkout.py: (Checkout.main): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py: (FilteredCommand.pager): Ditto. (FilteredCommand.main): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py: (Info.main): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/install_git_lfs.py: (InstallGitLFS.parser): configure depends on if a repository is provided. (InstallGitLFS.main): Install `git lfs` when no repository is provided. * Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py: (Land.main): If no repository is provided, exit the program. * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull.py: (Pull.main): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup_git_svn.py: (SetupGitSvn.main): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py: (TestBranch.test_basic_none): * Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py: (TestCanonicalize.test_invalid_svn): Renamed from test_invalid. (TestCanonicalize.test_invalid_None): (TestCanonicalize.test_invalid): Renamed to test_invalid_svn. * Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py: (TestCheckout.test_checkout_none): * Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py: (TestFind.test_none): * Scripts/libraries/webkitscmpy/webkitscmpy/test/install_git_lfs_unittest.py: (TestInstallGitLFS.test_no_repo): * Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py: (TestLand.test_none): * Scripts/libraries/webkitscmpy/webkitscmpy/test/log_unittest.py: * Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py: * Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_git_svn_unittest.py: (TestSetupGitSvn.test_none): * Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py: (TestSetup.test_none): 2022-03-25 Chris Dumez Start preparing WebCore for making the String(const char*) constructor explicit https://bugs.webkit.org/show_bug.cgi?id=238336 Reviewed by Geoffrey Garen. Start preparing WebCore for making the String(const char*) constructor explicit. Making this constructor explicit helps catch at compile time cases where the ""_s prefix is missing on String literals. * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm: (TEST): 2022-03-25 Sihui Liu Introduce an SPI to get website data directory for origin and use it in API tests https://bugs.webkit.org/show_bug.cgi?id=238269 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm: (runMultipleIndicesTestWithDatabase): * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm: (runTest): (TEST): * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm: * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/StoreBlobThenDelete.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (runWebsiteDataStoreCustomPaths): 2022-03-24 Chris Dumez FileSystem::pathByAppendingComponent() should take in StringViews instead of Strings https://bugs.webkit.org/show_bug.cgi?id=238344 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WTF/FileSystem.cpp: (TestWebKitAPI::TEST_F): 2022-03-24 Aakash Jain [ews] Set bug_title property appropriately https://bugs.webkit.org/show_bug.cgi?id=238342 Reviewed by Ryan Haddad. * CISupport/ews-build/steps.py: (BugzillaMixin._is_bug_closed): 2022-03-24 Brent Fulgham Disable RTCRtpScriptTransform in CaptivePortal mode https://bugs.webkit.org/show_bug.cgi?id=238340 Reviewed by Chris Dumez. Add a test that RTCRtpScriptTransform is properly disabled in CaptivePortal mode. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2022-03-24 Jonathan Bedard [git-webkit] Install git-lfs https://bugs.webkit.org/show_bug.cgi?id=238270 Reviewed by Aakash Jain and Wenson Hsieh. * Scripts/libraries/webkitcorepy/setup.py: Bump version. * Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. * Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests_.py: (Response.__init__): Accept binary content or text. (Response.text): Decode binary content. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: (Git): Add git lfs mocks. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py: (GitHub.__init__): Mock project release binaries. (GitHub.request): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py: Add InstallGitLFS. * Scripts/libraries/webkitscmpy/webkitscmpy/program/install_git_lfs.py: Added. (InstallGitLFS): (InstallGitLFS.url): Return URL specific to the current platform. (InstallGitLFS.install): Install `git lfs` globally on this machine. (InstallGitLFS.parser): Install `git lfs` even if it is already installed. (InstallGitLFS.main): Check `git lfs` version, install it if needed, and then run `git lfs install`. * Scripts/libraries/webkitscmpy/webkitscmpy/test/install_git_lfs_unittest.py: Added. (TestInstallGitLFS): (TestInstallGitLFS.setUp): (TestInstallGitLFS.test_svn): (TestInstallGitLFS.test_remote_git): (TestInstallGitLFS.test_url): (TestInstallGitLFS.test_install): (TestInstallGitLFS.test_configure): (TestInstallGitLFS.test_no_op): 2022-03-24 Ben Nham PushAPI.firePushEventWithNoPagesTimeout fails in debug builds https://bugs.webkit.org/show_bug.cgi?id=238309 Reviewed by Youenn Fablet. This test was dying on an assertion in debug builds because we were calling terminateNetworkProcessWhileRegistrationIsStored with a brand new WKWebsiteDataStore, which wasn't associated with an active NetworkProcess connection since it was a brand new object. Fix this by using the existing data store object instead. Additionally, terminateNetworkProcessWhileRegistrationIsStored was waiting on the wrong filename, so I changed the test to reference the correct filename. * TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm: 2022-03-24 Chris Dumez Unreviewed, update outdated comment after r291787. * TestWebKitAPI/Tests/WTF/StringImpl.cpp: (TestWebKitAPI::TEST): 2022-03-23 Simon Fraser Have MiniBrowser shows the GPU Process pid in its title bar https://bugs.webkit.org/show_bug.cgi?id=238286 Reviewed by Tim Horton. KVO-observe the WKWebView's _gpuProcessIdentifier property and include it in the window title. * MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController awakeFromNib]): (-[WK2BrowserWindowController dealloc]): (-[WK2BrowserWindowController updateTitle:]): (-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]): 2022-03-23 Alex Christensen Add off-by-default experimental feature for app store attribution https://bugs.webkit.org/show_bug.cgi?id=238294 Reviewed by John Wilander. * TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: (TestWebKitAPI::TEST): 2022-03-23 Myles C. Maxfield [WebGPU] Implement Device::createTexture() according to the spec https://bugs.webkit.org/show_bug.cgi?id=238251 Reviewed by Darin Adler. Document the behavior of fastLog2(). * TestWebKitAPI/Tests/WTF/MathExtras.cpp: (TestWebKitAPI::TEST): 2022-03-23 Myles C. Maxfield [Cocoa] Make IPCTestingAPI.CGColorInNSSecureCoding more robust https://bugs.webkit.org/show_bug.cgi?id=238300 Unreviewed test gardening. Round-tripping a CGColor through CFData on iOS can turn extended sRGB color spaces into regular sRGB color spaces, if the color is common to both. * TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: 2022-03-22 Jonathan Bedard [commits.webkit.org] Sync tags https://bugs.webkit.org/show_bug.cgi?id=238144 Reviewed by Dewei Zhu. * Scripts/libraries/reporelaypy/reporelaypy/__init__.py: Bump version. * Scripts/libraries/reporelaypy/reporelaypy/checkout.py: (Checkout): Make 'origin' a global variable. (Checkout.__init__): Ditto. (Checkout.is_updated): Ditto. (Checkout.push_update): Support pushing a tag. (Checkout.fetch): Fetch a specific remote. (Checkout.update_for): Make 'origin' a global variable. (Checkout.update_all): Add tag syncing. * Scripts/libraries/reporelaypy/reporelaypy/hooks.py: (HookProcessor): (HookProcessor.process_worker_hook): Update tags as well as branches. * Scripts/libraries/reporelaypy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/setup.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git.tags): List tags for remote. * Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py: (Svn.tags): Remove @property tag. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: (Git.__init__): List tags for remote. * Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py: (BitBucket.tags): Remove @property tag. * Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py: (GitHub.tags): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py: (Svn.tags): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py: (ScmBase.tags): Ditto. (ScmBase.find): tags is a function instead of a property. * Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py: (TestGit.test_tags): * Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py: (TestLocalSvn.test_tags): (TestRemoteSvn.test_tags): 2022-03-23 Jon Lee Turn DOM in GPU Process on by default on iOS layout tests https://bugs.webkit.org/show_bug.cgi?id=236547 rdar://88863036 Reviewed by Geoffrey Garen. * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): 2022-03-22 Ben Nham Only show notification permission prompt on transient activation https://bugs.webkit.org/show_bug.cgi?id=238188 Reviewed by Youenn Fablet. Add an internal API denyWebNotificationPermissionOnPrompt to WebKitTestRunner that allows a notification permission prompt to first be displayed and then rejected. This differs from the existing denyNotificationPermission call, which denied notification permissions before prompting. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::denyWebNotificationPermission): (WTR::TestRunner::denyWebNotificationPermissionOnPrompt): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::originUserVisibleName): (WTR::TestController::denyNotificationPermissionOnPrompt): (WTR::TestController::resetStateToConsistentValues): (WTR::TestController::decidePolicyForNotificationPermissionRequest): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2022-03-22 Yusuke Suzuki [JSC] Test DFG / FTL DataIC https://bugs.webkit.org/show_bug.cgi?id=231224 Reviewed by Saam Barati. * Scripts/run-jsc-stress-tests: 2022-03-22 Alex Christensen Implement PCM to SKAdNetwork bridge https://bugs.webkit.org/show_bug.cgi?id=237969 Reviewed by John Wilander. * TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: (TestWebKitAPI::TEST): 2022-03-22 Jonathan Bedard [git-webkit] Do not re-prompt configuration options during setup https://bugs.webkit.org/show_bug.cgi?id=237571 Reviewed by Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.git): Skip already configured options by default. (Setup.parser): Add option to re-prompt for previously configured options. * Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py: 2022-03-22 Jonathan Bedard [Merge-Queue] Add ValidateSquashed https://bugs.webkit.org/show_bug.cgi?id=238172 Reviewed by Aakash Jain. * CISupport/ews-build/factories.py: (MergeQueueFactory.__init__): Add ValidateSquashed. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): Ditto. * CISupport/ews-build/steps.py: (VerifyGitHubIntegrity.send_email_for_github_issue): (ValidateSquashed): Ensure that a pull request only has a single commit. (ValidateSquashed.__init__): Do not log environment variables. (ValidateSquashed.start): Log commits between the HEAD branch and base branch. (ValidateSquashed.getResultSummary): (ValidateSquashed.evaluateCommand): Check number of commits between HEAD and base branch. (ValidateSquashed.doStepIf): Only run step for pull requests. (ValidateSquashed.hideStepIf): Hide step if we aren't running it. 2022-03-22 J Pascoe [WebAuthn] Pass along timeout to ASA and ignore timeout for conditional mediation requests https://bugs.webkit.org/show_bug.cgi?id=238147 rdar://90509464 Reviewed by Brent Fulgham. Modify API test to use new SPI. * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST): 2022-03-21 Jonathan Bedard [Merge-Queue] Add ValidateCommitterAndReviewer https://bugs.webkit.org/show_bug.cgi?id=238150 Reviewed by Aakash Jain. * CISupport/ews-build/factories.py: (CommitQueueFactory.__init__): Rename ValidateCommiterAndReviewer to ValidateCommiterAndReviewer. (MergeQueueFactory.__init__): Add ValidateCommitterAndReviewer, PrintConfiguration, CleanGitRepo, CheckOutSource, FetchBranches, ShowIdentifier, VerifyGitHubIntegrity, UpdateWorkingDirectory and CheckOutPullRequest. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): Add Merge-Queue step names. * CISupport/ews-build/steps.py: (GitHubMixin.get_pr_json): Retry tied to attempt not index. (GitHubMixin.get_reviewers): Get list of reviewers for pull-request in repository. (ValidateCommitterAndReviewer): Renamed from ValidateCommiterAndReviewer, inherit from GitHubMixin. (ValidateCommitterAndReviewer.__init__): Rename ValidateCommiterAndReviewer. (ValidateCommitterAndReviewer.fail_build): Block pull request, differentiate comment for pull request and patch. (ValidateCommitterAndReviewer.start): Support pull requests. (ValidateCommiterAndReviewer): Renamed to ValidateCommitterAndReviewer. * CISupport/ews-build/steps_unittest.py: 2022-03-22 Wenson Hsieh -[WKWebView _spellCheckerDocumentTag] is inconsistent with the document tag passed into NSSpellChecker https://bugs.webkit.org/show_bug.cgi?id=238186 rdar://90591883 Reviewed by Tim Horton. Add a test to verify that the spell checking document tag passed into NSSpellChecker API is consistent with the document tag reported by WKWebView. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/SpellCheckerDocumentTag.mm: Added. (TestWebKitAPI::TEST): 2022-03-22 Jonathan Bedard [git-webkit] Make radar conditional on authentication (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=238051 Reviewed by Alexey Proskuryakov. * Scripts/libraries/webkitbugspy/webkitbugspy/radar.py: (Tracker.__init__): Only check for authentication if library exists. 2022-03-21 Jonathan Bedard [Python 3] Use sys.executable instead of Python https://bugs.webkit.org/show_bug.cgi?id=238175 Reviewed by Ryan Haddad. * Scripts/webkitpy/common/system/executive_unittest.py: (ExecutiveTest.test_run_command_with_bad_command): 2022-03-22 Carlos Garcia Campos [GTK][WPE] Remove the ATK implementation https://bugs.webkit.org/show_bug.cgi?id=238198 Reviewed by Adrian Perez de Castro. * DumpRenderTree/AccessibilityController.h: * DumpRenderTree/AccessibilityUIElement.h: * Scripts/valgrind/suppressions.txt: * Scripts/webkit-filter-log: * TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp: (testAccessibleChildrenChanged): (testAccessibleAttributes): (testAccessibleState): (testAccessibleStateChanged): (testAccessibleListMarkers): (testTextSurrogatePair): (testTextIterator): (testTextExtents): (testTextSelections): (testTextAttributes): (testTextStateChanged): (testTextReplacedObjects): (testTextListMarkers): (testHyperlinkBasic): (testHypertextBasic): (testActionBasic): (testDocumentBasic): (testImageBasic): (testSelectionMenuList): (testTableBasic): * TestWebKitAPI/glib/PlatformGTK.cmake: * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp: Removed. (WTR::AccessibilityController::resetToConsistentState): Deleted. (WTR::childElementById): Deleted. (WTR::AccessibilityController::accessibleElementById): Deleted. (WTR::AccessibilityController::platformName): Deleted. (WTR::AccessibilityController::injectAccessibilityPreference): Deleted. (WTR::AccessibilityController::rootElement): Deleted. (WTR::AccessibilityController::focusedElement): Deleted. (WTR::AccessibilityController::addNotificationListener): Deleted. (WTR::AccessibilityController::removeNotificationListener): Deleted. * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: Removed. (): Deleted. (WTR::AccessibilityNotificationHandler::AccessibilityNotificationHandler): Deleted. (WTR::AccessibilityNotificationHandler::~AccessibilityNotificationHandler): Deleted. (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback): Deleted. (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler): Deleted. (WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks): Deleted. (WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks): Deleted. * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.h: Removed. (WTR::AccessibilityNotificationHandler::create): Deleted. (WTR::AccessibilityNotificationHandler::setPlatformElement): Deleted. (WTR::AccessibilityNotificationHandler::platformElement const): Deleted. (WTR::AccessibilityNotificationHandler::notificationFunctionCallback const): Deleted. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: Removed. (): Deleted. (WTR::AccessibilityUIElement::AccessibilityUIElement): Deleted. (WTR::AccessibilityUIElement::~AccessibilityUIElement): Deleted. (WTR::AccessibilityUIElement::isEqual): Deleted. (WTR::AccessibilityUIElement::getChildren): Deleted. (WTR::AccessibilityUIElement::getChildrenWithRange): Deleted. (WTR::AccessibilityUIElement::childrenCount): Deleted. (WTR::AccessibilityUIElement::elementAtPoint): Deleted. (WTR::AccessibilityUIElement::indexOfChild): Deleted. (WTR::AccessibilityUIElement::childAtIndex): Deleted. (WTR::accessibilityElementAtIndex): Deleted. (WTR::AccessibilityUIElement::linkedUIElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaOwnsElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaFlowToElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaControlsElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaDetailsElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex): Deleted. (WTR::AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex): Deleted. (WTR::AccessibilityUIElement::disclosedRowAtIndex): Deleted. (WTR::AccessibilityUIElement::rowAtIndex): Deleted. (WTR::AccessibilityUIElement::selectedChildAtIndex const): Deleted. (WTR::AccessibilityUIElement::selectedChildrenCount const): Deleted. (WTR::AccessibilityUIElement::selectedRowAtIndex): Deleted. (WTR::AccessibilityUIElement::titleUIElement): Deleted. (WTR::AccessibilityUIElement::parentElement): Deleted. (WTR::AccessibilityUIElement::disclosedByRow): Deleted. (WTR::AccessibilityUIElement::attributesOfLinkedUIElements): Deleted. (WTR::AccessibilityUIElement::attributesOfDocumentLinks): Deleted. (WTR::AccessibilityUIElement::attributesOfChildren): Deleted. (WTR::AccessibilityUIElement::allAttributes): Deleted. (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): Deleted. (WTR::AccessibilityUIElement::stringAttributeValue): Deleted. (WTR::AccessibilityUIElement::numberAttributeValue): Deleted. (WTR::AccessibilityUIElement::currentStateValue const): Deleted. (WTR::AccessibilityUIElement::uiElementArrayAttributeValue const): Deleted. (WTR::AccessibilityUIElement::rowHeaders const): Deleted. (WTR::AccessibilityUIElement::columnHeaders const): Deleted. (WTR::AccessibilityUIElement::uiElementAttributeValue const): Deleted. (WTR::AccessibilityUIElement::boolAttributeValue): Deleted. (WTR::AccessibilityUIElement::isAttributeSettable): Deleted. (WTR::AccessibilityUIElement::isAttributeSupported): Deleted. (WTR::AccessibilityUIElement::parameterizedAttributeNames): Deleted. (WTR::AccessibilityUIElement::role): Deleted. (WTR::AccessibilityUIElement::subrole): Deleted. (WTR::AccessibilityUIElement::roleDescription): Deleted. (WTR::AccessibilityUIElement::computedRoleString): Deleted. (WTR::AccessibilityUIElement::title): Deleted. (WTR::AccessibilityUIElement::description): Deleted. (WTR::AccessibilityUIElement::orientation const): Deleted. (WTR::AccessibilityUIElement::stringValue): Deleted. (WTR::AccessibilityUIElement::language): Deleted. (WTR::AccessibilityUIElement::helpText const): Deleted. (WTR::AccessibilityUIElement::x): Deleted. (WTR::AccessibilityUIElement::y): Deleted. (WTR::AccessibilityUIElement::width): Deleted. (WTR::AccessibilityUIElement::height): Deleted. (WTR::AccessibilityUIElement::clickPointX): Deleted. (WTR::AccessibilityUIElement::clickPointY): Deleted. (WTR::AccessibilityUIElement::intValue const): Deleted. (WTR::AccessibilityUIElement::minValue): Deleted. (WTR::AccessibilityUIElement::maxValue): Deleted. (WTR::AccessibilityUIElement::valueDescription): Deleted. (WTR::AccessibilityUIElement::insertionPointLineNumber): Deleted. (WTR::AccessibilityUIElement::isPressActionSupported): Deleted. (WTR::AccessibilityUIElement::isIncrementActionSupported): Deleted. (WTR::AccessibilityUIElement::isDecrementActionSupported): Deleted. (WTR::AccessibilityUIElement::isEnabled): Deleted. (WTR::AccessibilityUIElement::isRequired const): Deleted. (WTR::AccessibilityUIElement::isFocused const): Deleted. (WTR::AccessibilityUIElement::isSelected const): Deleted. (WTR::AccessibilityUIElement::isSelectedOptionActive const): Deleted. (WTR::AccessibilityUIElement::isExpanded const): Deleted. (WTR::AccessibilityUIElement::isChecked const): Deleted. (WTR::AccessibilityUIElement::isIndeterminate const): Deleted. (WTR::AccessibilityUIElement::hierarchicalLevel const): Deleted. (WTR::AccessibilityUIElement::speakAs): Deleted. (WTR::AccessibilityUIElement::ariaIsGrabbed const): Deleted. (WTR::AccessibilityUIElement::ariaDropEffects const): Deleted. (WTR::AccessibilityUIElement::lineForIndex): Deleted. (WTR::AccessibilityUIElement::rangeForLine): Deleted. (WTR::AccessibilityUIElement::rangeForPosition): Deleted. (WTR::AccessibilityUIElement::boundsForRange): Deleted. (WTR::AccessibilityUIElement::stringForRange): Deleted. (WTR::AccessibilityUIElement::attributedStringForRange): Deleted. (WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled): Deleted. (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate): Deleted. (WTR::AccessibilityUIElement::uiElementForSearchPredicate): Deleted. (WTR::AccessibilityUIElement::selectTextWithCriteria): Deleted. (WTR::AccessibilityUIElement::attributesOfColumnHeaders): Deleted. (WTR::AccessibilityUIElement::attributesOfRowHeaders): Deleted. (WTR::AccessibilityUIElement::attributesOfColumns): Deleted. (WTR::AccessibilityUIElement::attributesOfRows): Deleted. (WTR::AccessibilityUIElement::attributesOfVisibleCells): Deleted. (WTR::AccessibilityUIElement::attributesOfHeader): Deleted. (WTR::AccessibilityUIElement::rowCount): Deleted. (WTR::AccessibilityUIElement::columnCount): Deleted. (WTR::AccessibilityUIElement::indexInTable): Deleted. (WTR::AccessibilityUIElement::rowIndexRange): Deleted. (WTR::AccessibilityUIElement::columnIndexRange): Deleted. (WTR::AccessibilityUIElement::cellForColumnAndRow): Deleted. (WTR::AccessibilityUIElement::horizontalScrollbar const): Deleted. (WTR::AccessibilityUIElement::verticalScrollbar const): Deleted. (WTR::AccessibilityUIElement::selectedTextRange): Deleted. (WTR::AccessibilityUIElement::setSelectedTextRange): Deleted. (WTR::AccessibilityUIElement::increment): Deleted. (WTR::AccessibilityUIElement::decrement): Deleted. (WTR::AccessibilityUIElement::showMenu): Deleted. (WTR::AccessibilityUIElement::press): Deleted. (WTR::AccessibilityUIElement::setSelectedChild const): Deleted. (WTR::AccessibilityUIElement::setSelectedChildAtIndex const): Deleted. (WTR::AccessibilityUIElement::removeSelectionAtIndex const): Deleted. (WTR::AccessibilityUIElement::clearSelectedChildren const): Deleted. (WTR::AccessibilityUIElement::accessibilityValue const): Deleted. (WTR::AccessibilityUIElement::documentEncoding): Deleted. (WTR::AccessibilityUIElement::documentURI): Deleted. (WTR::AccessibilityUIElement::url): Deleted. (WTR::AccessibilityUIElement::addNotificationListener): Deleted. (WTR::AccessibilityUIElement::removeNotificationListener): Deleted. (WTR::AccessibilityUIElement::isFocusable const): Deleted. (WTR::AccessibilityUIElement::isSelectable const): Deleted. (WTR::AccessibilityUIElement::isMultiSelectable const): Deleted. (WTR::AccessibilityUIElement::isVisible const): Deleted. (WTR::AccessibilityUIElement::isOffScreen const): Deleted. (WTR::AccessibilityUIElement::isCollapsed const): Deleted. (WTR::AccessibilityUIElement::isIgnored const): Deleted. (WTR::AccessibilityUIElement::isSingleLine const): Deleted. (WTR::AccessibilityUIElement::isMultiLine const): Deleted. (WTR::AccessibilityUIElement::hasPopup const): Deleted. (WTR::AccessibilityUIElement::takeFocus): Deleted. (WTR::AccessibilityUIElement::takeSelection): Deleted. (WTR::AccessibilityUIElement::addSelection): Deleted. (WTR::AccessibilityUIElement::removeSelection): Deleted. (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Deleted. (WTR::AccessibilityUIElement::textMarkerRangeForElement): Deleted. (WTR::AccessibilityUIElement::textMarkerRangeLength): Deleted. (WTR::AccessibilityUIElement::previousTextMarker): Deleted. (WTR::AccessibilityUIElement::nextTextMarker): Deleted. (WTR::AccessibilityUIElement::stringForTextMarkerRange): Deleted. (WTR::AccessibilityUIElement::rectsForTextMarkerRange): Deleted. (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Deleted. (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Deleted. (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Deleted. (WTR::AccessibilityUIElement::endTextMarkerForBounds): Deleted. (WTR::AccessibilityUIElement::startTextMarkerForBounds): Deleted. (WTR::AccessibilityUIElement::textMarkerForPoint): Deleted. (WTR::AccessibilityUIElement::accessibilityElementForTextMarker): Deleted. (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange): Deleted. (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Deleted. (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): Deleted. (WTR::AccessibilityUIElement::indexForTextMarker): Deleted. (WTR::AccessibilityUIElement::isTextMarkerValid): Deleted. (WTR::AccessibilityUIElement::textMarkerForIndex): Deleted. (WTR::AccessibilityUIElement::startTextMarker): Deleted. (WTR::AccessibilityUIElement::endTextMarker): Deleted. (WTR::AccessibilityUIElement::setSelectedTextMarkerRange): Deleted. (WTR::AccessibilityUIElement::scrollToMakeVisible): Deleted. (WTR::AccessibilityUIElement::scrollToGlobalPoint): Deleted. (WTR::AccessibilityUIElement::scrollToMakeVisibleWithSubFocus): Deleted. (WTR::AccessibilityUIElement::supportedActions const): Deleted. (WTR::AccessibilityUIElement::pathDescription const): Deleted. (WTR::AccessibilityUIElement::mathPostscriptsDescription const): Deleted. (WTR::AccessibilityUIElement::mathPrescriptsDescription const): Deleted. (WTR::AccessibilityUIElement::classList const): Deleted. (WTR::stringAtOffset): Deleted. (WTR::AccessibilityUIElement::characterAtOffset): Deleted. (WTR::AccessibilityUIElement::wordAtOffset): Deleted. (WTR::AccessibilityUIElement::lineAtOffset): Deleted. (WTR::AccessibilityUIElement::sentenceAtOffset): Deleted. (WTR::AccessibilityUIElement::replaceTextInRange): Deleted. (WTR::AccessibilityUIElement::insertText): Deleted. (WTR::AccessibilityUIElement::popupValue const): Deleted. * WebKitTestRunner/PlatformGTK.cmake: * WebKitTestRunner/PlatformWPE.cmake: * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): 2022-03-22 Myles C. Maxfield Squelch warning message from output of build-jsc https://bugs.webkit.org/show_bug.cgi?id=238177 Reviewed by Saam Barati. There was a "prototype mismatch" error. * Scripts/webkitperl/BuildSubproject.pm: 2022-03-22 Youenn Fablet Website policies are not respected when doing COOP based process swap https://bugs.webkit.org/show_bug.cgi?id=238036 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2022-03-21 Said Abou-Hallawa [GPU Process] Make GraphicsContextState keep track of changes till they are applied https://bugs.webkit.org/show_bug.cgi?id=238066 rdar://90585183 Reviewed by Simon Fraser. * TestWebKitAPI/Tests/WebCore/cg/GraphicsContextTestsCG.cpp: (TestWebKitAPI::TEST): 2022-03-21 Brent Fulgham Disable the element in Captive Portal mode. https://bugs.webkit.org/show_bug.cgi?id=238148 Reviewed by Chris Dumez. Update tests to check element. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2022-03-21 Myles C. Maxfield [WebGPU] Set the WebGPU WKPreference to true in layout tests https://bugs.webkit.org/show_bug.cgi?id=238130 Reviewed by Sam Weinig. WebGPU isn't ready yet to show up in any Safari menus, so rather than just marking it as an experimental feature, this patch just enables the preference in DumpRenderTree and WebKitTestRunner. This doesn't require a linker change, because all of the WebGPU calls are already behind HAS(WEBGPU_IMPLEMENTATION). Therefore, the immediate behavior change of this patch is that the IDL types are exposed in layout tests, but calling WebGPU functions in layout tests will return undefined. When we finally link WebCore with WebGPU, then these functions will automatically start working in layout tests. Outside of layout tests, the IDL types are still not present, and so therefore the WebGPU functions cannot be called because they are not visible from script. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): 2022-03-21 Myles C. Maxfield [WebGPU] Add a build-webgpu script https://bugs.webkit.org/show_bug.cgi?id=238040 Reviewed by Saam Barati. This patch adds a build-webgpu script by sharing code with the build-jsc script. It moves almost all of the contents of the build-jsc script to a shared Perl module, webkitperl/BuildSubproject.pm, and then has build-jsc and build-webgpu both call into it to build the relevant projects. * Scripts/build-jsc: (buildMyProject): Deleted. (writeCongrats): Deleted. * Scripts/build-webgpu: Added. * Scripts/webkitperl/BuildSubproject.pm: Copied from Tools/Scripts/build-jsc. (buildMyProject): (writeCongrats): 2022-03-18 Jonathan Bedard [Merge-Queue] Support multiple reviewers names https://bugs.webkit.org/show_bug.cgi?id=238095 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (ApplyPatch.start): Only apply the first reviewer name. (ValidateCommiterAndReviewer.start): Support a list of reviewers. 2022-03-21 Diego Pino Garcia Unreviewed, fix Debian Stable build after r291543 * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: (elementSize): Replace RELEASE_ASSERT_NOT_REACHED() for RELEASE_ASSERT_NOT_REACHED_UNDER_CONSTEXPR_CONTEXT(). 2022-03-20 Adrian Perez de Castro Fix clang warning after r291229 Unreviewed build fix. * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: (elementSize): Move RELEASE_ASSERT_NOT_REACHED() out of the switch to make clang happy. 2022-03-19 Chris Dumez Vector move constructor and move assignment operator are suboptimal when the vector has an inline buffer https://bugs.webkit.org/show_bug.cgi?id=238096 Reviewed by Darin Adler. Add API test coverage. * TestWebKitAPI/Tests/WTF/Vector.cpp: (TestWebKitAPI::TEST): 2022-03-18 Myles C. Maxfield [Cocoa] Teach WebKit how to serialize CGColors https://bugs.webkit.org/show_bug.cgi?id=238069 Reviewed by Dean Jackson and Tim Horton. * Scripts/webkitpy/style/checkers/cpp.py: * TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: 2022-03-18 Per Arne Vollan Fix test failures when enabling content filtering in the Network process https://bugs.webkit.org/show_bug.cgi?id=237217 Reviewed by Brent Fulgham. TestWebKitAPI needs to link with WebCore now that the mock content filter is compiled into WebCore. Adjust test expectations, since the content filters are not expected to be loaded in the WebContent process anymore. * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: * TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm: * TestWebKitAPI/Tests/mac/ContentFiltering.mm: 2022-03-18 Ben Nham Remove push subscriptions when associated service worker registrations are removed https://bugs.webkit.org/show_bug.cgi?id=237983 Reviewed by Youenn Fablet. Add new tests to make sure that we delete push subscriptions when unregistering a service worker or deleting website data. * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: 2022-03-18 J Pascoe Trigger PDF download in captive portal mode instead of using PDF viewer https://bugs.webkit.org/show_bug.cgi?id=237245 rdar://problem/89525531 Reviewed by Chris Dumez. Add API test for captive portal pdf behavior. * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (tempPDFThatDoesNotExist): 2022-03-18 Jonathan Bedard [git-webkit] Make radar conditional on authentication https://bugs.webkit.org/show_bug.cgi?id=238051 Reviewed by Aakash Jain. * Scripts/libraries/webkitbugspy/setup.py: Bump version. * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/radar.py: (Tracker.__init__): Only instantiate client with valid authentication. (Tracker.authentication): Catch exceptions from failed authentication. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py: (Scm.__init__): Only instantiate Radar as a tracker with valid authentication. 2022-03-18 Patrick Griffis [Flatpak] Pass extra webkit-flatpak args to sub-command https://bugs.webkit.org/show_bug.cgi?id=238027 Reviewed by Carlos Garcia Campos. This adds the abillity to run something like: webkit-flatpak --command=echo -- --help Where our script doesn't parse anything after `--` and it gets passed to the subcommand. * flatpak/flatpakutils.py: (extract_extra_command_args): (WebkitFlatpak.load_from_args): (WebkitFlatpak.setup_dev_env): 2022-03-18 Philippe Normand [GStreamer] Initial import of the GstWebRTC backend https://bugs.webkit.org/show_bug.cgi?id=236540 Reviewed by Carlos Garcia Campos and Xabier Rodriguez-Calvar. * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): Allow libnice debug log environment variable in runtime sandbox. 2022-03-18 Carlos Garcia Campos [GLIB] Make it possible to call GRefPtr::outPtr() multiple times wihtout an explicit clear https://bugs.webkit.org/show_bug.cgi?id=238070 Reviewed by Adrian Perez de Castro. Add a unit tests for GRefPtr. * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/Tests/WTF/glib/GRefPtr.cpp: Added. (TestWebKitAPI::GWeakPtr::GWeakPtr): (TestWebKitAPI::GWeakPtr::~GWeakPtr): (TestWebKitAPI::GWeakPtr::set): (TestWebKitAPI::TEST): 2022-03-18 Carlos Garcia Campos [ATSPI] accessibility/dropdown-value.html is timing out since added in 248145@main https://bugs.webkit.org/show_bug.cgi?id=237803 Reviewed by Andres Gonzalez. The test expects the combo box to expose the selected element name as the string value. * WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp: (WTR::AccessibilityUIElement::stringValue): Handle combo boxes as special case and return the selected element name. 2022-03-18 Youenn Fablet Keep service workers alive when they are inspected even though they should be terminated https://bugs.webkit.org/show_bug.cgi?id=237827 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm: 2022-03-17 Jonathan Bedard configure-xcode-for-embedded-development fails with Xcode 13.3 https://bugs.webkit.org/show_bug.cgi?id=237994 Reviewed by Ryan Haddad. * Scripts/configure-xcode-for-embedded-development: Handle different xcspec locations in XCode 13.3. 2022-03-17 Brent Fulgham Disable push features in CaptivePortal mode https://bugs.webkit.org/show_bug.cgi?id=237981 Reviewed by Chris Dumez. We should not support push features when running in a Captive Portal. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2022-03-17 Jonathan Bedard [Merge-Queue] Remove merge-queue labels when blocking PR https://bugs.webkit.org/show_bug.cgi?id=237964 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (GitHubMixin.add_label): Renamed from modify_label, only handle add case because removal case requires 'get' request first. (GitHubMixin.remove_labels): Remove list of labels from PR. (BlockPullRequest.start): Remove merge-queue labels. (BlockPullRequest.getResultSummary): Add label name in results summary. (GitHubMixin.modify_label): Renamed add_label. 2022-03-17 Saam Barati compare-results should break down sync vs async time in Speedometer2 https://bugs.webkit.org/show_bug.cgi?id=237993 Reviewed by Alexey Shvayka. * Scripts/compare-results: (speedometer2Breakdown): (speedometer2BreakdownSyncAsync): (dumpBreakdowns): (getOptions): (main): 2022-03-17 Myles C. Maxfield Delete Tools/jsc-cli in favor of the jsc target in JavaScriptCore itself https://bugs.webkit.org/show_bug.cgi?id=238042 Rubber-stamped by Saam Barati. The last time jsc-cli was substantively modified was 8 years ago. On the other hand, the jsc target in JavaScriptCore serves the same purpose, and is actively maintained. * Scripts/build-jsc: * jsc-cli/jsc-cli.xcodeproj/project.pbxproj: Removed. * jsc-cli/jsc-cli/CLIInstance.h: Removed. * jsc-cli/jsc-cli/CLIInstance.m: Removed. * jsc-cli/jsc-cli/JSModule.h: Removed. * jsc-cli/jsc-cli/JSModule.m: Removed. * jsc-cli/jsc-cli/JSRunLoopThread.h: Removed. * jsc-cli/jsc-cli/JSRunLoopThread.m: Removed. * jsc-cli/jsc-cli/ReadEvalPrintLoop.h: Removed. * jsc-cli/jsc-cli/ReadEvalPrintLoop.m: Removed. * jsc-cli/jsc-cli/RunLoopThread.h: Removed. * jsc-cli/jsc-cli/RunLoopThread.m: Removed. * jsc-cli/jsc-cli/ScriptInputSource.h: Removed. * jsc-cli/jsc-cli/ScriptInputSource.m: Removed. * jsc-cli/jsc-cli/main.m: Removed. 2022-03-17 Ben Nham Only show notification permission prompt on user gesture https://bugs.webkit.org/show_bug.cgi?id=237946 Unreviewed build fix for r291414. * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: 2022-03-17 Ben Nham Only show notification permission prompt on user gesture https://bugs.webkit.org/show_bug.cgi?id=237946 Reviewed by Geoffrey Garen. Change existing permission tests to use evaluateJavaScript since that executes in the context of a user gesture. * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm: * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: 2022-03-17 Ben Nham Allow push preference to be set programatically https://bugs.webkit.org/show_bug.cgi?id=238003 Reviewed by Geoffrey Garen. Make webpushd tests enable the push API via WKPreferences. * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: 2022-03-17 Kate Cheney Calls to print can result in unresponsive print modal https://bugs.webkit.org/show_bug.cgi?id=237940 Reviewed by Chris Dumez. Add API test. Adjust delegate naming in the PDF case to be more specific so we can use the generic PrintUIDelegate name in the general case. * TestWebKitAPI/SourcesCocoa.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm: (TEST): (-[PrintUIDelegate _webView:printFrame:pdfFirstPageSize:completionHandler:]): Deleted. (-[PrintUIDelegate waitForPageSize]): Deleted. (-[PrintUIDelegate lastPrintedFrame]): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/WKPrinting.mm: Added. (-[PrintUIDelegate callBlockAsync:]): (-[PrintUIDelegate _webView:printFrame:pdfFirstPageSize:completionHandler:]): (-[PrintUIDelegate waitForPagination]): (TEST): 2022-03-17 Oriol Brufau Clarify code for logical-to-physical mappings, and add physical-to-logical mappings https://bugs.webkit.org/show_bug.cgi?id=237967 Reviewed by Darin Adler. Add tests. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/WritingModeTests.cpp: Added. (TestWebKitAPI::TEST): 2022-03-17 Aakash Jain XSS in EWS App https://bugs.webkit.org/show_bug.cgi?id=236633 Reported by Iman Sharafaldin - Forward Security. Reviewed by Darin Adler. * CISupport/ews-app/ews/views/submittoews.py: (SubmitToEWS.post): 2022-03-16 Jonathan Bedard [reporelaypy] Support credentialed https repositories https://bugs.webkit.org/show_bug.cgi?id=237853 Reviewed by Ryan Haddad, Dewei Zhu and Stephanie Lewis. * Scripts/libraries/reporelaypy/reporelaypy/__init__.py: Bump version. * Scripts/libraries/reporelaypy/reporelaypy/checkout.py: (Checkout.Encoder.default): Pass credentials. (Checkout.clone): Add credentials to local configuration. (Checkout.add_credentials): Add username to .git/config and populate .git-credentials file appropriately. (Checkout.__init__): Re-add credentials. * Scripts/libraries/reporelaypy/reporelaypy/tests/checkout_unittest.py: (CheckoutUnittest.test_json): * Scripts/libraries/reporelaypy/setup.py: Bump version. 2022-03-17 Nikolas Zimmermann Build broken on macOS Monterey 12.3 - PassKitSPI related error https://bugs.webkit.org/show_bug.cgi?id=238010 Reviewed by Antoine Quint. Unbreak the macOS 12.3 build: assure that 'PKShippingMethod' is declared before used in the 'PKShippingMethods' interface. Fix various unused variable warnings. No new tests. No change in functionality. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm: (loadPictureInPicture): 2022-03-17 Youenn Fablet AudioContext is suspended on iOS when page is backgrounded https://bugs.webkit.org/show_bug.cgi?id=237878 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: * TestWebKitAPI/Tests/WebKitCocoa/audio-context-playing.html: 2022-03-16 Jonathan Bedard [Merge-Queue] Add step to make comment on pull requests https://bugs.webkit.org/show_bug.cgi?id=237962 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (GitHubMixin.comment_on_pr): Make a comment on pull request for in repository. (ApplyPatch.evaluateCommand): Rename CommentOnBug to LeaveComment. (ValidateCommiterAndReviewer.fail_build): Ditto. (ValidateChangeLogAndReviewer.evaluateCommand): Ditto. (LeaveComment): Renamed from CommentOnBug, support pull request (LeaveComment.start): (LeaveComment.getResultSummary): (AnalyzeCompileWebKitResults.analyzeResults): Rename CommentOnBug to LeaveComment. (AnalyzeLayoutTestsResults.report_failure): Ditto. (FindModifiedChangeLogs.evaluateCommand): Ditto. (CreateLocalGITCommit.evaluateCommand): Ditto. (PushCommitToWebKitRepo.evaluateCommand): Ditto. (CommentOnBug): Renamed to LeaveComment. 2022-03-16 Basuke Suzuki Suppress warnings for implicit conversion from unsigned long to double https://bugs.webkit.org/show_bug.cgi?id=237899 Reviewed by Darin Adler. Add static_cast for approx casting to double. * TestWebKitAPI/Tests/WTF/Int128.cpp: (TestWebKitAPI::TEST): 2022-03-15 Jonathan Bedard [Merge-Queue] Rename patch_reviewer https://bugs.webkit.org/show_bug.cgi?id=237916 Reviewed by Aakash Jain. Rename patch_reviewer to reviewer for compatibility with pull requests. * CISupport/ews-build/steps.py: (ApplyPatch.start): (BugzillaMixin._does_patch_have_acceptable_review_flag): (ValidateCommiterAndReviewer.start): * CISupport/ews-build/steps_unittest.py: 2022-03-16 Youenn Fablet Make MIMETypeRegistry::mimeTypeForPath take a StringView https://bugs.webkit.org/show_bug.cgi?id=236441 Reviewed by Chris Dumez. * TestWebKitAPI/cocoa/TestInspectorURLSchemeHandler.mm: (-[TestInspectorURLSchemeHandler webView:startURLSchemeTask:]): 2022-03-15 Diego Pino Garcia [GLIB] Unreviewed, fix build for Ubuntu 18.04 and Debian Stable after r291229 https://bugs.webkit.org/show_bug.cgi?id=237938 * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: (elementSize): 2022-03-15 Saam Barati Add support for chrome-beta and chrome-dev to run-benchmark https://bugs.webkit.org/show_bug.cgi?id=237937 Reviewed by Stephanie Lewis. * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: (set_binary_location_impl): (OSXChromeDriver._set_chrome_binary_location): (OSXChromeCanaryDriver): (OSXChromeCanaryDriver._set_chrome_binary_location): (OSXChromeBetaDriver): (OSXChromeBetaDriver._set_chrome_binary_location): (OSXChromeDevDriver): (OSXChromeDevDriver._set_chrome_binary_location): 2022-03-15 Jonathan Bedard [Merge-Queue] Rename bugzilla_comment_text https://bugs.webkit.org/show_bug.cgi?id=237911 Reviewed by Aakash Jain. Rename bugzilla_comment_text to comment_text to re-use code to comment on pull requests. * CISupport/ews-build/steps.py: (ApplyPatch.evaluateCommand): (ValidateCommiterAndReviewer.fail_build): (ValidateChangeLogAndReviewer.evaluateCommand): (CommentOnBug.start): (AnalyzeCompileWebKitResults.analyzeResults): (AnalyzeLayoutTestsResults.report_failure): (FindModifiedChangeLogs.evaluateCommand): (CreateLocalGITCommit.evaluateCommand): (PushCommitToWebKitRepo.evaluateCommand): * CISupport/ews-build/steps_unittest.py: 2022-03-15 Aditya Keerthi [iOS] Indefinite hang when printing using a UIPrintPageRenderer https://bugs.webkit.org/show_bug.cgi?id=237835 rdar://90002387 Reviewed by Devin Rousso. Add API test coverage for printing web content to a PDF, using a UIPrintPageRenderer (which uses the main thread) and a UIPrintInteractionController (which uses a background thread). * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewPrintFormatter.mm: (TEST): 2022-03-15 Alex Christensen Stop using DYLD_INTERPOSE https://bugs.webkit.org/show_bug.cgi?id=237867 Reviewed by Anders Carlsson. * Scripts/webkitpy/port/mac.py: (MacPort.setup_environ_for_server): * Scripts/webkitpy/port/mac_unittest.py: (MacTest.test_setup_environ_for_server): 2022-03-14 Jonathan Bedard [Merge-Queue] Fail draft PRs https://bugs.webkit.org/show_bug.cgi?id=237859 Reviewed by Aakash Jain. We should never merge a draft pull request. * CISupport/ews-build/factories.py: (MergeQueueFactory.__init__): Verify that provided change is not a draft. * CISupport/ews-build/steps.py: (GitHubMixin._is_pr_draft): Check if pr_json indicates a draft PR. (ValidateChange.__init__): Accept verifyNoDraft flag. (ValidateChange.start): (ValidateChange.fail_build): (ValidateChange.validate_github): Fail the build if the provided PR is a draft. * CISupport/ews-build/steps_unittest.py: 2022-03-15 Youenn Fablet Mark permission as denied if system forbids access to camera and/or microphone https://bugs.webkit.org/show_bug.cgi?id=237823 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKit/GetUserMedia.mm: * TestWebKitAPI/Tests/WebKit/getUserMediaPermission.html: 2022-03-14 Wenson Hsieh [Mail compose] Allow copied resources with remote (HTTP/HTTPS) URLs to be pasted as attachments https://bugs.webkit.org/show_bug.cgi?id=237810 rdar://90119983 Reviewed by Devin Rousso. Add an API test to exercise copying remote images and pasting as attachment-backed images. This API test first loads a web page (simulating page load via HTTPS, along with multiple image subresources); it then pastes into an attachment-enabled WKWebView-based editor and verifies that the _WKAttachment UI delegate hooks are invoked with attachments corresponding to each of the remote images. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2022-03-14 Wenson Hsieh [Mail Compose] Spelling and grammar context menu items need custom identifiers https://bugs.webkit.org/show_bug.cgi?id=237804 rdar://90124049 Reviewed by Aditya Keerthi. Add a new API test to exercise the new identifiers. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/ContextMenuTests.mm: Added. (-[NSMenu itemWithIdentifier:]): (TestWebKitAPI::TEST): 2022-03-10 Jonathan Bedard [EWS] Clean up PR branches and remotes https://bugs.webkit.org/show_bug.cgi?id=237714 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (ShellMixin.shell_command): Use `sh` on Windows. (CleanGitRepo.run): Delete all non-origin remote and all unused branches. * CISupport/ews-build/steps_unittest.py: 2022-03-14 Jonathan Bedard [git-webkit] Handle comparing User and Contributor to None https://bugs.webkit.org/show_bug.cgi?id=237622 Reviewed by Dewei Zhu. * Scripts/libraries/webkitbugspy/setup.py: Bump version. * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/tests/user_unittest.py: (TestUser.test_compare): * Scripts/libraries/webkitbugspy/webkitbugspy/user.py: (User.__cmp__): Handle 'None' case. * Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py: (Contributor.__cmp__): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py: (TestContributor.test_comparison): 2022-03-14 Alejandro G. Castro [Flatpack SDK] Api tests scripts have conflicting parameters with the flatpak scripts https://bugs.webkit.org/show_bug.cgi?id=237778 Reviewed by Philippe Normand. run-gtk-tests and run-wpe-tests have arguments that cause conflicts with the flatpak sdk, we have to rewrite and consume some of them to avoid problems because we do not know what the user is requesting. This patch gives priority to the api tests parameters, the flatpak ones for the conflictive situations need to be passed with the long format, namely regenerate-toolchains and sccache-token. * Scripts/run-gtk-tests: * Scripts/run-wpe-tests: * glib/api_test_runner.py: (add_options): (get_runner_args): 2022-03-14 Jonathan Bedard [webkitcorepy] Do not fetch key without username https://bugs.webkit.org/show_bug.cgi?id=237830 Unreviewed git-webkit fix. * Scripts/libraries/webkitcorepy/setup.py: Bump version. * Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. * Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py: (credentials): Only attempt to fetch key if username is defined. 2022-03-14 Adrian Perez de Castro [GLib] Expose typed arrays in the public API https://bugs.webkit.org/show_bug.cgi?id=197535 Reviewed by Carlos Garcia Campos. This adds a set of new functions to operate on JSCValue objects which refer to typed arrays in the JavaScript side of the world. Typed array values can be created with an existing ArrayBuffer to hold the contents, in which case custom allocations are possible; or letting JSC handle allocation. Operating on typed arrays is expected to be done on an element-by-element basis, and in general it is recommended to use the functions dealing with the "length" (number of elements) of typed arrays; nevertheless it is also possible to retrieve their "size" and "offset" over the underlying ArrayBuffer, and/or retrieving said ArrayBuffer. * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: Added test for typed arrays. (elementSize): (testJSCTypedArray): (main): 2022-03-14 Kimmo Kinnunen WebGL context should use discrete gpu if the context is created when the window is on external monitor, ANGLE Metal backend https://bugs.webkit.org/show_bug.cgi?id=236487 Reviewed by Kenneth Russell. Add tests to test that the windowGPUID affects the contexts being created. Avoid ifdefs by always compiling the tests and move the "platform can have multiple gpus / there is no multiple gpus in the platform" ifdef aspects to helper functions. * TestWebKitAPI/Tests/WebCore/cocoa/TestGraphicsContextGLCocoa.mm: (TestWebKitAPI::allDevices): (TestWebKitAPI::lowPowerDevice): (TestWebKitAPI::highPerformanceDevice): (TestWebKitAPI::hasMultipleGPUs): (TestWebKitAPI::TEST_F): 2022-03-12 Tim Horton Adopt FALLBACK_PLATFORM_NAME in place of FALLBACK_PLATFORM https://bugs.webkit.org/show_bug.cgi?id=237809 Reviewed by Per Arne Vollan. * ContentExtensionTester/Configurations/SDKVariant.xcconfig: * DumpRenderTree/mac/Configurations/SDKVariant.xcconfig: * ImageDiff/cg/Configurations/SDKVariant.xcconfig: * MiniBrowser/Configurations/SDKVariant.xcconfig: * MobileMiniBrowser/Configurations/SDKVariant.xcconfig: * TestWebKitAPI/Configurations/SDKVariant.xcconfig: * WebEditingTester/Configurations/SDKVariant.xcconfig: * WebKitTestRunner/Configurations/SDKVariant.xcconfig: * lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig: 2022-03-11 Alex Christensen Finish implementing modify-headers actions for WKContentRuleList SPI https://bugs.webkit.org/show_bug.cgi?id=237784 Reviewed by Tim Hatcher. * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: (TestWebKitAPI::TEST_F): 2022-03-11 Adrian Perez de Castro [GLib] Expose ArrayBuffer in the public API https://bugs.webkit.org/show_bug.cgi?id=237088 Reviewed by Carlos Garcia Campos. This adds a set of new functions to operate on JSCValue objects which refer to array buffers in the JS side of the world. This allows sharing chunks of memory buffers efficiently with native code, without needing to copy nor encode data back and forth. * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: Added test for array buffers. (testJSCArrayBuffer): (main): 2022-03-11 Jonathan Bedard [Merge-Queue] Add queue triggered by label addition https://bugs.webkit.org/show_bug.cgi?id=237615 Reviewed by Aakash Jain. * CISupport/ews-build/config.json: Add Merge-Queue. * CISupport/ews-build/events.py: (GitHubEventHandlerNoEdits): Remove action list, add merge-queue labels. (GitHubEventHandlerNoEdits.handle_pull_request): Let parent class filter actions, treat merge-queue label addition as a 'synchronize', but change event name to trigger different scheduler family. * CISupport/ews-build/factories.py: (MergeQueueFactory): Added. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): * CISupport/ews-build/loadConfig.py: (loadBuilderConfig): AnyBranchSchedulers should only accept events which match their name. * CISupport/ews-build/loadConfig_unittest.py: (ConfigDotJSONTest): Match pull request scheduler name to pull request event. 2022-03-11 Jonathan Bedard [Merge-Queue] Check for merge-queue labels https://bugs.webkit.org/show_bug.cgi?id=237690 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (GitHubMixin): (GitHubMixin.get_pr_json): Add retry. (GitHubMixin._is_pr_in_merge_queue): Check for merge-queue label. (GitHubMixin.should_send_email_for_pr): get_pr_json now owns logging. (ValidateChange.__init__): Add verifyMergeQueue flag. (ValidateChange): (ValidateChange.start): Add log to indicate PR has a merge-queue flag. (ValidateChange.validate_github): Add retry when getting PR json, add merge queue check. * CISupport/ews-build/steps_unittest.py: 2022-03-11 Wenson Hsieh [iOS] Add support for -[UITextInput removeEmojiAlternatives] on WKContentView https://bugs.webkit.org/show_bug.cgi?id=237742 rdar://89647018 Reviewed by Kate Cheney. Adjust an API test and augment an existing test to exercise `-removeEmojiAlternatives`. * TestWebKitAPI/Tests/ios/TextAlternatives.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/ios/UIKitSPI.h: 2022-03-11 J Pascoe [WebAuthn] Support authenticatorSelection.residentKey ResidentKeyRequirement https://bugs.webkit.org/show_bug.cgi?id=237567 rdar://89788378 Reviewed by Brent Fulgham and Chris Dumez. Add API tests for authenticatorSelection.residentKey. * TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp: (TestWebKitAPI::TEST): 2022-03-10 Carlos Garcia Campos [GTK] Add a unit tests to check the remote inspector HTTP server https://bugs.webkit.org/show_bug.cgi?id=237708 Reviewed by Michael Catanzaro. Rework the inspector server test to also allow to launch the HTTP server and check it correctly serves the target list page. * TestWebKitAPI/Tests/WebKitGtk/InspectorTestServer.cpp: (main): * TestWebKitAPI/Tests/WebKitGtk/TestInspectorServer.cpp: (InspectorHTTPServerTest::setup): (InspectorHTTPServerTest::teardown): (testInspectorServerPageList): (testInspectorHTTPServerPageList): (beforeAll): (afterAll): (stopTestServer): Deleted. (sigAbortHandler): Deleted. (connectToInspectorServer): Deleted. (waitUntilInspectorServerIsReady): Deleted. (startTestServer): Deleted. 2022-03-10 Peng Liu EnterPictureInPictureEvent event was renamed to PictureInPictureEvent in spec https://bugs.webkit.org/show_bug.cgi?id=221083 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2022-03-10 Jonathan Bedard [git-webkit] Support multiple metadata locations https://bugs.webkit.org/show_bug.cgi?id=237395 Reviewed by Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git): Rename PROJECT_CONFIG_PATH to GIT_CONFIG_EXTENSION. (Git.config): Use dynamic context.metadata instead of constant. * Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py: (Scm.__init__): Use self.metadata instead of constant. (Scm.metadata): Support multiple locations for this directory. * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.git): Use dynamic repository.metadata instead of constant. * Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py: 2022-03-10 Wenson Hsieh [iOS] Add support for -[UITextInput addTextAlternatives:] on WKContentView https://bugs.webkit.org/show_bug.cgi?id=237691 rdar://89647018 Reviewed by Aditya Keerthi. Add several basic API tests to exercise the new API; in particular, exercise both cases where the text alternative's primary text matches before the selection, where it does not match, and where it matches inside the selection. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/ios/TextAlternatives.mm: Added. (-[TestWKWebView dictationAlternativesMarkerCount:]): (TestWebKitAPI::createWebViewForTestingTextAlternatives): (TestWebKitAPI::TEST): * TestWebKitAPI/ios/UIKitSPI.h: 2022-03-10 Elliott Williams [XCBuild] Fix GeneratedSources dependency validation errors https://bugs.webkit.org/show_bug.cgi?id=237490 Reviewed by Alexey Proskuryakov. * Scripts/set-webkit-configuration: Add --validate-dependencies option. * WebKitTestRunner/DerivedSources-input.xcfilelist: Autogenerated changes. * WebKitTestRunner/DerivedSources.make: Explicitly depend on preprocessor.pm, which is imported by other scripts but not listed as a dependency. 2022-03-09 Jonathan Bedard [EWS] Add DEFAULT_BRANCH variable https://bugs.webkit.org/show_bug.cgi?id=237693 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (ShowIdentifier.evaluateCommand): (CheckOutPullRequest.run): (CleanGitRepo.__init__): 2022-03-10 Carlos Garcia Campos [GTK][WPE] Add initial support for PDF documents using PDF.js https://bugs.webkit.org/show_bug.cgi?id=237513 Reviewed by Michael Catanzaro. Add a script to generate the GResource manifest for PDF.js sources. * glib/generate-pdfjs-gresource-manifest.py: Added. (get_filenames): (get_filenames.should_ignore_resource): (get_filenames.resource_name): (is_compressible): * gtk/manifest.txt.in: Add pdfjs to tarballs. * wpe/manifest.txt.in: Ditto. 2022-03-09 Jonathan Bedard [EWS] Support concept of 'blocked' pull requests https://bugs.webkit.org/show_bug.cgi?id=237370 Unreviewed follow-up fix. Accidently landed change using string literals instead of variables. * CISupport/ews-build/steps.py: (GitHubMixin): (GitHubMixin._is_pr_blocked): (ValidateChange.validate_github): (BlockPullRequest.start): (BlockPullRequest.getResultSummary): 2022-03-09 Lauro Moura [Tools] Add script to query results database https://bugs.webkit.org/show_bug.cgi?id=233800 Reviewed by Jonathan Bedard. This commit adds a script to query https://results.webkit.org for the history of a testcase for a given bot/config. It includes a `--only-changes` switch to show only revisions when the actual changed from the previous one (useful to check when a test started failing). For now it supports only layout-tests and has GTK/WPE bots predefined, although full configurations (the query string for results.webkit.org) can be used to access other bots. * Scripts/webkit-test-results: Added. 2022-03-09 Lauro Moura [webkitcorepy] Prefer xdg-open to open in linux https://bugs.webkit.org/show_bug.cgi?id=237655 Reviewed by Jonathan Bedard. * Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py: (Terminal.open_url): 2021-12-07 Zhifei Fang [results.webkit.org]Add selection box for results database. https://bugs.webkit.org/show_bug.cgi?id=233958 Reviewed by Jonathan Bedard. Allow user can drag a selection box to select multiple dots. Allow user to use cmd + click to select multiple dots. Allow user to use shift + click to select a row of dots. * Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/timeline.js: (TimelineFromEndpoint): (TimelineFromEndpoint.prototype.update): (TimelineFromEndpoint.prototype.getTestResultStatus): (TimelineFromEndpoint.prototype.getTestResultUrl): (TimelineFromEndpoint.prototype.render): * Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/tooltip.js: * Scripts/libraries/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js: (pointRectCollisionDetect): Detact if a point and a rect have a insertion. (rectRectCollisionDetect): Detact if two rects have a insertion. (XScrollableCanvasProvider): Add selection box. (xScrollStreamRenderFactory): (Timeline.CanvasSeriesComponent): Add selection box , cmd + click and shift + click. (prototype.ExpandableSeriesComponent): (prototype.Timeline.CanvasContainer): 2022-03-01 Jonathan Bedard [EWS] Support concept of 'blocked' pull requests https://bugs.webkit.org/show_bug.cgi?id=237370 Reviewed by Ryan Haddad. cq- communicates that a change is blocked, either by an engineer or by a failed EWS run. "changes requested" is not as dramatic as "cq-", so we are adding the concept of a "blocked" pull request, which has simlar effects to "cq-". * CISupport/ews-build/steps.py: (GitHubMixin._is_pr_blocked): Check if a pull request currently has the "blocked" tag. (GitHubMixin.modify_label): Add or remove a label from a pull request. (SetCommitQueueMinusFlagOnPatch.hideStepIf): Added. (BlockPullRequest): Added. (AnalyzeCompileWebKitResults.analyzeResults): Block PR if failed. (AnalyzeLayoutTestsResults.report_failure): Ditto. 2022-03-09 Jonathan Bedard [git-webkit] Extract revision from `git svn dcommit` (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=236849 Unreviewed follow-up fix. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py: (Land.main): Only capture stdout. 2022-03-09 Angelos Oikonomopoulos [JSC] Make runner should only schedule tests on live remotes https://bugs.webkit.org/show_bug.cgi?id=237030 Reviewed by Adrian Perez de Castro. The make runner does static scheduling of tests, i.e. it will assign tests to all known remotes. In practice, this means that even though the make runner participates in the retry loop, it will always end up scheduling any tests that failed to run (e.g. because the remote was down on startup or went away during testing) on all remotes, including ones that are known to be down. This patch makes it slightly more robust by introducing a liveness check (getLiveRemoteHosts) before the static scheduling, i.e. 1. in the initial preparation of the tests to run (prepareArtifacts) and 2. in refreshExecution. It reuses the command to get the number of processors as the liveness check (it's a command we know currenly works in all supported remotes), so flips numberOfProcessors inside-out. While here, it adds getconf _NPROCESSORS_ONLN as a final attempt to get the number of processors. This does not mean that the make runner is now robust against flaky remotes. At the very least, it's still missing an ssh timeout (so it won't hang e.g. when hosts go away after the initial connection is established) and child cleanup (e.g. when bailing early from one remote in forEachRemote, it needs to kill all children for other remotes, or we might end up retrying while the old jobs are still running). But it's getting there. Q: But isn't the GNU parallel runner much better suited for handling flaky remotes? A: Yes. However, the make runner is (somewhat) better at keeping the remote CPUs busy with "fast" remotes, so we may still want to use it when the remotes are both fast and stable enough. That said, it still needs to be able to recover from the occasional failed remote without producing false test failures. * Scripts/run-jsc-stress-tests: * Scripts/webkitruby/jsc-stress-test/executor.rb: Make remoteHosts available to refreshExecution. 2022-03-08 Jean-Yves Avenard Have MediaFormatReader plugin use WebMParser directly https://bugs.webkit.org/show_bug.cgi?id=237594 rdar://89960307 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebCore/SampleMap.cpp: 2022-03-08 John Cunningham RemoteGraphicsContextGL ReadPixels does not preserve contents for area that is not part of the Framebuffer https://bugs.webkit.org/show_bug.cgi?id=222410 Reviewed by Kimmo Kinnunen. Make a copy of the data buffer passed into readnpixels so that reads outside the framebuffer contain the expected results, rather than being zero'd. * Scripts/generate-gpup-webgl: 2022-03-08 Jean-Yves Avenard Split SourceBufferParserWebM and have platform agnostic WebMParser https://bugs.webkit.org/show_bug.cgi?id=237472 rdar://problem/89810969 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebCore/SampleMap.cpp: Update following base class definition change. 2022-03-08 Alex Christensen Remove unused _grantAccessToPreferenceService https://bugs.webkit.org/show_bug.cgi?id=237623 Reviewed by Per Arne Vollan. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/GrantAccessToPreferencesService.mm: Removed. 2022-03-08 Chris Dumez Rename allow-custom-protocols-navigation to allow-top-navigation-to-custom-protocols https://bugs.webkit.org/show_bug.cgi?id=237605 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm: (TEST): 2022-03-08 Jonathan Bedard [git-webkit] Prompt user when GitHub credentials are likely incorrect https://bugs.webkit.org/show_bug.cgi?id=237450 Reviewed by Dewei Zhu. GitHub doesn't make it obvious when credentials are invalid, but our scripts can make an educated guess when invalid credentials are the root cause. * Scripts/libraries/webkitbugspy/setup.py: Bump version. * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/github.py: (Tracker): Add REFRESH_TOKEN_PROMPT. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py: (GitHub.PRGenerator.create): (GitHub.PRGenerator.update): (GitHub.request): * Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py: (TestCheckout.test_no_pr_github): 2022-03-08 Jonathan Bedard [git-webkit] Set bug tracker usernames from contributors.json https://bugs.webkit.org/show_bug.cgi?id=237608 Reviewed by Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py: (Scm.__init__): Set GitHub and bugzilla usernames from contributors.json 2022-03-08 Youenn Fablet Add a preference to mute video capture in case audio capture gets interrupted https://bugs.webkit.org/show_bug.cgi?id=237524 Reviewed by Eric Carlson. Add support for interrupt mock microphone devices. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: 2022-03-08 Carlos Garcia Campos [GTK][WPE] Do not add new modules under ThirdParty to the tarball https://bugs.webkit.org/show_bug.cgi?id=237519 Reviewed by Michael Catanzaro. We currently include ThirdParty and exclude individually what we don't want in the tarball. That means every time something new is added to ThirdParty we have to manually exclude it. It's better to exclude ThirdParty and manually add what we need instead. * gtk/manifest.txt.in: * wpe/manifest.txt.in: 2022-03-08 Sihui Liu Add early return for empty path in makeAllDirectories https://bugs.webkit.org/show_bug.cgi?id=237540 rdar://89901536 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WTF/FileSystem.cpp: (TestWebKitAPI::TEST_F): 2022-03-07 David Kilzer Fix Release builds for sanitizers by defining RELEASE_WITHOUT_OPTIMIZATIONS Reviewed by Kate Cheney. * sanitizer/sanitizer.xcconfig: (OTHER_CFLAGS): Add `-DRELEASE_WITHOUT_OPTIMIZATIONS` so Release builds at lower optimization levels don't fail. 2022-03-07 Jean-Yves Avenard Add ability to convert FragmentedSharedBuffer to CMBlockBuffer https://bugs.webkit.org/show_bug.cgi?id=237075 Reviewed by Jer Noble. * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: (TestWebKitAPI::TEST_F): 2022-03-07 Jean-Yves Avenard MediaTime::invalidTime() conversion to CMTime incorrectly creates a valid time. https://bugs.webkit.org/show_bug.cgi?id=237473 rdar://problem/89814921 Reviewed by Jer Noble. Fly-by fixes: AVFoundationSoftLinkTest wasn't being compiled * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/cocoa/CoreMediaUtilities.mm: Added. (TestWebKitAPI::TEST): 2022-03-07 Chris Dumez allow-custom-protocols-navigation sandbox flag. https://bugs.webkit.org/show_bug.cgi?id=237269 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm: (TEST): 2022-03-07 Jonathan Bedard [iOS] editing/async-clipboard/* 20 tests are flaky timeouts on iOS https://bugs.webkit.org/show_bug.cgi?id=237372 Reviewed by Alexey Proskuryakov. * CISupport/kill-old-processes: Kill "Simulator" process (since killing Simulator.app won't do anything), shutdown simulators before killing processes. Check that simulators are shut down before continuing. 2022-03-07 Chris Dumez Optimize the passing of data across threads https://bugs.webkit.org/show_bug.cgi?id=237502 Reviewed by Geoff Garen. Expand test coverage for crossThreadCopy() and make sure the optimizations are working when called on a r-value reference. * TestWebKitAPI/Tests/WTF/CrossThreadCopier.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Vector.cpp: (TestWebKitAPI::TEST): 2022-03-07 Jonathan Bedard [git-webkit] Derive branch name from bug title (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=237284 Unreviewed follow-up fix. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py: (TestBranch.test_basic_svn): Using an integer will attempt to find a bug number. (TestBranch.test_basic_git): Ditto. 2022-03-07 Jonathan Bedard [webkitbugspy] Allow creation of new issues https://bugs.webkit.org/show_bug.cgi?id=237123 Reviewed by Dewei Zhu. * Scripts/libraries/webkitbugspy/setup.py: Bump version. * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py: (Tracker.projects): Return a dictionary of projects, components and versions. (Tracker.create): Create a new bug, prompting user for product, component and version if needed. * Scripts/libraries/webkitbugspy/webkitbugspy/github.py: (Tracker.labels): Return a dictionary of all labels associated with the project. (Tracker.projects): Return an empty dictionary. (Tracker.create): Create a new issue. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/__init__.py: Export PROJECT data. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/base.py: (Base.__init__): Mock trackers should define a project dictionary. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/bugzilla.py: (Bugzilla.__init__): (Bugzilla._product_details): Derive product details from project dictionary. (Bugzilla._create): Create a new bug. (Bugzilla.request): Handle requests for product details and bug creation. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/data.py: * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/github.py: (GitHub.__init__): (GitHub._labels): Return a list of project labels. (GitHub._create): Create a new issue. (GitHub.request): Handle requests for labels and issue creation. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/radar.py: (RadarClient.find_components): Mock radarclient's component search API. (RadarClient.create_radar): Mock radarclient's radar creation API. (Radar.Component): Added. (Radar.exceptions): Added. * Scripts/libraries/webkitbugspy/webkitbugspy/radar.py: (Tracker): (Tracker.Encoder.default): Pass 'projects' to radar instances. (Tracker.__init__): Callers should define projects to limit component scope. (Tracker.projects): Search radar components to provide a subset relevant to the declared projects. (Tracker.create): Create a radar, prompting user for component and version if needed. * Scripts/libraries/webkitbugspy/webkitbugspy/tests/bugzilla_unittest.py: (TestBugzilla.test_state_why): (TestBugzilla): (TestBugzilla.test_projects): (TestBugzilla.test_create): (TestBugzilla.test_create_prompt): * Scripts/libraries/webkitbugspy/webkitbugspy/tests/github_unittest.py: (TestGitHub.test_state_why): (TestGitHub): (TestGitHub.test_labels): (TestGitHub.test_projects): (TestGitHub.test_create): * Scripts/libraries/webkitbugspy/webkitbugspy/tests/radar_unittest.py: (TestRadar.test_state_why): (TestRadar): (TestRadar.test_projects): (TestRadar.test_create): (TestRadar.test_create_prompt): * Scripts/libraries/webkitbugspy/webkitbugspy/tracker.py: (Tracker.from_json): Pass 'projects' to radar instances. (Tracker.projects): Add base-class implementation. (Tracker.create): Ditto. 2022-03-06 Lauro Moura [Flatpak SDK] Fix key expired treatment with Python3 https://bugs.webkit.org/show_bug.cgi?id=237509 Reviewed by Fujii Hironori. * flatpak/flatpakutils.py: (FlatpakObject.flatpak_update): 2022-03-06 Wenson Hsieh [iOS] Layer tree can get indefinitely frozen if WKWebView is unparented underneath -[UIWindow dealloc] https://bugs.webkit.org/show_bug.cgi?id=237505 rdar://85563958 Reviewed by Tim Horton. Add an API test to exercise the bug. This API test is comprised of the following series of steps: 1. Create the web view and add it under window #1. 2. Post a "did enter background" notification. 3. Deallocate window #1 (thereby unparenting the web view in the process). 4. Post a "will enter foreground" notification. 5. Add the web view under window #2. 6. Load some HTML content and wait for a presentation update. Before the fix, this test times out because the layer tree is permanently frozen after step (3), due to the `BackgroundApplication` reason, so the presentation update in step (6) never finishes. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/ios/ApplicationStateTracking.mm: Added. (TestWebKitAPI::TEST): 2022-03-04 Sihui Liu Add null check for path in makeAllDirectories https://bugs.webkit.org/show_bug.cgi?id=237477 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/FileSystem.cpp: (TestWebKitAPI::TEST_F): 2022-03-04 Myles C. Maxfield [iOS] Books ASSERTs upon opening a book with a debug build of WebKit https://bugs.webkit.org/show_bug.cgi?id=237445 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WTF/FileSystem.cpp: (TestWebKitAPI::TEST_F): 2022-03-04 Chris Dumez URL's isolatedCopy() optimization when called on a r-value reference doesn't work https://bugs.webkit.org/show_bug.cgi?id=237481 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WTF/URL.cpp: (TestWebKitAPI::TEST_F): 2022-03-04 Aditya Keerthi [iOS] Unable to scroll to a found text range when there is an existing selection https://bugs.webkit.org/show_bug.cgi?id=237407 rdar://89653213 Reviewed by Wenson Hsieh. Add an API test that sets a selection in the document, finds some text outside the viewport, and scrolls to make the found text visible. * TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm: (-[TestScrollViewDelegate init]): (-[TestScrollViewDelegate scrollViewDidEndScrollingAnimation:]): (TEST): 2022-03-04 Philippe Normand [Flatpak SDK] Upgrade from llvm12 to llvm13 https://bugs.webkit.org/show_bug.cgi?id=237430 Reviewed by Adrian Perez de Castro. * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): (WebkitFlatpak._get_dependency_packages): 2022-03-03 Ben Nham Enforce silent push quota https://bugs.webkit.org/show_bug.cgi?id=236863 Reviewed by Brady Eidson. Modified existing push tests to show a notification. Added a new test case to make sure that subscriptions are removed when an origin reaches its quota of silent pushes. * TestWebKitAPI/TestNotificationProvider.cpp: (TestWebKitAPI::notificationPermissions): (TestWebKitAPI::TestNotificationProvider::TestNotificationProvider): (TestWebKitAPI::TestNotificationProvider::~TestNotificationProvider): (TestWebKitAPI::TestNotificationProvider::notificationPermissions): (TestWebKitAPI::TestNotificationProvider::setPermission): * TestWebKitAPI/Tests/WebCore/PushDatabase.cpp: (TestWebKitAPI::makeTemporaryDatabasePath): (TestWebKitAPI::getTopicsSync): (TestWebKitAPI::PushDatabaseTest::getTopics): (TestWebKitAPI::PushDatabaseTest::removeRecordsByBundleIdentifierAndSecurityOrigin): (TestWebKitAPI::PushDatabaseTest::incrementSilentPushCount): (TestWebKitAPI::operator==): (TestWebKitAPI::TEST_F): (TestWebKitAPI::TEST): * TestWebKitAPI/cocoa/HTTPServer.mm: (TestWebKitAPI::HTTPServer::origin const): 2022-03-03 Dewei Zhu 'run-benchmark' script should log http requests during benchmark run. https://bugs.webkit.org/show_bug.cgi?id=237076 Reviewed by Jonathan Bedard. Relanding 290583 with fix. Add support to log http requests during benchmark run for diagnostic purpose. AutoInstall sets 'AUTOINSTALL_CA_CERT_PATH' to environment variables when certificate is specified, and uses 'AUTOINSTALL_CA_CERT_PATH' when it's present in environment variables. This ensures scripts invoked from subprocess can use autoinstalled correcctly. * Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py: (AutoInstall): (AutoInstall.set_index): * Scripts/webkitpy/__init__.py: Update 'attr' package version to 20.3.0 so match upgraded twisted version * Scripts/webkitpy/autoinstalled/twisted.py: Upgrade twisted version to latest python2 & python3 compatibile version with specified implicit dependencies. * Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Ensure benchmark diagnostic directory is created. (BenchmarkRunner.__init__): * Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py: Add '--log-path' arugment to allow specify logging output and it defaults to '/tmp/run-benchmark-http.log' * Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py: (HTTPServerDriver.set_device_id): (HTTPServerDriver): (HTTPServerDriver.set_http_log): * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Pass http log path to twisted http server if specified. (SimpleHTTPServerDriver.__init__): (SimpleHTTPServerDriver.serve): (SimpleHTTPServerDriver.set_http_log): * Scripts/webkitpy/benchmark_runner/run_benchmark.py: Fix a tiny bug that default_diagnose_dir() is involked twice in argument parser help message. (config_argument_parser): * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: Set http request log path if diagnostic directory is specified. (WebServerBenchmarkRunner.__init__): 2022-03-03 Jonathan Bedard [git-webkit] Handle new PR with old branch name https://bugs.webkit.org/show_bug.cgi?id=237457 Reviewed by Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest.main): 2022-03-03 Sihui Liu Text manipulation does not observe updated title element https://bugs.webkit.org/show_bug.cgi?id=237435 rdar://87318842 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: (TestWebKitAPI::TEST): 2022-03-03 Lauro Moura [Python3] Switch a few more glib scripts to Python3 https://bugs.webkit.org/show_bug.cgi?id=237442 Reviewed by Adrian Perez de Castro. * Scripts/check-for-global-bss-symbols-in-webkitgtk-libs: Update shebang. (bss_symbols): Decode Popen bytes output. * gtk/jhbuildrc: Update shebang. * gtk/ycm_extra_conf.py: Ditto. * jhbuild/jhbuild-wrapper: Ditto. (jhbuild_at_expected_revision): Decode Popen bytes output. * jhbuild/jhbuildrc_common.py: Remove uneeded shebang. * wpe/jhbuildrc: Update shebang. 2022-03-03 Jonathan Bedard [webkitcorepy] Disable prompt when saving credentials https://bugs.webkit.org/show_bug.cgi?id=237438 Reviewed by Aakash Jain. * Scripts/libraries/webkitbugspy/setup.py: Bump version. * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/github.py: (Tracker.credentials): Pass 'save' to webkitcorepy.credentials. * Scripts/libraries/webkitcorepy/setup.py: Bump version. * Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. * Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py: (credentials): Unless caller explicitly disables saving, assume that all credentials should be saved to a system's keyring. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.github): Automatically save any prompted credentials. (Setup.git): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py: (GitHub.credentials): Pass 'save' to github.Tracker.credentials. 2022-03-03 Jonathan Bedard [git-webkit] Open pre-populated GitHub page for new tokens https://bugs.webkit.org/show_bug.cgi?id=237436 Reviewed by Ryan Haddad. GitHub gives us a way to pre-populate its token generation web page. We should open this page with appropriate arguments during setup. * Scripts/libraries/webkitbugspy/setup.py: Bump version. * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/github.py: (Tracker.credentials): Make 'prompt' into a function, allowing us to open a url and change the prompt based on the success of opening the url. * Scripts/libraries/webkitcorepy/setup.py: Bump version. * Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. * Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py: (credentials): Allow 'prompt' to be callable. 2022-03-03 Lauro Moura [build.webkit.org] Add GTK queue using clang https://bugs.webkit.org/show_bug.cgi?id=229637 Reviewed by Michael Catanzaro. This commit adds a specific queue to build with clang in place of GCC. It will help cover both toolchains and catch bugs and warnings that happen to be raised by/to affect only clang. Initially, it'll be a build-only queue, moving to a complete build and tester in the future. It'll use clang-12, the version available in the current SDK used by GTK and WPE. * CISupport/build-webkit-org/config.json: * CISupport/build-webkit-org/factories_unittest.py: (TestExpectedBuildSteps): 2022-03-03 Myles C. Maxfield [Style] Forbid spaces between type names and protocol names in Objective-C https://bugs.webkit.org/show_bug.cgi?id=237406 Reviewed by Darin Adler. According to https://lists.webkit.org/pipermail/webkit-dev/2022-February/032130.html. Because the style checker uses regexes, we don't know what's a type name and what's a protocol name, so the checker simplifies the problem and just checks for "id <". * Scripts/webkitpy/style/checkers/cpp.py: (check_objc_protocol): (check_style): 2022-03-03 Jonathan Bedard [Python-3] Invoke webkit-patch with Python 3 by default (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=231591 Unreviewed follow-up fix. * Scripts/webkitpy/tool/commands/download.py: (AbstractRevertPrepCommand._prepare_state): Reason may be spread accross multiple arguments. * Scripts/webkitpy/tool/commands/download_unittest.py: 2022-03-03 Philippe Normand [Python3] Switch a couple glib/flatpak scripts to Python3 https://bugs.webkit.org/show_bug.cgi?id=237377 Reviewed by Carlos Garcia Campos. * Scripts/update-webkit-flatpak: Update shebang to Python3. * Scripts/webkit-flatpak: Ditto. * glib/api_test_runner.py: Ditto. * glib/common.py: Remove useless shebang. * glib/generate-inspector-gresource-manifest.py: Update shebang to Python3. * glib/svn-revision: Ditto. 2022-03-02 Lauro Moura [Tools] Fix linux_get_crash_log.py error logging with python3 https://bugs.webkit.org/show_bug.cgi?id=237404 Reviewed by Fujii Hironori. Avoid issues generating error logs after 247736@main defaulted to python3. * Scripts/webkitpy/port/linux_get_crash_log.py: (GDBCrashLogGenerator._get_gdb_output): Encode returncode before appending to bytes. 2022-03-02 Jonathan Bedard [webkitcorepy] Add Terminal.open_url https://bugs.webkit.org/show_bug.cgi?id=237386 Reviewed by Don Olmstead. Different platforms have different commands to open URLs. * Scripts/libraries/webkitcorepy/setup.py: Bump version. * Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. * Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py: (Terminal): Add list of valid URL prefixes. (Terminal.open_url): If terminal is interactive, open the provided URL. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.main): Invoke Terminal.open_url. 2022-03-02 Chris Dumez Unreviewed, address post-landing feedback from Darin on r290743 * WebKitTestRunner/mac/EventSenderProxy.mm: (WTR::EventSenderProxy::mouseMoveTo): 2022-03-02 Jonathan Bedard [Python-3] Invoke webkit-patch with Python 3 by default https://bugs.webkit.org/show_bug.cgi?id=231591 Reviewed by Ryan Haddad. * Scripts/webkit-patch: Change shebang to Python 3. 2022-03-02 Jonathan Bedard [git-webkit] Derive branch name from bug title https://bugs.webkit.org/show_bug.cgi?id=237284 Reviewed by Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py: (Branch.to_branch_name): Convert string (particularly a bug title) to potential branch name. (Branch.main): If provided branch name is actually a bug number or URL, use the title of that bug as the branch name. * Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py: (TestBranch): (TestBranch.test_prompt_git): (TestBranch.test_prompt_number): (TestBranch.test_prompt_url): (TestBranch.test_invalid_branch): (TestBranch.test_to_branch_name): 2022-03-02 Jonathan Bedard [git-webkit] Sync personal fork by default https://bugs.webkit.org/show_bug.cgi?id=237324 Reviewed by Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git): Add new webkitscmpy.update-fork option. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest.main): If we are rebasing the source branch, we should push that synced branch to a user's personal fork, if such a fork exists. * Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py: 2022-03-02 Chris Dumez Mousemove events double-firing in Safari https://bugs.webkit.org/show_bug.cgi?id=237342 Reviewed by Wenson Hsieh. Call [WKWebView _simulateMouseMove:] SPI instead of calling [WKWebView mouseMoved:] since the latter calls are now being ignored. * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView mouseMoveToPoint:withFlags:]): * TestWebKitAPI/mac/PlatformWebViewMac.mm: (TestWebKitAPI::PlatformWebView::simulateMouseMove): * WebKitTestRunner/mac/EventSenderProxy.mm: (WTR::EventSenderProxy::mouseMoveTo): 2022-03-02 Sihui Liu Add assertion that no two sessions share the same general storage directory https://bugs.webkit.org/show_bug.cgi?id=236844 Reviewed by Chris Dumez. Update the tests where two WebsiteDataStores are created with the same general storage directory. * TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm: (emptyObservationsDBPath): (emptyPcmDBPath): (cleanUp): * TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm: * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (runWebsiteDataStoreCustomPaths): 2022-03-02 Sihui Liu Add test coverage for deleting FileSystem data when file is being written https://bugs.webkit.org/show_bug.cgi?id=237353 Reviewed by Chris Dumez. Verify that file can be removed from disk, and active FileSystemSyncAccessHandle is invalidated in this case. * TestWebKitAPI/Tests/WebKitCocoa/FileSystemAccess.mm: 2022-03-02 Alex Christensen Add SPI _WKDataTask https://bugs.webkit.org/show_bug.cgi?id=237234 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm: (-[TestDataTaskDelegate dataTask:didReceiveAuthenticationChallenge:completionHandler:]): (-[TestDataTaskDelegate dataTask:didReceiveResponse:decisionHandler:]): (-[TestDataTaskDelegate dataTask:didReceiveData:]): (-[TestDataTaskDelegate dataTask:didCompleteWithError:]): (TEST): 2022-03-01 Wenson Hsieh Clipboard Paste dialog doesn't show on external monitors https://bugs.webkit.org/show_bug.cgi?id=236395 rdar://88943577 Reviewed by Tim Horton. Adjust the swizzled implementation of `-popUpContextMenu:withEvent:forView:` to additionally verify that the NSEvent we're presenting the menu with isn't `nil`. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::swizzledPopUpContextMenu): 2022-03-01 Fujii Hironori WTF::SentinelLinkedList::iterator should have operator++ for range-for loop https://bugs.webkit.org/show_bug.cgi?id=237265 Reviewed by Yusuke Suzuki. * TestWebKitAPI/Tests/WTF/SentinelLinkedList.cpp: (TestWebKitAPI::TEST): 2022-03-01 Fujii Hironori [WinCairo][pywebsocket3] UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 640: character maps to https://bugs.webkit.org/show_bug.cgi?id=237339 Reviewed by Jonathan Bedard. After r290580 started to use pywebsocket3 and Python 3, Windows Python couldn't start WebSocket server due to UnicodeDecodeError. * Scripts/webkitpy/port/win.py: (WinPort.setup_environ_for_server): Added PYTHONUTF8 environment variable. 2022-03-01 Andres Gonzalez Make accessibility/aria-hidden-false-works-in-subtrees.html async to pass in isolated tree mode. https://bugs.webkit.org/show_bug.cgi?id=237051 Reviewed by Chris Fleizach. * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm: (WTR::AccessibilityController::accessibleElementById): Convert the JSStringRef to NSString on the main thread and capture the NSString to be used on the AX secondary thread. This may be safer since JSStringRefs are supposed to be used on the main thread. 2022-03-01 Jonathan Bedard [git-webkit] Gate information URL on initial setup https://bugs.webkit.org/show_bug.cgi?id=237325 Reviewed by Aakash Jain. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.main): Offer to open documentation URL if repository has not been setup. * Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py: (TestSetup.test_github): 2022-03-01 J Pascoe REGRESSION(r290539-r290538): [ iOS ] 3 TestWebKitAPI.WebAuthenticationPanel.* tests are constantly failing/crashing. https://bugs.webkit.org/show_bug.cgi?id=237285 rdar://problem/89579460 Reviewed by Brent Fulgham. Remove obsolete API test and ensure another has clean state. * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST): 2022-03-01 Commit Queue Unreviewed, reverting r290325. https://bugs.webkit.org/show_bug.cgi?id=237326 Broken patch Reverted changeset: "[GStreamer] Switch media player to playbin3" https://bugs.webkit.org/show_bug.cgi?id=236884 https://commits.webkit.org/r290325 2022-03-01 Angelos Oikonomopoulos [JSC] Implement chunking for the GNU parallel runner https://bugs.webkit.org/show_bug.cgi?id=237028 Reviewed by Adrian Perez de Castro. The GNU parallel runner can't keep up with the scheduling when using multiple fast remotes. This results in poor CPU utilization on the remotes and more waiting time. As a quick fix, allow the user to specify a --gnu-parallel-chunk-size, the value of which specifies the number of test jobs to schedule as a unit (defaults to 1). Specifying a higher value means longer-running jobs, so that GNU parallel can more efficiently schedule them. * Scripts/run-javascriptcore-tests: (runJSCStressTests): * Scripts/run-jsc-stress-tests: 2022-03-01 Sihui Liu Migrate third-party IndexedDB data to GeneralStorageDirectory https://bugs.webkit.org/show_bug.cgi?id=237283 Reviewed by Chris Dumez. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm: * TestWebKitAPI/Tests/WebKitCocoa/indexeddb-persistence-third-party.sqlite3: Added. 2022-02-28 Simon Fraser No animation when scroll snap scroller is navigated with the keyboard https://bugs.webkit.org/show_bug.cgi?id=236244 Reviewed by Tim Horton. In fixing this bug I ran into the issue predicted in https://bugs.webkit.org/show_bug.cgi?id=234456#c6. As a workaround, explicitly set NSScrollAnimationEnabled to NO in both processes. This is a partial revert of r287228 which I tried, and failed to fix via bug 234488. * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: (WTR::InjectedBundle::platformInitialize): * WebKitTestRunner/mac/main.mm: (setDefaultsToConsistentValuesForTesting): 2022-02-28 Wenson Hsieh Add API testing infrastructure for "Markup Image" and "Copy Cropped Image" https://bugs.webkit.org/show_bug.cgi?id=236519 rdar://89154213 Reviewed by Tim Horton. Add API testing support (as well as a new API test) for the "Markup Image" flow. * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: (TestWebKitAPI::TEST): (TestWebKitAPI::invokeImageMarkupAction): * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm: Add an API test that triggers the "Markup Image" action, and verifies the following: - The first image is replaced with the canned image result (a 215-px-wide image of the WebKit logo). - The selection range is effectively unchanged. * TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.h: * TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.mm: Add a declaration for ImageAnalysisMarkupSwizzler, a helper class that is used in the new API test to make VisionKit return a canned image and cropped rect when invoking the SPI that corresponds to "Markup Image"; see WebKitAdditions change for more information. * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[WKWebView selectedText]): * TestWebKitAPI/ios/TestUIMenuBuilder.h: * TestWebKitAPI/ios/TestUIMenuBuilder.mm: (-[TestUIMenuBuilder actionWithTitle:]): Refactor and rename this to return the found UIAction instead of just a BOOL indicating whether or not it could be found, and change existing call sites above to use `EXPECT_NULL` and `EXPECT_NOT_NULL`. (-[TestUIMenuBuilder containsActionWithTitle:]): Deleted. * TestWebKitAPI/ios/UIKitSPI.h: 2022-02-28 Christopher Reid [Win] vswhere should search for Visual Studio Build tools https://bugs.webkit.org/show_bug.cgi?id=237229 Reviewed by Ross Kirsling. * Scripts/webkitdirs.pm: 2022-02-28 Angelos Oikonomopoulos [webkit-patch] Allow user to opt out of browser for viewing the diff https://bugs.webkit.org/show_bug.cgi?id=220925 Reviewed by Jonathan Bedard. The user may legitimately have a browser installed yet not want to use it to view the diff. * Scripts/webkitpy/common/system/user.py: (User.can_open_url): 2022-02-28 Jonathan Bedard Unreviewed, reverting r290583. Breaks webkit-patch Reverted changeset: "'run-benchmark' script should log http requests during benchmark run." https://bugs.webkit.org/show_bug.cgi?id=237076 https://commits.webkit.org/r290583 2022-02-28 Pascal Abresch Enable python3 for lighttpd https://bugs.webkit.org/show_bug.cgi?id=236938 Reviewed by Darin Adler. This is needed for the Haiku port to use the python3 tests. This patch also removes the PHP support since all PHP tests have been removed and there are currently no plans to include new ones in the future. * Scripts/webkitpy/layout_tests/servers/http_server.py: (Lighttpd._prepare_config): * Scripts/webkitpy/layout_tests/servers/lighttpd.conf: 2022-02-22 Jonathan Bedard [run-webkit-tests] Use Python 3 (Part 3) https://bugs.webkit.org/show_bug.cgi?id=226658 Reviewed by Ryan Haddad. * CISupport/ews-build/steps.py: (RunWebKitTests): Change invocation to Python 3. * CISupport/ews-build/steps_unittest.py: (test_success): (test_warnings): 2022-02-27 Dewei Zhu 'run-benchmark' script should log http requests during benchmark run. https://bugs.webkit.org/show_bug.cgi?id=237076 Reviewed by Simon Fraser. Add support to log http requests during benchmark run for diagnostic purpose. * Scripts/webkitpy/__init__.py: Update 'attr' package version to 20.3.0 so match upgraded twisted version * Scripts/webkitpy/autoinstalled/twisted.py: Upgrade twisted version to latest python2 & python3 compatibile version. * Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Ensure benchmark diagnostic directory is created. (BenchmarkRunner.__init__): * Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py: Add '--log-path' arugment to allow specify logging output and it defaults to '/tmp/run-benchmark-http.log' * Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py: (HTTPServerDriver.set_device_id): (HTTPServerDriver): (HTTPServerDriver.set_http_log): * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Pass http log path to twisted http server if specified. (SimpleHTTPServerDriver.__init__): (SimpleHTTPServerDriver.serve): (SimpleHTTPServerDriver.set_http_log): * Scripts/webkitpy/benchmark_runner/run_benchmark.py: Fix a tiny bug that default_diagnose_dir() is involked twice in argument parser help message. (config_argument_parser): * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: Set http request log path if diagnostic directory is specified. (WebServerBenchmarkRunner.__init__): 2022-02-27 Jonathan Bedard webkitpy: WebSocket server doesn't support Python 3 https://bugs.webkit.org/show_bug.cgi?id=230319 Reviewed by Fujii Hironori. * Scripts/new-run-webkit-websocketserver: Change shebang. * Scripts/webkitpy/layout_tests/servers/websocket_server.py: (PyWebSocket._prepare_config): Invoke WebSocket server with Python 3. 2022-02-27 Chris Dumez Omit template parameter for SetForScope<> variables https://bugs.webkit.org/show_bug.cgi?id=237258 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/SetForScope.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm: (TEST): * TestWebKitAPI/mac/TestFontOptions.mm: (-[TestFontOptions setShadowWidth:]): (-[TestFontOptions setShadowHeight:]): (-[TestFontOptions setShadowBlurRadius:]): (-[TestFontOptions setHasShadow:]): (-[TestFontOptions setForegroundColor:]): (-[TestFontOptions setBackgroundColor:]): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::TestController::reattachPageToWebProcess): 2022-02-27 Chris Dumez Call WKNavigationDelegate.didFailProvisionalNavigation even after a cross-origin navigation with COOP https://bugs.webkit.org/show_bug.cgi?id=237071 Reviewed by Darin Adler. Add API test coverage (Test was written by Alex Christensen). * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm: (TEST): 2022-02-25 Sihui Liu [macOS] TestWebKitAPI.WebKit.MigrateLocalStorageDataToGeneralStorageDirectory is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=237065 Reviewed by Alexey Proskuryakov. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2022-02-25 Wenson Hsieh Adjust -[WKContentView _requiresKeyboardWhenFirstResponder] to account for editable web views https://bugs.webkit.org/show_bug.cgi?id=237226 rdar://89447095 Reviewed by Aditya Keerthi. Add an API test to exercise the change. This new API test is comprised of 3 parts: - Verify that `-_requiresKeyboardWhenFirstResponder` is NO after loading the page. - Verify that `-_requiresKeyboardWhenFirstResponder` becomes YES after making the web view editable. - Verify that `-_requiresKeyboardWhenFirstResponder` is NO again after focusing a readonly input inside the now-editable web view. * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/ios/UIKitSPI.h: 2022-02-25 J Pascoe [WebAuthn] Fallback to attestation=none whenever attestation fails https://bugs.webkit.org/show_bug.cgi?id=237223 rdar://88767812 Reviewed by Brent Fulgham. Add test for local authenticator attestation fallback behavior. * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST): 2022-02-25 Brent Fulgham WebKit continues to render PDF images in Captive Portal mode https://bugs.webkit.org/show_bug.cgi?id=237120 Reviewed by Chris Dumez. WebKit should handle all PDF processing in PDF.JS when in Captive Portal mode. However, testing revealed that PDF images are still rendered natively. As a first step we should bypass the native PDF code path. A subsequent patch will handle in PDF.JS. We need to thread the state of the Captive Portal setting through the image loading code so that WebKit knows to bail out before consuming the PDF data in the native decoder. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/CaptivePortalPDF.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[CaptivePortalMessageHandler userContentController:didReceiveScriptMessage:]): Add new test case. * TestWebKitAPI/Tests/WebKitCocoa/webkit-logo.pdf: Added. 2022-02-25 Sihui Liu Regression(r242729): m_origin in IDBDatabaseIdentifier is incorrect https://bugs.webkit.org/show_bug.cgi?id=237044 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm: (-[IndexedDBMessageHandler userContentController:didReceiveScriptMessage:]): (TEST): 2022-02-25 Alex Christensen Re-add YouTubePluginReplacement, removed in r285252 https://bugs.webkit.org/show_bug.cgi?id=237182 Reviewed by Chris Dumez. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp: 2022-02-24 Jonathan Bedard [Python 3] Invoke validate-committer-lists with Python 3 https://bugs.webkit.org/show_bug.cgi?id=237171 Reviewed by Alexey Proskuryakov. * Scripts/validate-committer-lists: (CommitterListFromMailingList): Use https urls. (CommitterListFromMailingList._fetch_authors_and_last_commit_time_from_git_log): Handle commits in the canonical repository. (CommitterListFromGit.possibly_expired_committers): Use Python 3 sorting idioms. (CommitterListFromGit.possibly_inactive_reviewers): Declare process encoding. (CommitterListFromGit.print_possibly_expired_committers): Committers which are not in contributors.json or are only contributors cannot have expired committer status. (CommitterListFromGit.print_possibly_inactive_reviewers): String already utf-8. (CommitterListFromGit.print_committers_missing_from_committer_list): Check contributors, not committers. * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: (BugzillaQueries.fetch_bugs_matching_quicksearch): Make urllib.quote invocations Python 3 compatible. (BugzillaQueries.fetch_bugs_matching_search): Ditto. (BugzillaQueries.fetch_bugs_from_review_queue): Ditto. (BugzillaQueries.fetch_login_userid_pairs_matching_substring): Ditto. (BugzillaQueries.is_invalid_bugzilla_email): Ditto. 2022-02-25 Kimmo Kinnunen REGRESSION(r289580): [ iOS macOS ] TestWebKitAPI.IPCTestingAPI.CanReceiveSharedMemory is a constant timeout https://bugs.webkit.org/show_bug.cgi?id=236744 Reviewed by Antti Koivisto. * TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: 2022-02-25 Carlos Garcia Campos AX: List item marker not exposed when not a direct child of a list item https://bugs.webkit.org/show_bug.cgi?id=236777 Reviewed by Adrian Perez de Castro. * WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp: (WTR::roleValueToString): Return AXStatic for Text role too. 2022-02-24 Alex Christensen Unreviewed, reverting r290371. Caused assertion Reverted changeset: "Call WKNavigationDelegate.didFailProvisionalNavigation even after a cross-origin navigation with COOP" https://bugs.webkit.org/show_bug.cgi?id=237071 https://commits.webkit.org/r290371 2022-02-24 Aditya Keerthi [iOS] Add support for replacing WKFoundTextRanges https://bugs.webkit.org/show_bug.cgi?id=237151 rdar://89258687 Reviewed by Wenson Hsieh. Add a test that replaces found ranges. * TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm: (TEST): 2022-02-24 Jonathan Bedard [Python3] Remove shebangs from webkitpy files https://bugs.webkit.org/show_bug.cgi?id=237167 Reviewed by Dewei Zhu. * Scripts/webkitpy/browserperfdash/browserperfdash_runner.py: Remove shebang. * Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py: Ditto. * Scripts/webkitpy/common/attribute_saver.py: Ditto. * Scripts/webkitpy/common/attribute_saver_unittest.py: Ditto. * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py: Ditto. * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py: Ditto. * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py: Ditto. * Scripts/webkitpy/layout_tests/views/buildbot_results.py: Ditto. * Scripts/webkitpy/w3c/test_converter.py: Ditto. * Scripts/webkitpy/w3c/test_importer.py: Ditto. * Scripts/webkitpy/w3c/test_parser.py: Ditto. * Scripts/webkitpy/xcode/sdk.py: Ditto. * Scripts/webkitpy/xcode/sdk_unittest.py: Ditto. 2022-02-24 Jonathan Bedard [Python3] Change shebang for various scripts https://bugs.webkit.org/show_bug.cgi?id=237155 Reviewed by Ryan Haddad. * Scripts/lint-webkitpy: Change shebang to Python 3. * Scripts/open-layout-test: Ditto. * Scripts/run-imagediff: Ditto. * Scripts/run-minibrowser: Ditto. * Scripts/run-webkit-httpd: Ditto. * Scripts/test-webkit-scripts: Ditto. 2022-02-24 Jonathan Bedard [Python3] Make report-non-inclusive-language Python 3 compatible https://bugs.webkit.org/show_bug.cgi?id=237154 Reviewed by Aakash Jain. * Scripts/report-non-inclusive-language: Make Python 3 compatible. 2022-02-24 Jonathan Bedard [Python3] Migrate Tools/CISupport to Python3 https://bugs.webkit.org/show_bug.cgi?id=237148 Reviewed by Aakash Jain. * CISupport/build-webkit-org/committer_auth_unittest_old.py: Removed. * CISupport/build-webkit-org/loadConfig_unittest.py: Change shebang to Python 3. * CISupport/build-webkit-org/make_passwords_json.py: Change shebang to Python 3, make Python 3 compatible. * CISupport/ews-build/email_unittest.py: Change shebang to Python 3. * CISupport/ews-build/loadConfig_unittest.py: Ditto. * CISupport/win/kill-old-processes: Ditto. 2022-02-24 Wenson Hsieh Refactor logic for showing "Markup Image" and Quick Note items in the callout bar https://bugs.webkit.org/show_bug.cgi?id=237127 rdar://89396617 Reviewed by Megan Gardner. Adjust a couple of existing API tests. See comments below. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: Refactor ImageAnalysisTests.MenuControllerItems to exercise `-buildMenuWithBuilder:` instead of swizzling UIMenuController methods and checking `-menuItems`. (TestWebKitAPI::swizzledSetMenuItems): Deleted. (): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm: Refactor WebKit.AppHighlightsInImageOverlays to exercise `-buildMenuWithBuilder:` instead of passing in actions to `-targetForAction:withSender:`. * TestWebKitAPI/ios/TestUIMenuBuilder.h: Added. * TestWebKitAPI/ios/TestUIMenuBuilder.mm: Added. Add a helper class that conforms to UIMenuBuilder. This is used in the two API tests above as an argument to `-buildMenuWithBuilder:` in order to collect additional menu items that WKWebView adds to the callout bar. (-[TestUIMenuBuilder init]): (-[TestUIMenuBuilder system]): (-[TestUIMenuBuilder menuForIdentifier:]): (-[TestUIMenuBuilder findMatching:]): (-[TestUIMenuBuilder containsActionWithTitle:]): (-[TestUIMenuBuilder reset]): (-[TestUIMenuBuilder actionForIdentifier:]): (-[TestUIMenuBuilder commandForAction:propertyList:]): (-[TestUIMenuBuilder replaceMenuForIdentifier:withMenu:]): (-[TestUIMenuBuilder replaceChildrenOfMenuForIdentifier:fromChildrenBlock:]): (-[TestUIMenuBuilder insertChildMenu:atStartOfMenuForIdentifier:]): (-[TestUIMenuBuilder insertChildMenu:atEndOfMenuForIdentifier:]): (-[TestUIMenuBuilder removeMenuForIdentifier:]): (-[TestUIMenuBuilder insertSiblingMenu:beforeMenuForIdentifier:]): (-[TestUIMenuBuilder insertSiblingMenu:afterMenuForIdentifier:]): (-[TestUIMenuBuilder registerMenu:]): 2022-02-24 Jonathan Bedard [Python3] Convert shebangs in generate_xcfilelists_lib https://bugs.webkit.org/show_bug.cgi?id=237147 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/generate_xcfilelists_lib/__init__.py: Change shebang to Python 3. * Scripts/webkitpy/generate_xcfilelists_lib/application.py: Ditto. * Scripts/webkitpy/generate_xcfilelists_lib/generators.py: Ditto. * Scripts/webkitpy/generate_xcfilelists_lib/util.py: Ditto. 2022-02-24 Devin Rousso [MacCatalyst] REGRESSION(r290091): sometimes can crash if `WKWebView` is deallocated before the next visible content rect update https://bugs.webkit.org/show_bug.cgi?id=237126 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewResize.mm: Added. (TEST.WKWebViewResize.DoesNotAssertInDeallocAfterChangingFrame): (TEST.WKWebViewResize.DoesNotAssertInDeallocAfterChangingBounds): * TestWebKitAPI/SourcesCocoa.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 2022-02-24 J Pascoe Add myself (John Pascoe) to watchlist for authentication and WebCrypto https://bugs.webkit.org/show_bug.cgi?id=237121 rdar://problem/89385797 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/common/config/watchlist: 2022-02-22 Jonathan Bedard [run-webkit-tests] Use Python 3 (Part 2) https://bugs.webkit.org/show_bug.cgi?id=226658 Reviewed by Ryan Haddad. * Scripts/run-webkit-tests: Change shebang to Python 3. 2022-02-24 Kimmo Kinnunen Thread safety analysis to assert "code is run sequentially" is not useful when code is mainly run with WorkQueues https://bugs.webkit.org/show_bug.cgi?id=236832 Reviewed by Antti Koivisto. Test the added functionality to be able to use assertIsCurrent(thread/workQueue). Fix WTF_WorkQueue.DestroyDispatchedOnDispatchQueue test, it is now able to make the assertion correctly. - The object is created somewhere that is not the tested WorkQueue - The object is destroyed in the tested WorkQueue * Scripts/generate-gpup-webgl: * TestWebKitAPI/Tests/WTF/Threading.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/WorkQueue.cpp: (TestWebKitAPI::TEST): 2022-02-23 Chris Dumez Adopt more widely the new URL constructor that takes in a String https://bugs.webkit.org/show_bug.cgi?id=237099 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/URLParser.cpp: (TestWebKitAPI::checkURL): (TestWebKitAPI::checkURLDifferences): (TestWebKitAPI::testUserPassword): * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: (TestWebKitAPI::mainDocumentRequest): (TestWebKitAPI::subResourceRequest): (TestWebKitAPI::requestInTopAndFrameURLs): (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/RegistrableDomain.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp: (TestWebKitAPI::Curl::TEST_F): * TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm: 2022-02-23 Wenson Hsieh REGRESSION (288925?): [iOS] TestWebKitAPI.RequestTextInputContext.TextInteraction_FocusingReadOnlyElementShouldScrollToReveal is failing https://bugs.webkit.org/show_bug.cgi?id=237069 rdar://89325305 Reviewed by Kate Cheney. This iOS API test occasionally fails in some test runners in automation, due to `didScroll` still being false at the end of the test. While I was unable to reproduce (both locally, and using EWS test runners), from code inspection this test appears to be inherently flaky since the scrolling is triggered via editor state updates propagated through remote layer tree commits; however, the test only verifies that scrolling occurs after one IPC round-trip between the web and UI processes (due to the call to `-stringByEvaluatingJavaScript:`). Since the regression point is suspiciously close to r288925, it's possible that the optimizations introduced in r288925 removed an extra sync IPC round-trip to the web process and back when requesting an autocorrection context after element focus, which would make this flakiness easier to reproduce in some configurations. In any case, one speculative fix for this test is to simply wait for the scrolling to occur, instead of assuming that it occurs after a single IPC round-trip. * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: (TestWebKitAPI::TEST): 2022-02-23 Jonathan Bedard [run-webkit-tests] Catch OSError when sampling https://bugs.webkit.org/show_bug.cgi?id=237087 Reviewed by Aakash Jain. * Scripts/webkitpy/port/darwin.py: (DarwinPort.sample_process): Catch OSError when either sampling a process or running spindump. These errors indicate the error gathering process failed, but such a failure should not be fatal to the entire test run. 2022-02-23 J Pascoe [WebAuthn] userHandle not marked nullable in _WKWebAuthenticationAssertionResponse https://bugs.webkit.org/show_bug.cgi?id=237043 rdar://89317740 Reviewed by Brent Fulgham. Create tests to check for null userHandle. * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST): 2022-02-23 Philippe Normand [GStreamer] De-initialize GStreamer before terminating WebProcess https://bugs.webkit.org/show_bug.cgi?id=237084 Reviewed by Carlos Garcia Campos. * flatpak/flatpakutils.py: (WebkitFlatpak.setup_gstbuild): Do not add extra quotes to GST_TRACERS, this is not supposed to store paths. 2022-02-23 Alex Christensen Call WKNavigationDelegate.didFailProvisionalNavigation even after a cross-origin navigation with COOP https://bugs.webkit.org/show_bug.cgi?id=237071 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm: (TEST): 2022-02-23 Angelos Oikonomopoulos [JSC] Set ssh keepalive in run-jsc-stress-tests https://bugs.webkit.org/show_bug.cgi?id=237031 Reviewed by Adrian Perez de Castro. If a remote goes down after an ssh connection has been established, we need to be able to detect that. Keep the common ssh config options in one constant and add ServerAliveInterval=30 to it. While here, change sshRead to execute ssh directly (instead of going through the shell). Similarly, don't open-code the read loop, just call IO.read. * Scripts/run-jsc-stress-tests: 2022-02-23 Kimmo Kinnunen Fix GPUP WebGL generator script wrt uninitialised sized span https://bugs.webkit.org/show_bug.cgi?id=235889 Reviewed by Antti Koivisto. Fix the generator. The r290328 only edited the generated files. Add a other hunk missing from r290175. * Scripts/generate-gpup-webgl: 2022-02-23 Zan Dobersek [GStreamer] Add WebKitDMABufVideoSink https://bugs.webkit.org/show_bug.cgi?id=236883 Reviewed by Philippe Normand. * Scripts/webkitpy/style/checker.py: Add two additional files under the GObject-style exceptions. 2022-02-23 Kimmo Kinnunen Thread safety analysis macros are confusing for non-Lock use-cases https://bugs.webkit.org/show_bug.cgi?id=237022 Reviewed by Chris Dumez. * Scripts/webkitpy/style/checkers/cpp.py: (check_identifier_name_in_declaration): * TestWebKitAPI/Tests/WTF/ThreadAssertionsTest.cpp: (TestWebKitAPI::WTF_REQUIRES_CAPABILITY): 2022-02-23 Youenn Fablet Enable WebRTCRemoteVideoFrameEnabled by default in WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=236969 Reviewed by Eric Carlson. * WebKitTestRunner/TestOptions.cpp: 2022-02-22 Chris Dumez Drop StringHasher::hashMemory() and use the modern Hasher instead https://bugs.webkit.org/show_bug.cgi?id=237049 Reviewed by Sam Weinig. * TestWebKitAPI/Tests/WTF/StringHasher.cpp: 2022-02-22 Ryan Haddad REGRESSION(r289580): [ iOS macOS ] TestWebKitAPI.IPCTestingAPI.CanReceiveSharedMemory is a constant timeout https://bugs.webkit.org/show_bug.cgi?id=236744 Unreviewed test gardening. * TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: Disable the test. (TEST): 2022-02-17 Ryan Haddad Remove dormant queues from bot watchers dashboard https://bugs.webkit.org/show_bug.cgi?id=236809 Reviewed by Alexey Proskuryakov. * CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: * CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): * Tools/CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: 2022-02-22 Jonathan Bedard [git-webkit] Link to GitHub wiki https://bugs.webkit.org/show_bug.cgi?id=237048 Reviewed by Ryan Haddad. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.main): Add GitHub wiki link. * Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py: (TestSetup.test_github): 2022-02-22 Philippe Normand [GStreamer] Switch media player to playbin3 https://bugs.webkit.org/show_bug.cgi?id=236884 Reviewed by Xabier Rodriguez-Calvar. Replace WEBKIT_GST_USE_PLAYBIN3 with WEBKIT_GST_USE_PLAYBIN2 that allows to opt-out of playbin3, if this is desired. * Scripts/webkitpy/port/gtk.py: (GtkPort.setup_environ_for_server): * Scripts/webkitpy/port/wpe.py: (WPEPort.setup_environ_for_server): 2022-02-22 Jonathan Bedard [git-webkit] Extract revision from `git svn dcommit` https://bugs.webkit.org/show_bug.cgi?id=236849 Reviewed by Ryan Haddad. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: (Git): Thoroughly mock `dcommit` * Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py: (Land.main): Extract committed SVN revision from `git svn dcommit` command to accurately match landed commits to the pull request that generated them. * Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py: (repository): Add revision to local commit. 2022-02-22 Dean Jackson Filter some build output from JSC https://bugs.webkit.org/show_bug.cgi?id=236885 Reviewed by Simon Fraser. Add some filter rules for recently added output. In particular: - whatever prints out the build command - python executables now having the version numbers in the binary - creating entitlements files * Scripts/filter-build-webkit: (shouldIgnoreLine): 2022-02-22 Aditya Keerthi [iOS] Adopt new _UITextSearching method for range comparison https://bugs.webkit.org/show_bug.cgi?id=237012 rdar://88442811 Reviewed by Devin Rousso. Ensure TestSearchAggregator conforms to _UITextSearchAggregator. * TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm: (-[TestSearchAggregator initWithCompletionHandler:]): (-[TestSearchAggregator allFoundRanges]): (-[TestSearchAggregator invalidateFoundRange:inDocument:]): (-[TestSearchAggregator invalidate]): (textRangesForQueryString): (-[TestSearchAggregator foundRanges]): Deleted. 2022-02-22 Angelos Oikonomopoulos [JSC] Guard against dead remotes in numberOfProcessors https://bugs.webkit.org/show_bug.cgi?id=236643 Reviewed by Adrian Perez de Castro. Instead of using only the first remote (and then defaulting to 1 when it happens to not respond), try all the remotes in sequence. Also, instead of trying the sysctl version on all hosts first and only try nproc after sysctl has failed on all hosts, combine sysctl and nproc in one command to speed things along. This change also removes the numProcessors == 0 typo in the rescue path. * Scripts/run-jsc-stress-tests: 2022-02-22 Carlos Garcia Campos [GTK] Can't run performance tests due to a11y errors https://bugs.webkit.org/show_bug.cgi?id=230705 Reviewed by Sergio Villar Senin. Disable a11y in WTR since it's no longer nedded with ATSPI. * WebKitTestRunner/gtk/main.cpp: (main): * WebKitTestRunner/wpe/main.cpp: (main): 2022-02-21 Brandon Stewart Use ArgumentParser for parsing args in generate-compile-commands https://bugs.webkit.org/show_bug.cgi?id=236995 Reviewed by Alexey Proskuryakov. Use argument parser instead of sys.argv[1] for getting build dir. * Scripts/generate-compile-commands: 2022-02-21 Wenson Hsieh [iOS] Adjust some behaviors around the "Markup Image" action in the callout bar https://bugs.webkit.org/show_bug.cgi?id=236980 Reviewed by Aditya Keerthi. Add an API test to verify that "Markup Image" appears as the first non-default callout bar item when a single image element is in the selection range. The test is comprised of three parts: 1. Select just a single image, and expect the "Markup Image" item. 2. Select all images in the document, and expect no "Markup Image" item. 3. Select a single image and some surrounding text, and expect the "Markup Image" item. See WebKit/ChangeLog for more details. * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: (TestWebKitAPI::createWebViewWithTextRecognitionEnhancements): (TestWebKitAPI::swizzledSetMenuItems): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/multiple-images.html: Add some text before and after each image so that we can select a single image alongside some text, and exercise the changes in `WebPage::getPlatformEditorState` (see WebKit changes for more information). 2022-02-21 Jon Lee Add test name to the image diff template https://bugs.webkit.org/show_bug.cgi?id=237003 Reviewed by Sam Weinig. * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (TestResultWriter.write_image_diff_files): == Rolled over to ChangeLog-2022-02-22 ==