2022-05-06 Jonathan Bedard [git-webkit] Forward environment to `git commit` https://bugs.webkit.org/show_bug.cgi?id=240191 Reviewed by Stephanie Lewis. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest.create_commit): Pass caller's environment. 2022-05-06 Justin Michaud Update PGO profile collection scripts to include MotionMark https://bugs.webkit.org/show_bug.cgi?id=240171 Reviewed by Mark Lam. * Scripts/build-and-collect-pgo-profiles: * Scripts/pgo-profile: 2022-05-06 Jonathan Bedard [ews-build.webkit.org] Do not block EWS queues for merging-blocked label https://bugs.webkit.org/show_bug.cgi?id=240169 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (ValidateChange.validate_github): merging-blocked label should only block merge-queue. * CISupport/ews-build/steps_unittest.py: 2022-05-06 Philippe Normand [Flatpak SDK] Include port / build type in shell prompt https://bugs.webkit.org/show_bug.cgi?id=240166 Reviewed by Adrian Perez de Castro. This might help avoiding confusions like running debug tools in a release shell, or wpe things in a gtk shell. * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): 2022-05-05 Jonathan Bedard [git-webkit] Automatically file bug https://bugs.webkit.org/show_bug.cgi?id=240139 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.main): If a project has defined bug trackers and the user provides a bug title instead of a bug url or branch name (determined by spaces in the provided string), walk the user through bug creation. * Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py: (TestBranch): Add mock issues, rebase prompts. (TestBranch.test_create_bug): Added. * Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py: * Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py: (TestRevert.test_github): Add mock issues, rebase prompts. (TestRevert.test_modified): Ditto. 2022-05-05 Sihui Liu SuspendableWorkQueue::suspend should invoke callback immediately when queue is suspended https://bugs.webkit.org/show_bug.cgi?id=240070 Reviewed by Chris Dumez. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/SuspendableWorkQueue.cpp: Added. (TestWebKitAPI::TEST): 2022-05-05 Kate Cheney Right click using trackpad crashes Safari https://bugs.webkit.org/show_bug.cgi?id=240030 rdar://91786269 Reviewed by Tim Horton. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/emptyTable.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm: (TEST): 2022-05-04 Jonathan Bedard [webkitbugspy] Include mocks in package https://bugs.webkit.org/show_bug.cgi?id=240098 Reviewed by Aakash Jain. * Scripts/libraries/webkitbugspy/setup.py: * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: 2022-05-05 Jonathan Bedard [git-webkit] Fetch alternate remotes when adding remote https://bugs.webkit.org/show_bug.cgi?id=240066 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: Mock `git fetch` for non-fork remotes. * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup._add_remote): Optionally fetch remote after adding it. (Setup.git): 2022-05-04 Chris Dumez REGRESSION(r293703):[ BigSur+ iOS ] TestWTF.WTF_URLExtras.URLExtras_ParsingError (API-Test) is a constant failure https://bugs.webkit.org/show_bug.cgi?id=240049 Unreviewed follow-up to r293761 because I dropped an item the std::array but failed to update its size. * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: (TestWebKitAPI::TEST): 2022-05-04 Robert Jenner [ Gardening ] REGRESSION(r293671): [ iOS ] 2 TestWebKitAPI.MediaLoading.RangeRequestSynthesis (API-Tests) are constant failures https://bugs.webkit.org/show_bug.cgi?id=240033 Unreviewed test gardening. Disabling API-tests on iOS. * TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm: (TestWebKitAPI::TEST): 2022-05-04 Brent Fulgham Remove deprecated 'JavaEnabled' feature flag and related code https://bugs.webkit.org/show_bug.cgi?id=240044 Reviewed by Darin Adler. We removed support for Java Plug-Ins in macOS 10.15, but never removed the preference. To reduce code complexity and build times we should remove this unused preference, leaving non-functional stubs to avoid breaking binaries that expect to call their accessor methods. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults): * DumpRenderTree/win/DumpRenderTree.cpp: (resetWebPreferencesToConsistentValues): * TestWebKitAPI/Tests/WebKit/WKPreferences.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/Coding.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/Copying.mm: (TEST): 2022-05-04 Jonathan Bedard [git-webkit] Populate commit message with bug details https://bugs.webkit.org/show_bug.cgi?id=240022 Reviewed by Dewei Zhu. * Scripts/hooks/prepare-commit-msg: Pull title and bugs from environment variables. * Scripts/libraries/webkitcorepy/setup.py: Bump version. * Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto. * Scripts/libraries/webkitcorepy/webkitcorepy/mocks/popen.py: (PopenBase.__init__): Support environment variables. (PopenBase.poll): Ditto. (Popen.__init__): Ditto. * Scripts/libraries/webkitcorepy/webkitcorepy/mocks/subprocess.py: (Subprocess.CommandRoute.__init__): Support environment variables. (Subprocess.CommandRoute.matches): Ditto (Subprocess.CommandRoute.__call__): Ditto. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: * Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py: Pull title and bugs from environment variables. (Branch.main): Pass bug title and URLs to caller via args. * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest.create_commit): Pass title and bug urls to `git commit`. * Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py: 2022-05-03 Robert Jenner REGRESSION(r287574-r287580): [ iOS ] 3 TestWebKitAPI.WebKitLegacy.* tests are constantly crashing (ScrollingDoesNotPauseMedia, PreemptVideoFullscreen, AudioSessionCategoryIOS) https://bugs.webkit.org/show_bug.cgi?id=237125> Unreviewed test gardening. Disabling API-tests for iOS. * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitLegacy/ios/PreemptVideoFullscreen.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm: (TestWebKitAPI::TEST): 2022-05-03 Jonathan Bedard [ews.webkit.org] Hide sensitive content for alternate remotes https://bugs.webkit.org/show_bug.cgi?id=239988 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (ConfigureBuild.add_pr_details): PRs targeting alternate hosts are sensitive. (DetermineLandedIdentifier.start): Hide step for sensitive PRs. (AddReviewerToChangeLog.hideStepIf): Ditto. (ValidateCommitMessage): Implement with steps.ShellSequence (ValidateCommitMessage.__init__): (ValidateCommitMessage.run): Use grep to search for appropriate commit message string and hide the content of the commit message itself. (ValidateCommitMessage.start): Logic moved to ValidateCommitMessage.run. (ValidateCommitMessage.evaluateCommand): Ditto. * CISupport/ews-build/steps_unittest.py: 2022-05-03 Jonathan Bedard [ews-build.webkit.org] Cache contributors by default https://bugs.webkit.org/show_bug.cgi?id=240040 Reviewed by Aakash Jain. On-disk contributor record can get stale quickly. Rely on the network by default. * CISupport/ews-build/steps.py: (GitHub.email_for_owners): Rely on the network contributors.json by default. (Contributors.load): Force reload contributors every 4 hours. Use disk or remote if specifically requested, otherwise default to remote. Use cache if not expired. (ValidateCommitterAndReviewer.start): Rely on the network contributors.json by default. (AddReviewerMixin.gitCommitEnvironment): Ditto. (AddAuthorToCommitMessage.author): Ditto. 2022-05-03 Chris Dumez REGRESSION (r293703): 358 JSC tests failing https://bugs.webkit.org/show_bug.cgi?id=240023 Reviewed by Yusuke Suzuki. Make sure WTF::initialize() calls AtomString::init() given that JSC now relies on emptyAtom(). * TestWebKitAPI/TestsController.cpp: (TestWebKitAPI::TestsController::TestsController): 2022-05-03 Philippe Normand and Yury Semikhatsky [WK2] Add API to allow embedder to set a timezone override https://bugs.webkit.org/show_bug.cgi?id=213884 Reviewed by Yusuke Suzuki. Add API tests for the timezone configuration API. The GTK and WPE MiniBrowsers also gained new runtime options allowing to exercise this new API. * MiniBrowser/gtk/main.c: (activate): * MiniBrowser/wpe/main.cpp: (main): * TestWebKitAPI/SourcesCocoa.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/TimeZoneOverride.mm: Added. (TimeZoneOverrideTest::runScriptAndExecuteCallback): (TimeZoneOverrideTest::callAsyncFunctionBody): (TEST_F): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: (testWebContextTimeZoneOverride): (testWebContextTimeZoneOverrideInWorker): (beforeAll): * TestWebKitAPI/glib/WebKitGLib/TestMain.cpp: (main): * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp: (runJavaScriptReadyCallback): (WebViewTest::runJavaScriptAndWaitUntilFinished): * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h: * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): 2022-05-02 Wenson Hsieh [macOS] The "Markup Image" services menu item should be gated on image analysis results https://bugs.webkit.org/show_bug.cgi?id=239933 rdar://92348202 Reviewed by Kate Cheney. Add an API test to simulate clicking on the services menu button in an attachment-backed image element while swizzling the relevant image analysis APIs to return a valid CGImageRef; verify that the "Markup Image" menu item eventually shows up. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: (TestWebKitAPI::createWebViewWithTextRecognitionEnhancements): (TestWebKitAPI::iconImage): Make this testing helper function work on both macOS and iOS. (TestWebKitAPI::TEST): (TestWebKitAPI::runMarkupTest): * TestWebKitAPI/Tests/WebKitCocoa/image-controls.html: Added. 2022-05-02 Youenn Fablet PWA in iOS use old assets after publish new servicerWorker/assets https://bugs.webkit.org/show_bug.cgi?id=199110 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * TestWebKitAPI/cocoa/HTTPServer.h: * TestWebKitAPI/cocoa/HTTPServer.mm: 2022-05-02 Eric Carlson [Cocoa] Allow more mime types in captive portal mode https://bugs.webkit.org/show_bug.cgi?id=239859 rdar://91830683 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebKit/cocoa/start-offset.ts: Added. * TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm: (TestWebKitAPI::runVideoTest): (TestWebKitAPI::testTransportStreamBytes): (TestWebKitAPI::TEST): 2022-05-02 Jonathan Bedard [git-webkit] log should support ranges https://bugs.webkit.org/show_bug.cgi?id=239510 Reviewed by Ryan Haddad. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py: (FilteredCommand.replace): Break logic converting a substring into a revision or hash into a function. (FilteredCommand.main): If an argument can be split by ..., convert it's substrings into revisions/hashes. 2022-05-02 Wenson Hsieh [iOS] Add support for the "Markup Image" action when right clicking an image in editable content https://bugs.webkit.org/show_bug.cgi?id=239948 rdar://92064672 Reviewed by Tim Horton. Add an API test to verify that the "Markup Image" is included in the context menu when right clicking an image element inside an editable web view. * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: (TestWebKitAPI::simulateEditContextMenuAppearance): (TestWebKitAPI::TEST): 2022-04-29 Michael Catanzaro [GLib] Make WebKitSettings XSS auditor functions no-op https://bugs.webkit.org/show_bug.cgi?id=239651 Reviewed by Adrian Perez de Castro. Fix -Wdeprecated-declarations warnings introduced by the previous fix. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): 2022-04-30 Philippe Normand [WPE][GTK] Built product archives include old library files https://bugs.webkit.org/show_bug.cgi?id=239928 Reviewed by Adrian Perez de Castro. * CISupport/built-product-archive: Exclude old WPE/GTK files from built product zip archives. 2022-04-29 Chris Dumez Unreviewed, reverting r293621. Reverting patch while we fix internal EWS issues, will reland after Reverted changeset: https://commits.webkit.org/r293621 2022-04-29 Wenson Hsieh [Mail compose] Images with data URLs should be pasted or dropped as attachments https://bugs.webkit.org/show_bug.cgi?id=239911 rdar://91658665 Reviewed by Tim Horton. Adjust expectations for an existing API test. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2022-04-29 Simon Fraser REGRESSION (249864@main): [ iOS ] TestWebKitAPI.ScrollViewScrollabilityTests.ScrollableWithOverflowHiddenAndShrunkUI is failing https://bugs.webkit.org/show_bug.cgi?id=239867 Reviewed by Sam Weinig. Use values that are representative of iPhone 8, which is the model used for running API tests. * TestWebKitAPI/Tests/ios/ScrollViewScrollabilityTests.mm: (TestWebKitAPI::TEST): 2022-04-29 Jonathan Bedard [git-webkit] Redact bug title in branch name on alternate remotes https://bugs.webkit.org/show_bug.cgi?id=239826 Rubber-stamped by Aakash Jain. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py: (Branch.main): Allow caller to redact bug title in branch name. * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest.pull_request_branch_point): Redact bug title in branch name for non-origin remotes. * Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py: (TestBranch.test_redacted): 2022-04-27 Jonathan Bedard [ews-build.webkit.org] Link to PRs with undefined title https://bugs.webkit.org/show_bug.cgi?id=239820 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (ConfigureBuild.add_pr_details): 2022-04-28 Yusuke Suzuki Support C files in Unified Builds https://bugs.webkit.org/show_bug.cgi?id=239873 Reviewed by Mark Lam. * TestWebKitAPI/Scripts/generate-unified-sources.sh: 2022-04-28 Alex Christensen Fix SafeBrowsing API tests on platforms with safe browsing result details https://bugs.webkit.org/show_bug.cgi?id=239861 Reviewed by Anders Carlsson. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (-[TestServiceLookupResult malwareDetailsBaseURLString]): (-[TestServiceLookupResult learnMoreURL]): (-[TestServiceLookupResult reportAnErrorBaseURLString]): (-[TestServiceLookupResult localizedProviderDisplayName]): 2022-04-28 Angelos Oikonomopoulos [run-javascriptcore-tests] Fix user-facing accounting https://bugs.webkit.org/show_bug.cgi?id=239845 Reviewed by Adrian Perez de Castro. Update numJSCStressFlakyButPassed for flaky tests that were declared a pass. Otherwise we end up miscounting passes as failures in the summary we print out to the user. E.g. in https://build.webkit.org/#/builders/31/builds/3567/steps/8/logs/stdio the test was flaky but passed, yet run-javascriptcore-tests outputs 1 test flaky and failed. since it calculates $numJSCStressFlaky - $numJSCStressFlakyButPassed and $numJSCStressFlakyButPassed is zero (since it wasn't getting updated). * Scripts/run-javascriptcore-tests: (runJSCStressTests): 2022-04-28 Jonathan Bedard [webkitbugspy] Limit number of failed bugzilla login attempts https://bugs.webkit.org/show_bug.cgi?id=239850 Reviewed by Michael Catanzaro. * Scripts/libraries/webkitbugspy/setup.py: Bump version. * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py: (Tracker.__init__): Caller can define the number of failed login attempts. (Tracker.user): Detect a failed login. (Tracker._login_arguments): Only provide login arguments if login attempts have not been exceeded. (Tracker.populate): Detect a failed login. (Tracker.set): Detect a failed login, handle case where login arguments are not provided due to exceeded login attempts. (Tracker.add_comment): Ditto. (Tracker.projects): Detect a failed login. * Scripts/libraries/webkitbugspy/webkitbugspy/tests/bugzilla_unittest.py: 2022-04-28 Kimmo Kinnunen test-webkitperl outputs errors about uninitialized $platform variable https://bugs.webkit.org/show_bug.cgi?id=239762 Reviewed by Alexey Proskuryakov. Make filter-build-webkit a module that exports the tested functions. Avoid running filter-webkit-build main code if the code is being imported as a module. * Scripts/filter-build-webkit: (main): (shouldIgnoreLine): * Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl: 2022-04-28 Kimmo Kinnunen IPC testing API should have the ability to test IPC::Connection send and receive through IPC::Connection https://bugs.webkit.org/show_bug.cgi?id=239495 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: (TEST): Change two tests to pass "IPC" object as the value of FrameInfoData. This way the argument encode functions do not need to take the JSIPC argument. 2022-04-27 Sihui Liu [ iOS ] TestWebKitAPI.IndexedDB.IndexedDBSuspendImminently is a constant timeout https://bugs.webkit.org/show_bug.cgi?id=239310 Reviewed by Youenn Fablet. Message may be received before runTestAndCheckResult(), so we should not unset receivedScriptMessage before wait. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm: (runUntilMessageReceived): (TEST): (runTestAndCheckResult): Deleted. 2022-04-27 Jonathan Bedard [git-webkit] Run style checker https://bugs.webkit.org/show_bug.cgi?id=239730 Reviewed by Chris Dumez. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git): Add webkitscmpy.auto-check option. * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest.parser): Add --check/--no-check flag. (PullRequest.pre_pr_checks): Find and run all pre-PR checks. (PullRequest.create_pull_request): Run PR checks. * Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py: * Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py: 2022-04-27 Jonathan Bedard [git-webkit] Cleanup PRs on alternate remotes https://bugs.webkit.org/show_bug.cgi?id=239814 Reviewed by Aakash Jain. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/clean.py: (Clean.parser): Add --remote argument. (Clean.cleanup): Allow caller to specify remote. (Clean.main): Pass remote to cleanup. 2022-04-27 Jonathan Bedard [ews-build.webkit.org] Support alternative remotes (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=239617 Unreviewed follow-up fix. * CISupport/ews-build/events.py: (GitHubEventHandlerNoEdits.extractProperties): 2022-04-27 Aditya Keerthi [iOS] Focus changes unexpectedly when scrolling to a found text range https://bugs.webkit.org/show_bug.cgi?id=239793 rdar://90996437 Reviewed by Wenson Hsieh. Add an API test to ensure that scrolling to a found range does not change focus. * TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm: (TEST): 2022-04-27 Jonathan Bedard test-webkitpy TestInstallGitLFS fails https://bugs.webkit.org/show_bug.cgi?id=239788 Reviewed by Michael Catanzaro. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/test/install_git_lfs_unittest.py: (TestInstallGitLFS.test_install): Specify mock system and machine. (TestInstallGitLFS.test_configure): Ditto. (TestInstallGitLFS.test_no_op): Ditto. (TestInstallGitLFS.test_no_repo): Ditto. 2022-04-27 Jonathan Bedard [commits.webkit.org] Change branch forwarding behavior https://bugs.webkit.org/show_bug.cgi?id=239136 Reviewed by Dewei Zhu. * Scripts/libraries/reporelaypy/reporelaypy/__init__.py: Bump version. * Scripts/libraries/reporelaypy/setup.py: Ditto. * Scripts/libraries/reporelaypy/reporelaypy/checkout.py: (Checkout.Encoder.default): Encode forwarding list. (Checkout.__init__): Add forwarding argument. (Checkout.push_update): Add dest_branch argument. (Checkout.forward_update): Trigger push_update based on forwarding arguments. (Checkout.update_all): Use forward_update instead of pushing to every branch. * Scripts/libraries/reporelaypy/reporelaypy/hooks.py: (HookProcessor.process_worker_hook): Extract remote from incoming data, invoke forward_update. * Scripts/libraries/reporelaypy/reporelaypy/tests/checkout_unittest.py: (CheckoutUnittest.test_json): 2022-04-27 Kimmo Kinnunen test-webkitperl outputs git hints during the test https://bugs.webkit.org/show_bug.cgi?id=239759 Reviewed by Alexey Proskuryakov. Avoid git hints about initial branch name during a test that initializes a git repository. The output disrupts the test system result reporting output. Specify the quiet operation. --initial-branch cannot be specified since the Perl tests run on older git. * Scripts/webkitperl/prepare-ChangeLog_unittest/filenameWithParentheses.pl: 2022-04-26 Michael Catanzaro [GLib] Make WebKitSettings XSS auditor functions no-op https://bugs.webkit.org/show_bug.cgi?id=239651 Reviewed by Adrian Perez de Castro. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): 2022-04-27 Youenn Fablet Add testRunner API to clear memory cache https://bugs.webkit.org/show_bug.cgi?id=239804 rdar://92033309 Reviewed by Chris Dumez. Implement the clear memory cache testRunner API and related plumbery. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: 2022-04-26 Kimmo Kinnunen Remove adjustPathForRecentRenamings from VCSUtils.pm, they are not recent anymore https://bugs.webkit.org/show_bug.cgi?id=239646 Reviewed by Darin Adler. These were used to adjust patches 10 years ago. The functionality renames *_test_expectations.txt in ANGLE imports, which causes surprises and hard to track redundant sections while inspecting downstream differences to upstream. * Scripts/VCSUtils.pm: (parseGitDiffHeader): 2022-04-26 Michael Catanzaro [git-webkit] Cannot create pull request branch using bug URL, fails to fetch comments from Bugzilla, fails to modify bug https://bugs.webkit.org/show_bug.cgi?id=239741 Reviewed by Jonathan Bedard. Need to URL encode the username and password before appending them to the URL. * Scripts/libraries/webkitbugspy/setup.py: * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: * Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py: (Tracker.credentials.validater): (Tracker._login_arguments): * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/bugzilla.py: (Bugzilla.__init__): (Bugzilla.request): 2022-04-26 Michael Catanzaro Cannot run test-webkitpy, autoinstaller fails to compile lupa https://bugs.webkit.org/show_bug.cgi?id=239786 Reviewed by Jonathan Bedard. We can fix this by updating to a newer version of lupa. * Scripts/libraries/reporelaypy/reporelaypy/__init__.py: * Scripts/libraries/reporelaypy/setup.py: * Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: * Scripts/libraries/resultsdbpy/setup.py: 2022-04-21 Jonathan Bedard [build.webkit.org] Support identifiers on dashboard (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=239473 Unreviewed test gardening. * CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/index-expected.txt: 2022-04-26 Jonathan Bedard [ews-build.webkit.org] Support alternative remotes (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=239617 Reviewed by Aakash Jain. * CISupport/ews-build/events.py: (GitHubEventHandlerNoEdits.extractProperties): 'project' is not set by extractProperties. 2022-04-26 Jonathan Bedard [git-webkit] Checkout PRs from alternate remotes https://bugs.webkit.org/show_bug.cgi?id=239745 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): The name of the repository is embedded in the argument. (Git.checkout): Handle remote-postfixed remote names. * Scripts/libraries/webkitscmpy/webkitscmpy/program/checkout.py: (Checkout.parser): Add --remote command. (Checkout.main): Use the full repo name instead of the owner's username. * Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py: (GitHub.PRGenerator.PullRequest): Pass full repo name as metadata. 2022-04-26 Jonathan Bedard [build.webkit.org] Support identifiers in popover https://bugs.webkit.org/show_bug.cgi?id=239773 Rubber-stamped by Aakash Jain. * CISupport/build-webkit-org/public_html/dashboard/Scripts/Commits.js: (Commits): Keep track of all fetched commits. (Commits.prototype._update): Save fetched commits. (Commits.prototype.lastNIdentifiers): Return a list of the last n identifiers on a branch. (Commits.prototype.fetch): Load information for last N commits. (Commits.prototype.urlFor): Return a url for a commit ref. * CISupport/build-webkit-org/public_html/dashboard/Scripts/Main.js: Remove trac auto-updater. * CISupport/build-webkit-org/public_html/dashboard/Scripts/QueueView.js: (QueueView.prototype._appendPendingRevisionCount): After we determine the number of commits behind, fetch that many commits. (QueueView.prototype._popoverLinesForCommitRange): Support commits with identifiers. (QueueView.prototype._presentPopoverForPendingCommits): * CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/resources/MockCommits.js: * CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/resources/tests.js: 2022-04-26 Yusuke Suzuki [JSC] Add forceUnlinkedDFG option https://bugs.webkit.org/show_bug.cgi?id=239751 Reviewed by Saam Barati. * Scripts/run-jsc-stress-tests: 2022-04-26 Wenson Hsieh Show the option to Markup Image in the callout bar only when appropriate https://bugs.webkit.org/show_bug.cgi?id=239779 rdar://88941823 Reviewed by Darin Adler. Adjust some API tests so that they continue passing after these changes. * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: (TestWebKitAPI::iconImage): (TestWebKitAPI::simulateCalloutBarAppearance): (TestWebKitAPI::invokeImageMarkupAction): (TestWebKitAPI::TEST): (TestWebKitAPI::runMarkupTest): 2022-04-26 Simon Fraser [ iOS EWS ] css3/background/background-repeat-round-auto2.html is a image failure https://bugs.webkit.org/show_bug.cgi?id=238965 Reviewed by Tim Horton. Generic shaders can produce slightly different results to optimized shaders, and get swapped in racily, so disable them for testing on platforms where accelerated drawing is used. * Scripts/webkitpy/port/base.py: (Port.port_adjust_environment_for_test_driver): * Scripts/webkitpy/port/driver.py: (Driver._setup_environ_for_driver): * Scripts/webkitpy/port/ios.py: (IOSPort.test_expectations_file_position): (IOSPort): (IOSPort.port_adjust_environment_for_test_driver): * Scripts/webkitpy/port/mac.py: (MacPort.port_adjust_environment_for_test_driver): 2022-04-26 Jonathan Bedard [webkit-patch] Use Commit-Queue when landing by default https://bugs.webkit.org/show_bug.cgi?id=239777 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/tool/commands/download.py: (LandUnsafe): Renamed from LandUnsafe. (Land): Renamed to LandUnsafe. * Scripts/webkitpy/tool/commands/download_unittest.py: * Scripts/webkitpy/tool/commands/upload.py: (LandSafely): (Land): Inherit from LandSafely. 2022-04-26 Wenson Hsieh Adjust some image transcoding behaviors related to "Copy Cropped Image" https://bugs.webkit.org/show_bug.cgi?id=239748 rdar://92287000 Reviewed by Kate Cheney. Add an API test to exercise the change. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: (TestWebKitAPI::runMarkupTest): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/webp-image.html: Added. 2022-04-26 Angelos Oikonomopoulos Enable --treat-failing-as-flaky for the JSC post-commit bots https://bugs.webkit.org/show_bug.cgi?id=239341 Reviewed by Jonathan Bedard. Try to cover up for a little test flakiness (while still recording it in resultsdb) to avoid too many false alerts. * CISupport/build-webkit-org/steps.py: (RunJavaScriptCoreTests): (RunJavaScriptCoreTests.start): * CISupport/build-webkit-org/steps_unittest.py: 2022-04-26 Kate Cheney Remove WebArchiveDebugMode https://bugs.webkit.org/show_bug.cgi?id=239738 Reviewed by Tim Horton. * TestWebKitAPI/Tests/mac/LoadWebArchive.mm: (TestWebKitAPI::TEST): (TestWebKitAPI::constructArchive): 2022-04-25 Jonathan Bedard [ews-build.webkit.org] Specify repository when sending emails https://bugs.webkit.org/show_bug.cgi?id=239739 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (GitHubMixin.should_send_email_for_pr): Pass repository URL. (AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Ditto. (AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Ditto. 2022-04-25 Aditya Keerthi [iOS] Add NSCoding support for findInteractionEnabled https://bugs.webkit.org/show_bug.cgi?id=239733 rdar://87850648 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/Coding.mm: (TEST): 2022-04-25 Jonathan Bedard [Merge-Queue] Differentiate gardening commits in bug comments https://bugs.webkit.org/show_bug.cgi?id=239740 Reviewed by Ryan Haddad. * CISupport/ews-build/steps.py: (DetermineLandedIdentifier.comment_text_for_bug): * CISupport/ews-build/steps_unittest.py: 2022-04-25 Jonathan Bedard GitHub EWS is confused with prior PR's merge-blocked label https://bugs.webkit.org/show_bug.cgi?id=239411 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (BlockPullRequest.start): Only apply blocked label if tested hash and current hash match. 2022-04-25 Jonathan Bedard [build.webkit.org] Use GitHub checkouts (Follow-up) https://bugs.webkit.org/show_bug.cgi?id=239072 Unreviewed follow-up fix. * CISupport/build-webkit-org/steps.py: (CheckOutSource.__init__): Use the specified commit, not the latest. 2022-04-21 Jonathan Bedard [ews-build.webkit.org] Support alternative remotes https://bugs.webkit.org/show_bug.cgi?id=239617 Reviewed by Aakash Jain. * CISupport/ews-build/events.py: (GitHubEventHandlerNoEdits): (GitHubEventHandlerNoEdits.extractProperties): Remove sensative fields from non-public pull requests. (GitHubEventHandlerNoEdits.handle_pull_request): Generalize label process sleep. * CISupport/ews-build/steps.py: (CheckOutPullRequest.run): Checkout with EWS credentials. * CISupport/ews-build/steps_unittest.py: 2022-04-13 Jonathan Bedard [build.webkit.org] Use GitHub checkouts https://bugs.webkit.org/show_bug.cgi?id=239072 Reviewed by Ryan Haddad. * CISupport/build-webkit-org/config.json: Convert schedulers to GitHub based branch names. * CISupport/build-webkit-org/loadConfig.py: Ditto. * CISupport/build-webkit-org/master.cfg: Enable incoming hooks from GitHub. (load_password): Added. * CISupport/build-webkit-org/steps.py: (CheckOutSource): Replace with GitHub based checkout. (CleanUpGitIndexLock): Replaced SVNCleanup. (SVNCleanup): Replace with CleanUpGitIndexLock. (ShowIdentifier.start): `got_revision` will bet hash, not subversion revision. * CISupport/build-webkit-org/steps_unittest.py: (TestShowIdentifier.test_success): (TestShowIdentifier.test_failure): 2022-04-25 Tim Nguyen Fix typo in Tools/CISupport/ews-build/steps.py Unreviewed. * CISupport/ews-build/steps.py: (UpdateWorkingDirectory): 2022-04-25 Kimmo Kinnunen REGRESSION (249585@main): TestWebKitAPI.IPCTestingAPI.CanReceiveIPCSemaphore is timing out https://bugs.webkit.org/show_bug.cgi?id=239507 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: Move CanReceiveIPCSemaphore and CanSendIPCSemaphore test logic to LayoutTests/ipc/send-semaphore.html The tests were using audio and canvas implementation detail messages to test that IPC system can send IPC::Semaphore via IPC. Canvas implementation details changed and the test started to fail. The new tests use IPC messages that are purpose-built to test this feature. The new tests also actually test that the sent semaphores work. 2022-04-16 Philippe Normand [git] Allow pre-commit hook to feed from staged ChangeLogs https://bugs.webkit.org/show_bug.cgi?id=239419 Reviewed by Jonathan Bedard. In workflows where prepare-ChangeLog is executed manually before staging and committing changes the prepare-commit-msg hook can now read the curated ChangeLog from the git stage and present it in the editor for validation. In case no ChangeLog was staged, the hook will generate a message itself. * Scripts/hooks/prepare-commit-msg: 2022-04-23 Brady Eidson Add WKNotification and WKWebsiteDataStore SPI for handling click/close of persistent notifications https://bugs.webkit.org/show_bug.cgi Reviewed by Chris Dumez. Teach WKTR to use the new SPI by keeping a set of notifications that are persistent. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/WebNotificationProvider.cpp: (WTR::WebNotificationProvider::showWebNotification): (WTR::WebNotificationProvider::closeWebNotification): (WTR::WebNotificationProvider::reset): * WebKitTestRunner/WebNotificationProvider.h: * WebKitTestRunner/cocoa/WebNotificationProviderCocoa.mm: (WTR::WebNotificationProvider::simulateWebNotificationClickForServiceWorkerNotifications): 2022-04-23 Elliott Williams [buildbot] Increase the EWS compile timeout to account for delayed output from clang/XCBuild https://bugs.webkit.org/show_bug.cgi?id=239455 Reviewed by Ryan Haddad. Same as https://commits.webkit.org/249737@main, needed to work around delayed output bugs in Xcode/XCBuild. * CISupport/ews-build/steps.py: (CompileWebKit.__init__): * CISupport/ews-build/steps_unittest.py: 2022-04-23 Carlos Garcia Campos [ATSPI] WTR: add implementation for AccessibilityUIElement::domIdentifier https://bugs.webkit.org/show_bug.cgi?id=239598 Reviewed by Andres Gonzalez. * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: (WTR::AccessibilityUIElement::domIdentifier const): Deleted. * WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp: (WTR::AccessibilityUIElement::domIdentifier const): * WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp: (WTR::AccessibilityUIElement::domIdentifier const): 2022-04-22 Chris Dumez Move global AtomStrings to a common header to promote reuse https://bugs.webkit.org/show_bug.cgi?id=239585 Reviewed by Geoff Garen and Darin Adler. * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: (TestWebKitAPI::makeBackend): 2022-04-22 Aditya Keerthi [iOS] Add find interaction API to WKWebView https://bugs.webkit.org/show_bug.cgi?id=239612 rdar://88442918 Reviewed by Alex Christensen. Augment an existing API test to use the new API, in addition to the existing SPI. The find-and-replace test is updated to account for the fact that a find interaction no longer exposes a searchableObject. Instead, use test-only SPI on WKWebView to perform the replace. * TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm: (TEST): 2022-04-22 Wenson Hsieh [iOS] `-selectWordForReplacement` should select dictation alternatives that span multiple words https://bugs.webkit.org/show_bug.cgi?id=239622 rdar://91416535 Reviewed by Aditya Keerthi. Add an API test to exercise the change. * TestWebKitAPI/Tests/ios/SelectionByWord.mm: (TEST): 2022-04-21 John Cunningham Use GCGLSpanTuple to pass buffer parameters to multidraw calls. https://bugs.webkit.org/show_bug.cgi?id=239154 Reviewed by Kimmo Kinnunen. * Scripts/generate-gpup-webgl: 2022-04-21 Justin Michaud [PGO] Fix perl warnings cause by PGO for real this time https://bugs.webkit.org/show_bug.cgi?id=239633 Reviewed by Yusuke Suzuki. Add a missing 'defined' check before reading the PGO environment variable. * Scripts/check-for-weak-vtables-and-externals: 2022-04-20 Yusuke Suzuki [WTF] Add string concatenate adapter for UUID https://bugs.webkit.org/show_bug.cgi?id=239590 Reviewed by Chris Dumez and Darin Adler. * TestWebKitAPI/Tests/WTF/UUID.cpp: (TEST): 2022-04-21 Simon Fraser with overflow:hidden CSS is scrollable on iOS standalone web app https://bugs.webkit.org/show_bug.cgi?id=220908 Reviewed by Devin Rousso. New API tests for various configurations of insets and size overrides. * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm: (TestWebKitAPI::TEST): 2022-04-21 Jonathan Bedard [git-webkit] Allow caller to specify remote for PR https://bugs.webkit.org/show_bug.cgi?id=239452 Reviewed by Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: (Git.__init__): Allow caller to define remotes. * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest.parser): Add '--remote' option. (PullRequest.main): Allow options to specify the remote we're making a PR against. * Scripts/libraries/webkitscmpy/webkitscmpy/program/revert.py: (Revert.add_comment_to_reverted_commit_bug_tracker): Derive remote from argument. * Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py: (GitHub.PRGenerator.find): Support finding PRs if label doesn't contain username. (GitHub.PRGenerator.create): Error 422 is a validation error, usually caused by another PR pointing to the same branch. (GitHub.PRGenerator.update): Extract error message for more actionable errors. * Scripts/libraries/webkitscmpy/webkitscmpy/test/clean_unittest.py: (TestClean.test_clean_pr): Add fork remote. * Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py: * Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py: 2022-04-21 Jonathan Bedard [Merge-Queue] Don't close bugs associated with test gardening https://bugs.webkit.org/show_bug.cgi?id=239604 Reviewed by Ryan Haddad. * CISupport/ews-build/steps.py: (CloseBug.doStepIf): Skip step if we're a test gardening change. (UpdatePullRequest): (UpdatePullRequest.is_test_gardening): Check for "Unreviewed test gardening" in the commit message. (UpdatePullRequest.evaluateCommand): * CISupport/ews-build/steps_unittest.py: 2022-04-21 Jonathan Bedard [commits.webkit.org] Disable CORS https://bugs.webkit.org/show_bug.cgi?id=239607 Reviewed by Aakash Jain. * Scripts/libraries/reporelaypy/reporelaypy/__init__.py: Bump version. * Scripts/libraries/reporelaypy/reporelaypy/webserver.py: Disable CORS. * Scripts/libraries/reporelaypy/setup.py: Bump version. 2022-04-21 Jonathan Bedard [Merge-Queue] Allow "Rubber-stamped" as review message https://bugs.webkit.org/show_bug.cgi?id=239601 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (ValidateCommitMessage.evaluateCommand): Allow "Rubber-stamped by." * CISupport/ews-build/steps_unittest.py: 2022-04-20 Jonathan Bedard [build.webkit.org] Support identifiers on dashboard https://bugs.webkit.org/show_bug.cgi?id=239473 Reviewed by Aakash Jain. * CISupport/build-webkit-org/public_html/dashboard/Scripts/Buildbot.js: (Buildbot.prototype.layoutTestResultsDirectoryURLForIteration): Remove leading r. * CISupport/build-webkit-org/public_html/dashboard/Scripts/BuildbotIteration.js: (BuildbotIteration.prototype.get buildURL): Request identifier. * CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: OpenSource should be considered a git checkout. * CISupport/build-webkit-org/public_html/dashboard/Scripts/Initialization.js: Add Commit interface. * CISupport/build-webkit-org/public_html/dashboard/Scripts/Main.js: Kick off periodic commits.webkit.org refresh. * CISupport/build-webkit-org/public_html/dashboard/Scripts/QueueView.js: (QueueView.prototype._appendPendingRevisionCount): Use commit.webkit.org interface instead of trac. (QueueView.prototype._formatRevisionForDisplay): Don't truncate identifiers. * CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/index.html: Import Commits.js. * CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/resources/MockCommits.js: (MockCommits): Add mock commits.webkit.org interface. * CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/resources/tests.js: (setup): Add commits.webkit.org interface. (this.view._latestProductiveIteration): * CISupport/build-webkit-org/public_html/dashboard/index.html: 2022-04-21 Carlos Garcia Campos [GTK][WPE] Make make-dist script python3 only https://bugs.webkit.org/show_bug.cgi?id=239596 Reviewed by Adrian Perez de Castro. It fails with python2 since r291934. * Scripts/make-dist: 2022-04-20 Yusuke Suzuki Generate well-formed JSON for compile_commands.json https://bugs.webkit.org/show_bug.cgi?id=239584 Reviewed by Mark Lam. Currently, compile_commands.json always has one trailing comma in the main array. While clangd does not care this, it is ill-formed JSON, and some other tools consuming compile_commands.json can fail. This patch makes it so that generated compile_commands.json has well-formed JSON. * Scripts/generate-compile-commands: 2022-04-20 Wenson Hsieh Avoid falling back to snapshots for transparent images when triggering batch text recognition https://bugs.webkit.org/show_bug.cgi?id=239555 rdar://91622151 Reviewed by Aditya Keerthi. Add an API test to exercise the bug, by triggering batch image analysis on an image with `opacity: 0;` that fades in on a timer. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: (TestWebKitAPI::CGImagePixelReader::CGImagePixelReader): (TestWebKitAPI::CGImagePixelReader::isTransparentBlack const): (TestWebKitAPI::CGImagePixelReader::at const): (TestWebKitAPI::CGImagePixelReader::width const): (TestWebKitAPI::CGImagePixelReader::height const): Add a simple helper class to read pixel values at a given location in a given CGImage; this helper class works by first rendering the given image into a plain SRGB bitmap context, which we then use to read back pixel data in RGBA format. (TestWebKitAPI::processRequestWithError): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/fade-in-image.html: Added. 2022-04-20 Ross Kirsling [LayoutTests][Win] Tests can fail if long paths are not enabled in registry. https://bugs.webkit.org/show_bug.cgi?id=188092 Reviewed by Basuke Suzuki. Python 3.6 supports long file paths on Windows by default so long as LongPathsEnabled is set in HKLM\System\CurrentControlSet\Control\FileSystem. This patch adds that key to webkitpy's registry editing. * Scripts/webkitpy/port/win.py: (WinPort): (WinPort.set_long_paths_enabled): Added. (WinPort.restore_long_paths_enabled): Added. (WinPort.setup_test_run): (WinPort.clean_up_test_run): 2022-04-20 Megan Gardner Address recent deprecation warnings on iOS. https://bugs.webkit.org/show_bug.cgi?id=239560 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm: (TEST): * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView initWithFrame:configuration:]): (-[TestRunnerWKWebView _addCustomItemToMenuControllerIfNecessary]): (-[TestRunnerWKWebView resetCustomMenuAction]): (-[TestRunnerWKWebView canPerformAction:withSender:]): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformInitialize): (WTR::TestController::platformDestroy): 2022-04-20 Commit Queue Unreviewed, reverting r292508. https://bugs.webkit.org/show_bug.cgi?id=239561 Links to test results are partly broken in layout-tests- results/results.html Reverted changeset: "Fix expected, actual links for variant-based imported wpt tests" https://bugs.webkit.org/show_bug.cgi?id=238832 https://commits.webkit.org/r292508 2022-04-18 Justin Michaud [PGO] run-benchmark should allow pgo profiles to be collected during a benchmark run https://bugs.webkit.org/show_bug.cgi?id=239313 Reviewed by Dewei Zhu. Add a --profile-output-directory to run-benchmark. Add helper scripts pgo-profile-merge and pgo-profile-summarize to simplify handling profile output. Add a script called build-and-collect-pgo-profiles that automates everything. * Scripts/build-and-collect-pgo-profiles: Added. * Scripts/pgo-profile: Added. * Scripts/webkitpy/benchmark_runner/benchmark_runner.py: (BenchmarkRunner.__init__): * Scripts/webkitpy/benchmark_runner/run_benchmark.py: (config_argument_parser): (parse_args): (run_benchmark_plan): * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: (WebServerBenchmarkRunner.__init__): (WebServerBenchmarkRunner._get_result): (WebServerBenchmarkRunner._run_one_test): Deleted. 2022-04-20 Myles C. Maxfield [WebGPU] Update WebGPU CTS to revision 549d7c2f1637321a9247f0a3ab022f919e5ca5da https://bugs.webkit.org/show_bug.cgi?id=239444 Reviewed by Kimmo Kinnunen. * Scripts/import-webgpu-cts: 2022-04-20 Alex Christensen [ Monterey Release arm64 ] TestWebKitAPI.ContentRuleList.ResourceTypes is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=239523 Reviewed by Chris Dumez. If the request count isn't the expected value, wait until it is. * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: (TEST): 2022-04-19 Robert Jenner Bring up new iOS builders https://bugs.webkit.org/show_bug.cgi?id=239470 Reviewed by Ryan Haddad. * CISupport/build-webkit-org/config.json: * CISupport/ews-build/config.json: 2022-04-19 Ben Nham Handle public token updates in webpushd https://bugs.webkit.org/show_bug.cgi?id=239042 Reviewed by Brady Eidson. - Test that public token updates are handled properly at the PushDatabase and WebPushDaemon levels - Test schema migration in PushDatabase * TestWebKitAPI/Tests/WebCore/PushDatabase.cpp: (TestWebKitAPI::createDatabaseSync): (TestWebKitAPI::getPublicTokenSync): (TestWebKitAPI::updatePublicTokenSync): (TestWebKitAPI::getRecordByBundleIdentifierAndScopeSync): (TestWebKitAPI::getRowIdentifiersSync): (TestWebKitAPI::PushDatabaseTest::getPublicToken): (TestWebKitAPI::PushDatabaseTest::updatePublicToken): (TestWebKitAPI::PushDatabaseTest::getRecordByBundleIdentifierAndScope): (TestWebKitAPI::PushDatabaseTest::getRowIdentifiers): (TestWebKitAPI::TEST_F): (TestWebKitAPI::TEST): (TestWebKitAPI::createDatabaseFromStatements): * TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm: 2022-04-19 Chris Dumez Replace String::replaceWithLiteral() with a String::replace() overload that takes in an ASCIILiteral https://bugs.webkit.org/show_bug.cgi?id=239500 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/WTFString.cpp: (TestWebKitAPI::TEST): 2022-04-19 Wenson Hsieh [iOS] Dictation text that contains emojis is inserted twice upon finalization https://bugs.webkit.org/show_bug.cgi?id=239508 rdar://91895524 Reviewed by Aditya Keerthi. Add an API test to exercise the change. * TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm: (TestWebKitAPI::TEST): 2022-04-19 Michael Saboff Various WebKit tools need to be told about the system content path https://bugs.webkit.org/show_bug.cgi?id=239516 Reviewed by Ryan Haddad. Added the INSTALL_PATH_PREFIX to the INSTALL_PATH for the webkit test tools. This will contain the system content path prefix when enabled. * DumpRenderTree/mac/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: * DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig: * DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/BaseTarget.xcconfig: 2022-04-19 Jonathan Bedard [ews-build.webkit.org] GitHub usernames are case insensitive https://bugs.webkit.org/show_bug.cgi?id=239509 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (GitHub.email_for_owners): Treat all GitHub usernames as lowercase. (Contributors.load): Ditto. (ValidateCommitterAndReviewer.is_reviewer): Ditto. (ValidateCommitterAndReviewer.is_committer): Ditto. (ValidateCommitterAndReviewer.full_name_from_email): Ditto. (AddReviewerMixin.gitCommitEnvironment): Ditto. (AddAuthorToCommitMessage.author): Ditto. 2022-04-19 Wenson Hsieh [iOS] Text selection flickers when inserting text using dictation https://bugs.webkit.org/show_bug.cgi?id=239467 rdar://91895659 Reviewed by Aditya Keerthi. Add an API test to verify that -willInsertFinalDictationResult and -didInsertFinalDictationResult correctly suppresses intermediate editor UI updates. * TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm: (-[EditorStateObserver initWithWebView:]): (-[EditorStateObserver _webView:editorStateDidChange:]): (TestWebKitAPI::setUpEditableWebViewAndWaitForInputSession): (TestWebKitAPI::TEST): * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/ios/UIKitSPI.h: 2022-04-19 Jonathan Bedard [ews-build.webkit.org] Resolve conflicting Mixin inheritance https://bugs.webkit.org/show_bug.cgi?id=239504 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (GitHubMixin.fetch_data_from_url_with_authentication_github): Renamed from fetch_data_from_url_with_authentication. (GitHubMixin.get_pr_json): Invoke GitHub specific version. (GitHubMixin.get_reviewers): Ditto. (GitHubMixin.remove_labels): Ditto. (BugzillaMixin.fetch_data_from_url_with_authentication_bugzilla): Renamed from fetch_data_from_url_with_authentication. (BugzillaMixin.get_patch_json): Invoke buildbot specific version. (BugzillaMixin.get_bug_json): Ditto. (GitHubMixin.fetch_data_from_url_with_authentication): Renamed to fetch_data_from_url_with_authentication_github. (BugzillaMixin.fetch_data_from_url_with_authentication): Renamed to fetch_data_from_url_with_authentication_bugzilla. 2022-04-18 Jonathan Bedard [build.webkit.org] Use identifier as version when uploading artifacts (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=239321 Reviewed by Aakash Jain and Ryan Haddad. * CISupport/build-webkit-org/steps.py: (UploadTestResults): Strip leading r. (ExtractTestResults.__init__): Ditto. 2022-04-19 Aakash Jain Delete old buildbot code from bot watchers dashboard https://bugs.webkit.org/show_bug.cgi?id=239497 Reviewed by Jonathan Bedard. * Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/Buildbot.js: * CISupport/build-webkit-org/public_html/dashboard/Scripts/BuildbotIteration.js: * CISupport/build-webkit-org/public_html/dashboard/Scripts/BuildbotQueue.js: * CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js: 2022-04-18 Tyler Wilcock AX: Update the isolated tree in response to AXElementBusyChanged and AXTextChanged notifications https://bugs.webkit.org/show_bug.cgi?id=239434 Reviewed by Chris Fleizach. Added necessary tooling to enable querying AX object busy state for the test added with this patch. * DumpRenderTree/AccessibilityUIElement.cpp: (getIsBusyCallback): (AccessibilityUIElement::getJSClass): * DumpRenderTree/AccessibilityUIElement.h: * DumpRenderTree/ios/AccessibilityUIElementIOS.mm: (AccessibilityUIElement::isBusy const): * DumpRenderTree/mac/AccessibilityUIElementMac.mm: (AccessibilityUIElement::isBusy const): * DumpRenderTree/win/AccessibilityUIElementWin.cpp: (AccessibilityUIElement::isBusy const): * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp: (WTR::AccessibilityUIElement::isBusy const): * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::isBusy const): * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::isBusy const): * WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp: (WTR::AccessibilityUIElement::isBusy const): 2022-04-18 Simon Fraser Allow C API clients to get the WKProcessTerminationReason in processDidCrash functions, and use in WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=239400 Reviewed by Sam Weinig. Standardize the "didCrash" callbacks to use the WKContextClientV4 "with details" versions, and use them to print out crash reasons. * WebKitTestRunner/TestController.cpp: (WTR::TestController::generatePageConfiguration): (WTR::TestController::networkProcessDidCrashWithDetails): (WTR::TestController::serviceWorkerProcessDidCrashWithDetails): (WTR::TestController::gpuProcessDidCrashWithDetails): (WTR::terminationReasonToString): (WTR::TestController::networkProcessDidCrash): (WTR::TestController::serviceWorkerProcessDidCrash): (WTR::TestController::gpuProcessDidCrash): (WTR::TestController::webProcessDidTerminate): * WebKitTestRunner/TestController.h: 2022-04-15 Jonathan Bedard [ews.webkit.org] Reduce status updates https://bugs.webkit.org/show_bug.cgi?id=239414 Reviewed by Aakash Jain. We're starting to bump against our API limits, many very short steps report their status, only to be imiediately overwritten. Skip step started updates. * CISupport/ews-build/events.py: (Events.stepStarted): 2022-04-15 Justin Michaud [PGO] Fix build on intel machines https://bugs.webkit.org/show_bug.cgi?id=239396 Reviewed by Jonathan Bedard. We should use the correct comparison operator for Perl strings when checking if we are building with PGO profile generation enabled. * Scripts/check-for-weak-vtables-and-externals: 2022-04-18 Elliott Williams [XCBuild] Use XCBuild for all command-line and project builds https://bugs.webkit.org/show_bug.cgi?id=238916 Reviewed by Alexey Proskuryakov. There are a few projects in Tools/ which are checked in but not built as part of the normal Make or build-webkit workflow. I've updated them, and noted below which ones were already failing to build. * ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * EditingHistory/EditingHistory.xcodeproj/project.pbxproj: Fails to build locally, updated anyway. * FontWithFeatures/FontWithFeatures.xcodeproj/project.pbxproj: Fails to build locally, updated anyway. * ImageDiff/ImageDiff.xcodeproj/project.pbxproj: * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: * MiniBrowserSwiftUI/MiniBrowserSwiftUI.xcodeproj/project.pbxproj: * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj: Fails to build locally, updated anyway. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2022-04-07 Jonathan Bedard [Merge-Queue] Handle label addition race condition https://bugs.webkit.org/show_bug.cgi?id=238973 Reviewed by Aakash Jain. * CISupport/ews-build/events.py: (GitHubEventHandlerNoEdits.handle_pull_request): Wait for 10 seconds before processing label additions. 2022-04-18 Wenson Hsieh Make the main video heuristic robust when video elements are added after entering fullscreen https://bugs.webkit.org/show_bug.cgi?id=239438 rdar://91867187 Reviewed by Eric Carlson. Add a helper method to a test page used in API tests; see the radar for more information. * TestWebKitAPI/Tests/WebKitCocoa/element-fullscreen.html: 2022-04-16 Chris Dumez Drop String::truncate() and use String::left() instead https://bugs.webkit.org/show_bug.cgi?id=239412 Reviewed by Darin Adler. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::willAddMessageToConsole): 2022-04-16 Wenson Hsieh [macOS] Image controls are editable and prevent drops in editable web views https://bugs.webkit.org/show_bug.cgi?id=239423 rdar://81027082 Reviewed by Darin Adler. Add a new API test to exercise the change. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2022-04-12 Jonathan Bedard [git-webkit] Allow projects to declare alternate remotes https://bugs.webkit.org/show_bug.cgi?id=239261 Reviewed by Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump verison. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git.remote): Move logic to remote.Scm.from_url. * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.github): Allow user to specify trailing remote name. (Setup._add_remote): Add a remote or modify exising remote. (Setup._fork_remote): Determine a remote url based on origin url. (Setup.git): If the project declares remotes, check if the user is using the righ origin. Warn them if they are not. Check if the user has access to alternate remotes, if they do, add those remotes and create forks for them. Fetch all fork remotes. Do not fork repository if origin does not match declared origin. * Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py: (Scm.from_url): Moved logic from local.Git.remote. * Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py: 2022-04-15 Yusuke Suzuki [JSC] Remove VM& parameter from structure related code including jsDyamicCast https://bugs.webkit.org/show_bug.cgi?id=239362 Reviewed by Darin Adler. * DumpRenderTree/TestRunner.cpp: (setAudioResultCallback): (TestRunner::setOpenPanelFilesMediaIcon): 2022-04-15 Ross Kirsling Fix parsePlatformFamily on bot watcher's dashboard. https://bugs.webkit.org/show_bug.cgi?id=239394 Reviewed by Jonathan Bedard. * CISupport/build-webkit-org/public_html/dashboard/Scripts/Settings.js: (Settings.prototype.parsePlatformFamily): Allow for the "family of one" case. 2022-04-15 J Pascoe [WebAuthn] Implement getTransports() and getAuthenticatorData() on AuthenticatorAttestationResponse https://bugs.webkit.org/show_bug.cgi?id=238966 rdar://problem/91449906 Reviewed by Brent Fulgham. Add tests for parsing transports from getInfo. * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/FidoTestData.h: 2022-04-14 Wenson Hsieh Undo option after invoking "Markup Image" says "Undo Paste" https://bugs.webkit.org/show_bug.cgi?id=239351 rdar://91647863 Reviewed by Darin Adler. Augment an existing API test to verify that the resulting undo action title after invoking "Markup Image" is not "Undo Paste". * TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: (TestWebKitAPI::TEST): 2022-04-14 Robert Jenner Add an additional system to unsafe-merge queue https://bugs.webkit.org/show_bug.cgi?id=239354 Reviewed by Ryan Haddad. * CISupport/ews-build/config.json: 2022-04-14 Jonathan Bedard [git-webkit] Personal branch is "not a PR branch" https://bugs.webkit.org/show_bug.cgi?id=239329 Reviewed by Yusuke Suzuki. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git.branches_for): Provide optional caching. * Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py: (Branch.editable): If a branch does not exist on production remotes, that branch should also be considered a PR branch. * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest.main): Only create a new PR branch if the current branch is a production branch. 2022-04-14 Wenson Hsieh [iOS] [WK2] Managed pasteboard should function for all managed domains https://bugs.webkit.org/show_bug.cgi?id=239319 rdar://80059355 Reviewed by Kate Cheney. Add a new API test to verify that we fall back to consulting `-[MCProfileConnection isURLManaged:]` when determining the data owner for copy and paste, unless a data owner is already explicitly set on a view in the responder chain (specifically, the WKWebView). * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: (+[TestUIPasteboard _performAsDataOwner:block:]): (-[TestMCProfileConnection isURLManaged:]): (TestWebKitAPI::TEST): 2022-04-14 J Pascoe [WebAuthn] Clean up WebAuthenticationModern and WebAuthnProcess https://bugs.webkit.org/show_bug.cgi?id=239073 rdar://problem/91571030 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST): (TestWebKitAPI::WebCore::webAuthenticationModernExperimentalFeature): Deleted. 2022-04-13 Jonathan Bedard [build.webkit.org] Use identifier as version when uploading artifacts https://bugs.webkit.org/show_bug.cgi?id=239321 Reviewed by Ryan Haddad. * CISupport/build-webkit-org/steps.py: (GenerateJSCBundle): Use archive_revision to name generated content. (GenerateMiniBrowserBundle): Ditto (UploadBuiltProduct): Ditto (UploadMinifiedBuiltProduct): Ditto (DownloadBuiltProduct): Ditto (DownloadBuiltProductFromMaster): Ditto (RunBenchmarkTests): Ditto (UploadTestResults): Ditto (TransferToS3): Ditto (ExtractTestResults.__init__): Ditto (ShowIdentifier.evaluateCommand): Set archive_revision as identifier, fall back to got_revision. 2022-04-14 Chris Dumez Drop inefficient String::append() overloads https://bugs.webkit.org/show_bug.cgi?id=239289 Reviewed by Sam Weinig. * TestWebKitAPI/Tests/WTF/FileSystem.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WTF/StringBuilder.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: (TestWebKitAPI::TEST_F): * WebKitTestRunner/TestController.cpp: (WTR::TestController::didReceiveAuthenticationChallenge): 2022-04-14 John Cunningham Replace PaintCompositedResultsToMediaSample with PaintCompositedResultsToVideoFrame in generate-gpup-webgl https://bugs.webkit.org/show_bug.cgi?id=239317 Reviewed by Alexey Proskuryakov. * Scripts/generate-gpup-webgl: 2022-04-14 Robert Jenner Remove bot241 to be re-purposed Unreviewed configuration change. * CISupport/build-webkit-org/config.json: 2022-04-14 Justin Michaud [PGO] We should be able to build WebKit to collect PGO profiles easily https://bugs.webkit.org/show_bug.cgi?id=238776 Reviewed by Wenson Hsieh. * Scripts/check-for-weak-vtables-and-externals: * Scripts/webkitdirs.pm: (XcodeOptions): * Scripts/webkitperl/FeatureList.pm: 2022-04-14 Youenn Fablet Enable ExitsUnderMemoryPressureWebRTCCase and disable ExitsUnderMemoryPressureGetUserMediaAudioCase on iOS simulator https://bugs.webkit.org/show_bug.cgi?id=239115 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: (TEST): 2022-04-14 Kate Cheney WKWebView: navigator.serviceWorker.register method fails for a new version of an already registered service worker. https://bugs.webkit.org/show_bug.cgi?id=229554 Reviewed by Brent Fulgham. Adds a new test for re-registering and an overdue test for unregistering now that we have the infrastructure. This also does some refactoring to reduce duplicate code. * TestWebKitAPI/Info.plist: Update the Info.plist to consider localhost an app-bound domain so we can test the max count when overriding the loopback IP. This requires replacing an existing domain to stay under the count limit. * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (TEST): 2022-04-13 Chris Dumez Replace calls to substring(0, x) with the more concise left(x) https://bugs.webkit.org/show_bug.cgi?id=239306 Reviewed by Darin Adler. * DumpRenderTree/win/DumpRenderTree.cpp: (findFontFallback): * TestWebKitAPI/Tests/WTF/URLParser.cpp: (TestWebKitAPI::insertTabAtLocation): * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp: (TestWebKitAPI::readContentsOfFile): * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp: (canonicalizeHTTPHeader): * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp: (TestWebKitAPI::insertTabAtLocation): * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::pathSuitableForTestResult): (WTR::dumpFrameText): (WTR::stripTrailingSpacesAddNewline): (WTR::InjectedBundlePage::willAddMessageToConsole): 2022-04-13 Alex Christensen Punycode encode U+15AF when not in context of other Canadian aboriginal code points https://bugs.webkit.org/show_bug.cgi?id=239316 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: (TestWebKitAPI::TEST): 2022-04-13 Matteo Flores [ iOS ] TestWebKitAPI.WebKit2.CrashGPUProcessWhileCapturing is a flaky timeout https://bugs.webkit.org/show_bug.cgi?id=239315 Unreviewed test gardening. * TestWebKitAPI/Tests/WebKit/GetUserMedia.mm: 2022-04-13 Matteo Flores [ iOS ] TestWebKitAPI.WebKit2.CrashGPUProcessWhileCapturingAndCalling is a flaky timeout https://bugs.webkit.org/show_bug.cgi?id=239309 Unreviewed test gardening. * TestWebKitAPI/Tests/WebKit/GetUserMedia.mm: Disabling test to help EWS 2022-04-13 Matteo Flores [ iOS ] TestWebKitAPI.SOAuthorizationSubFrame.InterceptionErrorWithReferrer is a flaky timeout https://bugs.webkit.org/show_bug.cgi?id=239311 Unreviewed test gardening * TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: Disabling the test to help EWS (TestWebKitAPI::TEST): 2022-04-13 Matteo Flores REGRESSION(r292401-r292310): [ iOS ] TestWebKitAPI.GPUProcess.CanvasBasicCrashHandling is a constant failure on iOS https://bugs.webkit.org/show_bug.cgi?id=239303 Unreviewed test gardening. * TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: Disabling the test to help EWS (TEST): 2022-04-13 Matteo Flores [ iOS ] TestWebKitAPI.IndexedDB.IndexedDBSuspendImminently is a constant timeout https://bugs.webkit.org/show_bug.cgi?id=239310 Unreviewed test gardening. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm: Disabling the test (TEST): 2022-04-13 Jonathan Bedard [git-webkit] Found branch name instead of hash https://bugs.webkit.org/show_bug.cgi?id=239296 Reviewed by Michael Catanzaro. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: (Git.Cache.populate): Add --no-decorate to `git log` command. (Git.commit): Ditto. (Git.commits): Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: * Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py: (TestGit.test_log): Ditto. 2022-04-13 Ross Kirsling Add PlayStation builds to bot watcher's dashboard. https://bugs.webkit.org/show_bug.cgi?id=239090 Reviewed by Jonathan Bedard . * CISupport/build-webkit-org/public_html/dashboard/Images/PlayStation.png: Added. * CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: * CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js: * CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: 2022-04-12 Fujii Hironori [WinCairo] WEBKIT_LIBRARIES env var should be customizable https://bugs.webkit.org/show_bug.cgi?id=239268 Reviewed by Yusuke Suzuki. * Scripts/update-webkit-wincairo-libs.py: Output to WEBKIT_LIBRARIES directory if the env var is set. 2022-04-13 Simon Fraser [css-scroll-snap] scrollIntoView fails with scroll-snap-type on :root https://bugs.webkit.org/show_bug.cgi?id=239063 Reviewed by Dean Jackson. _didFinishScrolling: now works for subscrollers too. * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView _didFinishScrolling:]): (-[TestRunnerWKWebView _didFinishScrolling]): Deleted. 2022-04-13 Chris Dumez Replace AtomString(const char*) with AtomString::fromLatin1(const char*) https://bugs.webkit.org/show_bug.cgi?id=239127 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/AtomString.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/StringOperators.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/cg/BifurcatedGraphicsContextTestsCG.cpp: (TestWebKitAPI::TEST): 2022-04-13 Angelos Oikonomopoulos [run-jsc-stress-tests] Minor robustness fix https://bugs.webkit.org/show_bug.cgi?id=239280 Reviewed by Adrian Perez de Castro. Occasionally (e.g. https://build.webkit.org/#/builders/31/builds/3282), run-jsc-stress-tests will receive a partial line when recovering the results because the remote has died. The original code was being too defensive; we should simply ignore those lines and allow for a retry. * Scripts/run-jsc-stress-tests: 2022-04-13 Angelos Oikonomopoulos [run-jsc-stress-tests] Use ServerAliveInterval in GNU parallel https://bugs.webkit.org/show_bug.cgi?id=239283 Reviewed by Adrian Perez de Castro. run-jsc-stress-tests occasionally dies e.g. in https://build.webkit.org/#/builders/31/builds/3262/steps/8/logs/stdio because the remote commands don't produce any output for a full hour. This seems like an issue with hung ssh connections (possibly because of all the remotes rebooting at the same time), so use ServerAliveInterval to detect that. Reuse SSH_OPTIONS_DEFAULT to pick up the ServerAliveInterval. While here, move the extra ssh options outside the command string and document them properly. * Scripts/run-jsc-stress-tests: 2022-04-12 Jonathan Bedard [Merge-Queue] Do not duplicate reviewer names https://bugs.webkit.org/show_bug.cgi?id=239270 Reviewed by Yusuke Suzuki. * CISupport/ews-build/steps.py: (ValidateCommitterAndReviewer.start): * CISupport/ews-build/steps_unittest.py: 2022-04-13 Diego Pino Garcia [JHBuild] Unreviewed, replace 'false' for 'disabled' in glib mesonargs * gtk/jhbuild.modules: 2022-04-13 Diego Pino Garcia [JHBuild] Unreviewed, fix 'glib-networking' module path in WPE and GTK general modules * gtk/jhbuild.modules: * wpe/jhbuild.modules: 2022-04-13 Diego Pino Garcia [JHBuild] Unreviewed, fix 'glib-networking' module path * jhbuild/jhbuild-minimal.modules: 2022-04-12 Elliott Williams [Xcode] In open-source builds, disable bitcode in xcconfigs instead of build-webkit https://bugs.webkit.org/show_bug.cgi?id=239262 Reviewed by Alexey Proskuryakov. * ContentExtensionTester/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/Base.xcconfig: * ImageDiff/cg/Configurations/Base.xcconfig: * MiniBrowser/Configurations/Base.xcconfig: * MiniBrowserSwiftUI/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/Base.xcconfig: * Scripts/webkitdirs.pm: (XcodeOptions): * TestWebKitAPI/Configurations/Base.xcconfig: * WebEditingTester/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: * lldb/lldbWebKitTester/Configurations/Base.xcconfig: 2022-04-12 Tim Horton Adopt "version set"-based linked-on-or-after checks instead of platform-specific ones https://bugs.webkit.org/show_bug.cgi?id=239054 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WTF/Bitmap.cpp: (TestWebKitAPI::testBitmapCountAfterSetAll): (TestWebKitAPI::TEST): Add a test that Bitmap.count() works correctly after Bitmap.setAll(), because my initial implementation was incorrect for bitmaps where the total number of bits was not a multiple of the word size. 2022-04-12 Diego Pino Garcia [JHBuild] Update ATSPI, GLib and GStreamer libraries https://bugs.webkit.org/show_bug.cgi?id=239117 Reviewed by Adrian Perez de Castro. Update several libraries to the same version as their Flatpak counterparts. JHBuild dependencies didn't build because ATSPI required a more recent version of gdbus-codegen, provided by GLib. The patch also fixes dependencies build in WPE, which required to update several GStreamer libs. Finally, ATSPI and GLib are added to the minimal dependencies modules set to make it possible to build with A11y support via ATSPI. * gstreamer/jhbuild.modules: * gtk/jhbuild.modules: * jhbuild/jhbuild-minimal.modules: * wpe/jhbuild.modules: 2022-04-12 Elliott Williams Reland "[XCBuild] Enable dependency validation by default" https://bugs.webkit.org/show_bug.cgi?id=238901 Reviewed by Alexey Proskuryakov. * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: In open-source builds, disable VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building a native target). * ImageDiff/cg/Configurations/DebugRelease.xcconfig: Same as above. * MiniBrowser/Configurations/DebugRelease.xcconfig: Same as above. * MobileMiniBrowser/Configurations/DebugRelease.xcconfig: Same as above. * Scripts/build-webkit: Turn on validation errors when USE_WORKSPACE=YES. Use a new build setting, WK_VALIDATE_DEPENDENCIES, which is the "requested" validation level. The actual validation level set in VALIDATE_DEPENDENCIES may be lower. * Scripts/set-webkit-configuration: * Scripts/webkitdirs.pm: (markBaseProductDirectoryAsCreatedByXcodeBuildSystem): (setCreatedByXcodeBuildSystem): * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Same as above. * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Same as above. * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig: Same as above. 2022-04-12 Myles C. Maxfield [WKTR] [DRT] Only enable WebGPU for the LayoutTests/http/tests/webgpu directory https://bugs.webkit.org/show_bug.cgi?id=238779 Reviewed by Darin Adler. We have a set of hardcoded directories already; this adds to that. WebGPU is only ready for LayoutTests to use; it isn't ready for any other WKTR/DRT usage. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults): * TestRunnerShared/TestFeatures.cpp: (WTR::shouldEnableWebGPU): (WTR::hardcodedFeaturesBasedOnPathForTest): * WebKitTestRunner/TestOptions.cpp: (WTR::TestOptions::defaults): 2022-04-12 Jonathan Bedard [Merge-Queue] Prioritize oldest builds first https://bugs.webkit.org/show_bug.cgi?id=239094 ] Reviewed by Stephanie Lewis. * CISupport/ews-build/loadConfig.py: (loadBuilderConfig): (async_sort): Added. (prioritizeBuilders): Prioritize the builder with the oldest request. * CISupport/ews-build/loadConfig_unittest.py: (TestPrioritizeBuilders): (TestPrioritizeBuilders.MockBuilder): (TestPrioritizeBuilders.test_builders_over_testers): (TestPrioritizeBuilders.test_starvation): 2022-04-12 Angelos Oikonomopoulos [JSC] Report test flakiness to resultsdb https://bugs.webkit.org/show_bug.cgi?id=238806 Reviewed by Jonathan Bedard. Include flakiness info in the report sent to results.webkit.org. This is a prerequisite to using --treat-failing-as-flaky in post-commit JSC bots, as otherwise we'd lose any flakiness info for tests that made it over the specified threshold. For completeness, this patch includes the flakiness information for both passed and failing tests. It also bumps the hard iteration limit to 50 (a cap to the value specified in --treat-failing-as-flaky). While here, add some self-checking code that verifies the numbers add up. This needs some minor refactoring in the tests to not declare an error when the results are incomplete on purpose. * Scripts/run-javascriptcore-tests: (runJSCStressTests): Propagate the flakiness information reported by run-jsc-stress tests. Report known flakiness for both failing and passing tests. * Scripts/run-jsc-stress-tests: Bump iterationsCeiling. Ask the evaluator to treatIncompleteAsFailed and perform validition. * Scripts/webkitruby/jsc-stress-test/executor.rb: Introduce and use acceptIncomplete for the test that needs it. * Scripts/webkitruby/jsc-stress-test/test-result-evaluator.rb: Introduce and use treatIncompleteAsFailed. Report both passed and failed tests as flaky when they have been (subsequent to user request) executed multiple times. 2022-04-12 Youenn Fablet Add persistent notification click API test https://bugs.webkit.org/show_bug.cgi?id=238995 Reviewed by Brady Eidson. * TestWebKitAPI/TestNotificationProvider.cpp: * TestWebKitAPI/TestNotificationProvider.h: * TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm: 2022-04-12 Carlos Alberto Lopez Perez [GTK][WPE] generate-bundle: fix typo/bug in the wrapper shell code for the bundle after r292109. https://bugs.webkit.org/show_bug.cgi?id=237107 There was a typo/bug in the shell code for the bundle that tried to check if a path was absolute. Fix the issue and also improve the code a bit. Unreviewed follow-up fix. * Scripts/webkitpy/binary_bundling/bundle.py: (BinaryBundler.generate_wrapper_script): 2022-04-11 Tyler Wilcock AX: Update isolated tree in response to AXReadOnlyStatusChanged, AXRequiredStatusChanged, and AXPressedStateChanged notifications https://bugs.webkit.org/show_bug.cgi?id=239047 Reviewed by Chris Fleizach. * DumpRenderTree/ios/AccessibilityUIElementIOS.mm: (AccessibilityUIElement::isAttributeSettable): (AccessibilityUIElement::isRequired const): Added both of these methods so that the tests added with this patch can run on iOS. * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::isAttributeSettable): (WTR::AccessibilityUIElement::isRequired const): Added both of these methods so that the tests added with this patch can run on iOS. 2022-04-11 Jonathan Bedard [Merge-Queue] Build before landing https://bugs.webkit.org/show_bug.cgi?id=239068 Reviewed by Ryan Haddad. * CISupport/ews-build/factories.py: (MergeQueueFactory.__init__): Build WebKit before landing. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): 2022-04-11 Chris Dumez REGRESSION:(r292696) lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_null_string is a constant failure https://bugs.webkit.org/show_bug.cgi?id=239087 Reviewed by Jonathan Bedard. Revert change to aNullString made in r292696 as the the following test relies on this String being empty: lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_null_string * lldb/lldbWebKitTester/main.cpp: (testSummaryProviders): 2022-04-11 Alan Bujtas [ iOS iPhone 12 ] fast/hidpi & fast/layers/hidpi tests are flaky text/image failing https://bugs.webkit.org/show_bug.cgi?id=232384 Reviewed by Wenson Hsieh. Rotation (initiated by UiController::simulateRotationLikeSafari) may confuse UIScreen and produce unexpected scale value. This patch ensures that we set the scale value back to the default (2) in between test runs. (Currently we only set this value in TestController::platformInitialize/dumpRenderTree.) * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentState): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): 2022-04-11 Sam Sneddon webkitpy.w3c.test_exporter assumes all exceptions are HTTPError https://bugs.webkit.org/show_bug.cgi?id=238737 Reviewed by Jonathan Bedard. This currently isn't at all easy to test, as our existing mocks for much of this don't make it easy to throw arbitrary exceptions from given functions. * Scripts/webkitpy/w3c/test_exporter.py: (WebPlatformTestExporter.create_wpt_pull_request): 2022-04-11 Sihui Liu Fix size computation in WebCore::StorageMap https://bugs.webkit.org/show_bug.cgi?id=239024 rdar://88249235 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: (TEST): 2022-04-11 Wenson Hsieh [Mail Compose] Preserve attachment identifiers when cloning attachment-backed images https://bugs.webkit.org/show_bug.cgi?id=239040 rdar://91527065 Reviewed by Aditya Keerthi. Add an API test to exercise the change. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2022-04-11 Andres Gonzalez TestRunner’s calls to [WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:] need to be dispatch to the AX secondary thread. https://bugs.webkit.org/show_bug.cgi?id=239010 Reviewed by Chris Fleizach. Added AccessibilityUIElement::arrayAttributeCount to dispatch to the AX secondary thread calls to the platform wrapper's accessibilityArrayAttributeCount. Replaced the instances to the platform wrapper's method with the calls to this new method. * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::arrayAttributeCount const): (WTR::AccessibilityUIElement::selectedChildrenCount const): (WTR::AccessibilityUIElement::rowCount): (WTR::AccessibilityUIElement::columnCount): 2022-04-11 Youenn Fablet Split TestWebKitAPI.GPUProcess.ExitsUnderMemoryPressureWebRTCCase in more tests https://bugs.webkit.org/show_bug.cgi?id=238927 Reviewed by Eric Carlson. Split the tests in sub tests (microphone, camera, camera+video codec). * TestWebKitAPI/Tests/WebKit/getUserMedia.html: * TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: (TEST): 2022-04-10 Chris Dumez Unreviewed, fix use of ASCIILiteral for a literal containing non-ASCII characters after r292251. * TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp: (TestWebKitAPI::TEST): 2022-04-10 Chris Dumez Unreviewed, fix use of ASCIILiteral for a literal containing non-ASCII characters after r292251. * TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp: (TestWebKitAPI::TEST_F): 2022-04-10 Chris Dumez Finish porting code base to String::fromLatin1() and make String(const char*) private https://bugs.webkit.org/show_bug.cgi?id=238977 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/CrossThreadCopier.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/FileSystem.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WTF/HexNumber.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/StringBuilder.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/StringImpl.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/StringOperators.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/StringView.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/URL.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WTF/Vector.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/WTFString.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp: * TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp: (TEST): * TestWebKitAPI/Tests/WebCore/KeyedCoding.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/PushDatabase.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: (testIdentity2): * TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: (TestWebKitAPI::signUnlinkableTokenAndSendSecretToken): * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: * TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/mac/WebViewCanPasteURL.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/mac/WillPerformClientRedirectToURLCrash.mm: (-[WebKit1TestDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]): * TestWebKitAPI/cocoa/HTTPServer.mm: (TestWebKitAPI::Connection::webSocketHandshake): (TestWebKitAPI::HTTPServer::testCertificate): (TestWebKitAPI::HTTPServer::testPrivateKey): 2022-04-10 Philippe Normand [Flatpak] clangd wrapper improvements https://bugs.webkit.org/show_bug.cgi?id=239032 Reviewed by Adrian Perez de Castro. The path of the compile_commands.json is now implied from the webkit-clangd command-line arguments, defaulting to the GTK/Release configuration. The path mappings were incorrect, the src part being /app/webkit/{Debug,Release}, which are invalid paths in the sandbox. They should instead point to /app/webkit/WebKitBuild/{Debug,Release}. Finally, there should be no need to add a path mapping for /usr/include because clangd is launched in the sandbox runtime, where /usr/include/ is already bind-mounded by flatpak/bwrap. * flatpak/webkit-clangd: 2022-04-09 Myles C. Maxfield [WKTR] Reset minimum font size WKPreference between tests https://bugs.webkit.org/show_bug.cgi?id=239027 Reviewed by Chris Dumez. Some tests use uiController to set the minimum font size WKPreference. We need to reset it between tests. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2022-04-09 Chris Dumez The Youtube plugin replacement should only work for actual Youtube URLs https://bugs.webkit.org/show_bug.cgi?id=239003 Reviewed by Brent Fulgham. Add API test coverage. * TestWebKitAPI/SourcesCocoa.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp: (TestWebKitAPI::test): (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebKitCocoa/YoutubeReplacementPlugin.mm: Added. (TEST): 2022-04-08 Elliott Williams [Xcode] Avoid targeting 32-bit iOS and Mac architectures https://bugs.webkit.org/show_bug.cgi?id=238971 Reviewed by Alexey Proskuryakov. * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: * ImageDiff/cg/Configurations/DebugRelease.xcconfig: * MiniBrowser/Configurations/DebugRelease.xcconfig: * MobileMiniBrowser/Configurations/DebugRelease.xcconfig: * TestWebKitAPI/Configurations/DebugRelease.xcconfig: * WebEditingTester/Configurations/DebugRelease.xcconfig: * WebKitTestRunner/Configurations/DebugRelease.xcconfig: 2022-04-08 Jonathan Bedard [Merge-Queue] Create seperate queue for unsafe version https://bugs.webkit.org/show_bug.cgi?id=239005 Reviewed by Aakash Jain. * CISupport/ews-build/config.json: Add Unsafe-Merge-Queue. * CISupport/ews-build/events.py: (GitHubEventHandlerNoEdits): (GitHubEventHandlerNoEdits.handle_pull_request): merge-queue and unsafe-merge-queue should trigger different queues. * CISupport/ews-build/factories.py: (CommitQueueFactory.__init__): (MergeQueueFactoryBase): Moved from MergeQueueFactory. (MergeQueueFactory): Depend on MergeQueueFactoryBase. (UnsafeMergeQueueFactory): Added. (UnsafeMergeQueueFactory.__init__): * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): * CISupport/ews-build/loadConfig.py: Import UnsafeMergeQueueFactory. 2022-04-08 Elliott Williams Unreviewed, reverting r292591. Causing spurious EWS errors Reverted changeset: "[XCBuild] Enable dependency validation by default" https://bugs.webkit.org/show_bug.cgi?id=238901 https://commits.webkit.org/r292591 2022-04-08 Jonathan Bedard [Merge-Queue] Add queue triggered by label addition (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=237615 Unreviewed device management. * CISupport/ews-build/config.json: Remove ews151 from Merge-Queue 2022-04-07 Jonathan Bedard [Merge-Queue] Comment on PR when failing validation https://bugs.webkit.org/show_bug.cgi?id=238969 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (ValidateChangeLogAndReviewer.evaluateCommand): Add BlockPullRequest on failure. (ValidateCommitMessage.evaluateCommand): Block and comment on pull request if validation fails. * CISupport/ews-build/steps_unittest.py: 2022-04-07 Jonathan Bedard [Merge-Queue] Reset git-svn cache on commit failure https://bugs.webkit.org/show_bug.cgi?id=238975 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (PushCommitToWebKitRepo.evaluateCommand): Reset git-svn cache if commit fails. (ResetGitSvn): Reset git-svn cache by removing .git/svn. * CISupport/ews-build/steps_unittest.py: 2022-04-07 Elliott Williams [XCBuild] Enable dependency validation by default https://bugs.webkit.org/show_bug.cgi?id=238901 Reviewed by Alexey Proskuryakov. * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: * ImageDiff/cg/Configurations/DebugRelease.xcconfig: * MiniBrowser/Configurations/DebugRelease.xcconfig: * MobileMiniBrowser/Configurations/DebugRelease.xcconfig: * Scripts/build-webkit: * Scripts/set-webkit-configuration: When run with no arguments, checks the base product directory, prints the configuration, and exits. Recognizes -h and --help flags to show usage. * Scripts/webkitdirs.pm: (markBaseProductDirectoryAsCreatedByXcodeBuildSystem): New name of setCreatedByXcodeBuildSystem. (setCreatedByXcodeBuildSystem): Renamed. * TestWebKitAPI/Configurations/DebugRelease.xcconfig: * WebKitTestRunner/Configurations/DebugRelease.xcconfig: * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig: 2022-04-07 Chris Dumez Replace deprecated String(const char*) with String::fromLatin1() in more places https://bugs.webkit.org/show_bug.cgi?id=238925 Reviewed by Darin Adler. * DumpRenderTree/TestRunner.cpp: (TestRunner::setAccummulateLogsForChannel): * DumpRenderTree/mac/DumpRenderTree.mm: (handleControlCommand): (changeWindowScaleIfNeeded): (resetWebViewToConsistentState): * TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp: (TestWebKitAPI::TEST): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::waitForPostDumpWatchdogTimerFired): * WebKitTestRunner/cocoa/CrashReporterInfo.mm: (WTR::testPathFromURL): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaPlatformInitialize): (WTR::TestController::cocoaResetStateToConsistentValues): 2022-04-07 Carlos Alberto Lopez Perez REGRESSION(r292109): [GTK][WPE] generate-bundle: Don't try to use the interpreter prefix when not bundling all. https://bugs.webkit.org/show_bug.cgi?id=237107 For bundles of type --syslibs=generate-install-script we should not try to prefix the executable with the interpreter. Add a missing check to ensure that the interpreter has been copied into the bundle before trying to use it. Unreviewed follow-up fix. * Scripts/webkitpy/binary_bundling/bundle.py: (BinaryBundler.generate_wrapper_script): 2022-04-07 Jonathan Bedard [Merge-Queue] Add PushCommitToWebKitRepo https://bugs.webkit.org/show_bug.cgi?id=238959 Reviewed by Aakash Jain. * CISupport/ews-build/factories.py: (MergeQueueFactory.__init__): Add PushCommitToWebKitRepo, pre-commit validation. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): Ditto. * CISupport/ews-build/steps.py: (PushCommitToWebKitRepo.evaluateCommand): Add merge-queue steps. (PushCommitToWebKitRepo.getResultSummary): Remove identifier computation. (PushCommitToWebKitRepo.svn_revision_from_commit_text): (DetermineLandedIdentifier): Move code to determine identifier into a seperate step because merge-queue has already computed the identifier. (DetermineLandedIdentifier.__init__): (DetermineLandedIdentifier.start): Capture log output of command. (DetermineLandedIdentifier.getResultSummary): (DetermineLandedIdentifier.evaluateCommand): Attempt to pull identifier from commit message, otherwise, fall back to commits.webkit.org. (DetermineLandedIdentifier.url_for_revision_details): Moved from PushCommitToWebKitRepo. (DetermineLandedIdentifier.url_for_identifier): Ditto. (DetermineLandedIdentifier.identifier_for_revision): Ditto. (DetermineLandedIdentifier.comment_text_for_bug): Ditto. * CISupport/ews-build/steps_unittest.py: 2022-04-07 Jonathan Bedard [Merge-Queue] Canonicalize parent commits https://bugs.webkit.org/show_bug.cgi?id=238951 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (Canonicalize.run): Canonicalize first 2 parent commits if not rebasing. (Canonicalize.getResultSummary): Pluralize summary. * CISupport/ews-build/steps_unittest.py: 2022-04-07 Jonathan Bedard [Merge-Queue] Change label names https://bugs.webkit.org/show_bug.cgi?id=238950 Reviewed by Ryan Haddad. * CISupport/ews-build/events.py: (GitHubEventHandlerNoEdits): Use "unsafe-merge-queue" instead of "fast-merge-queue". * CISupport/ews-build/steps.py: (GitHubMixin): Ditto. (GitHubMixin._is_pr_in_merge_queue): Ditto. (BlockPullRequest.start): Ditto. (RemoveLabelsFromPullRequest): Ditto. 2022-04-07 Jonathan Bedard [Merge-Queue] Add step to close pull request https://bugs.webkit.org/show_bug.cgi?id=238949 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (GitHubMixin.close_pr): Make POST request to close PR. (ClosePullRequest): (ClosePullRequest.start): Ensure PR we're operating on is closed. (ClosePullRequest.getResultSummary): (ClosePullRequest.doStepIf): Only do step if operating on a PR. (ClosePullRequest.hideStepIf): Hide step if skipping. * CISupport/ews-build/steps_unittest.py: 2022-04-07 Jonathan Bedard [Merge-Queue] Update head and base references in PR https://bugs.webkit.org/show_bug.cgi?id=238942 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (GitHubMixin.update_pr): Pass head and base to POST request. (UpdatePullRequest.evaluateCommand): Set head and base refs. * CISupport/ews-build/steps_unittest.py: 2022-04-07 Brent Fulgham [WebKitLegacy] Remove NPAPIPlugInsEnabledForTestingInWebKitLegacy https://bugs.webkit.org/show_bug.cgi?id=238882 Reviewed by Tim Horton. We have completely removed the NPAPI code and no longer run the tests. We no longer need this setting and should remove it to reduce complexity and build time. The specific skipped tests will be removed in a follow-up patch. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults): 2022-04-06 Jonathan Bedard [Merge-Queue] Remove labels from pull request https://bugs.webkit.org/show_bug.cgi?id=238909 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (RemoveLabelsFromPullRequest): (RemoveLabelsFromPullRequest._addToLog): (RemoveLabelsFromPullRequest.start): Remove active labels. (RemoveLabelsFromPullRequest.getResultSummary): (RemoveLabelsFromPullRequest.doStepIf): Only do step if pull request number is defined. (RemoveLabelsFromPullRequest.hideStepIf): Hide stip if step not executed. 2022-04-07 Jonathan Bedard [Merge-Queue] Extract bug_id when updating pull-request (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=238772 Unreviewed follow-up fix. * CISupport/ews-build/steps.py: (LeaveComment.start): Pass repository to GitHubMixin.comment_on_pr. 2022-04-07 Jonathan Bedard [Merge-Queue] Update pull-request with landed content (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=238554 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (PushPullRequestBranch.start): Push canonicalized HEAD to remote branch. * CISupport/ews-build/steps_unittest.py: 2022-04-07 Youenn Fablet Use the same callback mechanism for ServiceWorker openWindow and navigate in UIProcess https://bugs.webkit.org/show_bug.cgi?id=238924 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: (-[ServiceWorkerPSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): (-[ServiceWorkerPSONNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): (-[ServiceWorkerOpenWindowWebsiteDataStoreDelegate initWithConfiguration:]): (-[ServiceWorkerOpenWindowWebsiteDataStoreDelegate websiteDataStore:openWindow:fromServiceWorkerOrigin:completionHandler:]): 2022-04-07 Jonathan Bedard [git-webkit] Clear merging-blocked label on PR update https://bugs.webkit.org/show_bug.cgi?id=238907 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.set): Empty list should trigger request. * Scripts/libraries/webkitbugspy/webkitbugspy/issue.py: (Issue.set_labels): Pass self to tracker.set. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/github.py: (GitHub.__init__): Set self.labels from passed argument. (GitHub._issue): Handle empty list. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest): Add BLOCKED_LABEL constant. (PullRequest.main): Remove 'merging-blocked' label from existing pull-request before updating pull-request. * Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py: 2022-04-06 Jonathan Bedard [Merge-Queue] Share code for _addToLog https://bugs.webkit.org/show_bug.cgi?id=238913 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (AddToLogMixin): Base class for all classes using _addToLog (ConfigureBuild): Use from AddToLogMixin. (AnalyzeChange): Ditto. (BugzillaMixin): Ditto. (ValidateCommitterAndReviewer): Ditto. (BlockPullRequest): Ditto. (RunBindingsTests): Ditto. (WebKitPyTest): Ditto. (CompileWebKit): Ditto. (RunJavaScriptCoreTests): Ditto. (AnalyzeJSCTestsResults): Ditto. (RunWebKitTests): Ditto. (AnalyzeAPITestsResults): Ditto. (UpdatePullRequest): Ditto. (ConfigureBuild._addToLog): Deleted. (AnalyzeChange._addToLog): Deleted. (BugzillaMixin._addToLog): Deleted. (ValidateCommitterAndReviewer._addToLog): Deleted. (BlockPullRequest._addToLog): Deleted. (RunBindingsTests._addToLog): Deleted. (WebKitPyTest._addToLog): Deleted. (CompileWebKit._addToLog): Deleted. (RunJavaScriptCoreTests._addToLog): Deleted. (AnalyzeJSCTestsResults._addToLog): Deleted. (RunWebKitTests._addToLog): Deleted. (AnalyzeAPITestsResults._addToLog): Deleted. (CheckPatchStatusOnEWSQueues._addToLog): Deleted. (UpdatePullRequest._addToLog): Deleted. 2022-04-06 Dewei Zhu Use 'open' command on macOS to launch URL should pass Safari app bundle instead of binary https://bugs.webkit.org/show_bug.cgi?id=238915 Reviewed by Stephanie Lewis. Pass 'Safari.app' instead of 'Safari.app/Contents/MacOS/Safari' when launching URL via 'open' command. * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: (OSXSafariDriver.launch_url): 2022-04-04 Jonathan Bedard [Merge-Queue] Run `git svn fetch` https://bugs.webkit.org/show_bug.cgi?id=238759 Reviewed by Aakash Jain. * CISupport/ews-build/factories.py: (MergeQueueFactory.__init__): Add GitSvnFetch step. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): Ditto. * CISupport/ews-build/steps.py: (UpdatePullRequest.hideStepIf): (GitSvnFetch): (GitSvnFetch.__init__): `git svn fetch` will have a non-zero exit code if the Subversion record of changes does not match the git one, which will happen imiediately after committing. (GitSvnFetch.getResultSummary): (GitSvnFetch.evaluateCommand): Support expected failure. * CISupport/ews-build/steps_unittest.py: 2022-04-06 J Pascoe Fix expected, actual links for variant-based imported wpt tests https://bugs.webkit.org/show_bug.cgi?id=238832 rdar://problem/91313891 Reviewed by Brent Fulgham. Ensure that the workaround involving "len(fs.splitext(output_basename)[1]) - 1 > 5" does not affect imported templated wpt tests that may match that condition, such as ".../pbkdf2.https.any.worker.html." * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (TestResultWriter.output_filename): * Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py: (TestResultWriterTest.test_output_filename): (TestResultWriterTest): (TestResultWriterTest.test_output_filename_variant): 2022-04-06 Jonathan Bedard [Merge-Queue] Use rebase over merge when canonicalizing commit https://bugs.webkit.org/show_bug.cgi?id=238877 Reviewed by Ryan Haddad and Aakash Jain. * CISupport/ews-build/steps.py: (Canonicalize.run): Specify rebase workflow instead of merge workflow. * CISupport/ews-build/steps_unittest.py: 2022-04-06 Lauro Moura [Flatpak SDK] Avoid termination if gdbus is not installed after 249303@main https://bugs.webkit.org/show_bug.cgi?id=238878 Reviewed by Philippe Normand. Instead of bailing out, just disable a11y bus forwarding. Also hide some debug messages. * flatpak/flatpakutils.py: (WebkitFlatpak.setup_a11y_proxy): * glib/dependencies/apt: Add libglib2.0-bin 2022-04-06 Jonathan Bedard [git-webkit] Provide https credentialing program https://bugs.webkit.org/show_bug.cgi?id=238679 Reviewed by Stephanie Lewis and Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py: Add Credentials program. * Scripts/libraries/webkitscmpy/webkitscmpy/program/credentials.py: Added. (Credentials.main): Return credentials for remote. * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: (Setup.git): Set credential helper if remote is an http remote. * Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py: (BitBucket.credentials): Stub function to be replace by child classes. * Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py: 2022-04-06 Jonathan Bedard [git-webkit] Add automation to assist in branch cleanup https://bugs.webkit.org/show_bug.cgi?id=238637 Reviewed by Stephanie Lewis and Dewei Zhu. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Add branch deletion and reset mocks. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py: (Svn.__init__): Add `svn revert` mock. * Scripts/libraries/webkitscmpy/webkitscmpy/program/clean.py: (Clean): (Clean.parser): Allow caller to specify branch or pull request. (Clean.cleanup): Delete a branch or branches associated with a pull request. (Clean.main): Differentiate calls with branches and pull requests specified from those without. * Scripts/libraries/webkitscmpy/webkitscmpy/test/clean_unittest.py: Added. (TestClean): (TestClean.setUp): (TestClean.test_checkout_none): (TestClean.test_clean_git): (TestClean.test_clean_svn): (TestClean.test_clean_branch): (TestClean.test_clean_pr): 2022-04-06 Jonathan Bedard [git-webkit] Apply labels based on tracker https://bugs.webkit.org/show_bug.cgi?id=238640 Reviewed by Stephanie Lewis. * Scripts/libraries/webkitbugspy/setup.py: Bump version. * Scripts/libraries/webkitbugspy/webkitbugspy/__init__.py: Ditto. * Scripts/libraries/webkitbugspy/webkitbugspy/mocks/github.py: (GitHub._issue): Handle case where empty assignee can be resolved. * Scripts/libraries/webkitscmpy/setup.py: Bump version. * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto. * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py: (GitHub.__init__): Pass issues, projects and labels to base class. * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: (PullRequest.main): If we have an associated issue and can apply labels to our pull request, apply the issue's component and version labels to our pull request. * Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py: 2022-04-06 Sihui Liu Remove test ResourceLoadStatistics.RemoveSessionID https://bugs.webkit.org/show_bug.cgi?id=238815 Reviewed by Youenn Fablet. This test should be removed because: 1. The use case it wanted to examine no longer exists: this test was added in r246449 to verify that WebResourceLoadStatisticsStore does not access storage session after a NetworkSession is removed in network process. This could happen because NetworkSession was refcounted and it could stay alive after it's removed from the map of NetworkProcess. NetworkSession is no longer refcounted after r247831. 2. Session removal, which the test wants to check, is not happening during this test: simply put, a download can hold WebsiteDataStore alive, and the test does not wait for the download to finish. (This can be easily verified by checking if ~WebsiteDataStore() is invoked.) * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm: 2022-04-06 Simon Fraser Unify the two ImageBuffer::create() functions, passing RenderingPurpose everywhere https://bugs.webkit.org/show_bug.cgi?id=238851 Reviewed by Said Abou-Hallawa. I need to extend RenderingPurpose flags to distinguish layer backing store buffers from other kinds of buffers. Before doing so, collapse the two ImageBuffer::create() functions together by combining RenderingMode and ShouldUseDisplayList into OptionSet, and passing RenderingPurpose everywhere. Always passing RenderingPurpose is revealing, because it finds call sites in the web process that can trigger accelerated buffers (e.g. webkit.org/b/238846). * TestWebKitAPI/Tests/WebCore/ImageBufferTests.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp: (TestWebKitAPI::TEST): 2022-04-06 Youenn Fablet In case of COOP-based process swap, we need to make sure the document gets controlled by its matching service worker registration https://bugs.webkit.org/show_bug.cgi?id=238800 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2022-04-06 Carlos Garcia Campos REGRESSION(r292308): links to results is wrong for some tests https://bugs.webkit.org/show_bug.cgi?id=238862 Reviewed by Youenn Fablet. Since r292308 we generate the wrong links in the results for the tests that end with .https.html. This is because the output_filename is expected to have the extension, that is removed before renturing the value. Since r292308, the extension is removed first, so .https is considered the extension and removed too. * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (TestResultWriter.output_filename): * Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py: (TestResultWriterTest.test_reftest_diff_image): (TestResultWriterTest): (TestResultWriterTest.test_output_filename): 2022-04-06 Youenn Fablet Implement ServiceWorkerWindowClient.navigate https://bugs.webkit.org/show_bug.cgi?id=238738 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2022-04-06 Youenn Fablet ServiceWorkerClients.openWindow should not need to get all clients asynchronously to resolve its promise https://bugs.webkit.org/show_bug.cgi?id=238503 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2022-04-06 Lauro Moura [Flatpak SDK][AT-SPI] Use xdg-dbus-proxy to expose the a11y bus https://bugs.webkit.org/show_bug.cgi?id=238856 Reviewed by Carlos Garcia Campos. Expose the host at-spi socket with xdg-dbus-proxy to avoid at-spi bailing out by not being able to connect to the a11y bus. Also add the exported address to the environement of the tests. Based on the original patch by Patrick Griffis with minor updates. * Scripts/webkitpy/port/gtk.py: (GtkPort.setup_environ_for_server): * Scripts/webkitpy/port/wpe.py: (WPEPort.setup_environ_for_server): * flatpak/flatpakutils.py: (WebkitFlatpak.setup_a11y_proxy): (WebkitFlatpak.run_in_sandbox): (WebkitFlatpak.get_user_runtime_dir): Deleted. 2022-04-05 Chris Dumez Mark String(const char*) constructor as explicit https://bugs.webkit.org/show_bug.cgi?id=238693 Reviewed by Geoffrey Garen. * DumpRenderTree/win/DumpRenderTree.cpp: (findFontFallback): * TestWebKitAPI/Tests/WTF/CrossThreadTask.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: (TestWebKitAPI::readAllChunks): (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: (TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk): (TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk): (TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk): (TestWebKitAPI::assertUserAgentForURLHasEmptyQuirk): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp: (TestWebKitAPI::Curl::TEST_F): * TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm: * TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm: * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (cleanUpInAppBrowserPrivacyTestSettings): (initializeInAppBrowserPrivacyTestSettings): * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp: * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: (testWebViewWindowProperties): * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp: (testWebExtensionPageID): * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp: (WebKitTestServer::addWebSocketHandler): (WebKitTestServer::getWebSocketURIForPath const): (WebKitTestServer::getURIForPath const): * TestWebKitAPI/ios/PreferredContentMode.mm: (TestWebKitAPI::setUpWebViewForPreferredContentModeTestingWithoutNavigationDelegate): (TestWebKitAPI::setUpWebViewForPreferredContentModeTesting): (TestWebKitAPI::TEST): * WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp: (WTR::AccessibilityUIElement::stringAttributeValue): (WTR::AccessibilityUIElement::numberAttributeValue): (WTR::AccessibilityUIElement::currentStateValue const): (WTR::AccessibilityUIElement::boolAttributeValue): (WTR::AccessibilityUIElement::isAttributeSettable): (WTR::AccessibilityUIElement::isAttributeSupported): (WTR::xmlRoleValueString): (WTR::roleValueToString): (WTR::AccessibilityUIElement::role): (WTR::AccessibilityUIElement::roleDescription): (WTR::AccessibilityUIElement::computedRoleString): (WTR::AccessibilityUIElement::intValue const): (WTR::AccessibilityUIElement::valueDescription): (WTR::AccessibilityUIElement::hierarchicalLevel const): (WTR::AccessibilityUIElement::ariaIsGrabbed const): (WTR::AccessibilityUIElement::ariaDropEffects const): (WTR::AccessibilityUIElement::documentEncoding): (WTR::AccessibilityUIElement::documentURI): * WebKitTestRunner/gtk/UIScriptControllerGtk.cpp: (WTR::toJSONObject): * lldb/lldbWebKitTester/main.cpp: (testSummaryProviders): 2022-04-05 Jonathan Bedard [Merge-Queue] Extract bug_id when updating pull-request https://bugs.webkit.org/show_bug.cgi?id=238772 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (LeaveComment.start): Leave comment on both bugzilla and pull request. (LeaveComment.getResultSummary): Ditto. (UpdatePullRequest): (UpdatePullRequest.bug_id_from_log): Extract bug_id from commit message. (UpdatePullRequest.evaluateCommand): Set bug_id property * CISupport/ews-build/steps_unittest.py: 2022-04-05 Yury Semikhatsky Do not create network process in ~WebsiteDataStore destructor https://bugs.webkit.org/show_bug.cgi?id=238570 Reviewed by Chris Dumez. The test is written by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm: (TEST): Test that creating and destroying ephemer WebsiteDataStore doesn't initialize default network process. 2022-04-04 Jonathan Bedard [Merge-Queue] Add author to commit message https://bugs.webkit.org/show_bug.cgi?id=238752 Reviewed by Aakash Jain. svn.webkit.org will attribute a change to a specific author if "Patch by" is in the commit message. * CISupport/ews-build/factories.py: (MergeQueueFactory.__init__): Add AddAuthorToCommitMessage step. * CISupport/ews-build/factories_unittest.py: (TestExpectedBuildSteps): Ditto. * CISupport/ews-build/master.cfg: Determine commit author from github.head.user.login. * CISupport/ews-build/steps.py: (AddAuthorToCommitMessage): (AddAuthorToCommitMessage.__init__): (AddAuthorToCommitMessage.author): Return commit author's name and email, falling back to the committers name and email if those cannot be determined. (AddAuthorToCommitMessage.start): Insert "Patch by" into commit message. (AddAuthorToCommitMessage.getResultSummary): (AddAuthorToCommitMessage.doStepIf): Only do step if the author can be determined. (AddAuthorToCommitMessage.hideStepIf): Hide step if skipped. * CISupport/ews-build/steps_unittest.py: 2022-04-05 Eric Carlson 5 Media API tests are flakily timing out on iOS14 https://bugs.webkit.org/show_bug.cgi?id=230321 Reviewed by Jer Noble. * TestWebKitAPI/Tests/ios/WKWebViewPausePlayingAudioTests.mm: (TestWebKitAPI::TEST): 2022-04-05 Kimmo Kinnunen ANGLE changes.diff contains differences that are from stale files or unneeded https://bugs.webkit.org/show_bug.cgi?id=238798 Unreviewed, verifiable by running the script. Exclude WebKit ChangeLog entries from changes.diff Exclude WebKit build script copy-frameworks-to-secondary-path.sh Exclude a file that is not needed downstream custom_d8.jar * Scripts/update-angle: 2022-04-05 Philippe Normand [Flatpak SDK] Local dependencies override support https://bugs.webkit.org/show_bug.cgi?id=238452 Reviewed by Adrian Perez de Castro. When the environment variable WEBKIT_SDK_LOCAL_DEPS is set at compile-time and runtime, some dependencies (currently only libsoup and GStreamer) will be picked up from local git checkouts located in Tools/flatpak/. If no checkout is present, one will be made based on the corresponding .wrap file. Example: WEBKIT_SDK_LOCAL_DEPS=libsoup,gstreamer-full build-webkit --wpe ... Additional Meson options can be supplied with WEBKIT_SDK_LOCAL_DEPS_OPTIONS. Nested subprojects configuration is supported as well, for example: export WEBKIT_SDK_LOCAL_DEPS_OPTIONS="-Dgstreamer-full:introspection=disabled -Dgst-plugins-good:soup=disabled" This setup replaces the previous one that was specific to GStreamer. * flatpak/flatpakutils.py: (WebkitFlatpak.load_from_args): (WebkitFlatpak.__init__): (WebkitFlatpak.setup_local_deps): (WebkitFlatpak._merge_env_variables): (WebkitFlatpak.run_in_sandbox): (WebkitFlatpak.setup_dev_env): (WebkitFlatpak.setup_gstbuild): Deleted. * flatpak/local-projects/meson.build: Added. * flatpak/local-projects/subprojects/gstreamer-full.wrap: Added. * flatpak/local-projects/subprojects/libsoup.wrap: Added. 2022-04-05 Kimmo Kinnunen update-angle output varies unpredictably due to blob hash abbreviation https://bugs.webkit.org/show_bug.cgi?id=238793 Reviewed by Antti Koivisto. Add --full-index to diff to get the unabbreviated blob hash. * Scripts/update-angle: 2022-04-04 Saam Barati Turn off LLInt ICs in captive portal mode https://bugs.webkit.org/show_bug.cgi?id=238778 Reviewed by Yusuke Suzuki. * Scripts/run-jsc-stress-tests: 2022-04-04 Simon Fraser Fix the TestWebKitAPI build with an iOS 15.4 internal SDK https://bugs.webkit.org/show_bug.cgi?id=238750 Reviewed by Alex Christensen. Add needed include. * TestWebKitAPI/ios/UIKitSPI.h: 2022-04-04 Wenson Hsieh [iOS] Add API tests for video extraction in element fullscreen https://bugs.webkit.org/show_bug.cgi?id=238706 rdar://91205141 Reviewed by Eric Carlson. Add a WebKitAdditions hook for the new API test, as well as a new test page that exercises element fullscreen with a video element. * TestWebKitAPI/SourcesCocoa.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/FullscreenVideoExtraction.mm: Added. * TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm: * TestWebKitAPI/Tests/WebKitCocoa/element-fullscreen.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm: 2022-04-04 J Pascoe [ iOS 15 ] imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html is flaky timing out https://bugs.webkit.org/show_bug.cgi?id=231544 rdar://problem/84122086 Reviewed by Brent Fulgham. This patch adds support for running js templated WPT tests with the variant meta tag seperately, as the WPT test infrastructure does. New unit tests were added to webkitpy scripts to test the new behavior. * Scripts/webkitpy/layout_tests/controllers/layout_test_finder_legacy.py: (LayoutTestFinder._expand_variants): (LayoutTestFinder._real_tests): * Scripts/webkitpy/layout_tests/controllers/layout_test_finder_legacy_unittest.py: (LayoutTestFinderTests.test_find_template_variants): (LayoutTestFinderTests.test_preserves_order_directories): Deleted. (LayoutTestFinderTests.test_preserves_order_mixed_file_type): Deleted. (LayoutTestFinderTests.test_preserves_order_mixed_file_type_b): Deleted. (LayoutTestFinderTests.test_find_directory_multiple_times): Deleted. (LayoutTestFinderTests.test_no_reference): Deleted. (LayoutTestFinderTests.test_glob_no_references): Deleted. (LayoutTestFinderTests.test_find_with_skipped_directories): Deleted. (LayoutTestFinderTests.test_find_with_skipped_directories_2): Deleted. (LayoutTestFinderTests.test_is_test_file): Deleted. (LayoutTestFinderTests.test_is_w3c_resource_file): Deleted. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner): * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: (TestResultWriter.output_filename): * Scripts/webkitpy/port/base.py: (Port._expected_baselines_for_suffixes): * Scripts/webkitpy/w3c/common.py: * Scripts/webkitpy/w3c/test_importer.py: (TestImporter._variant_lines): (TestImporter): (TestImporter._write_html_template): (TestImporter._read_environments_and_variants_for_template_test): (TestImporter.write_html_files_for_templated_js_tests): (TestImporter.readEnvironmentsForTemplateTest): Deleted. * Scripts/webkitpy/w3c/test_importer_unittest.py: 2022-04-04 Jonathan Bedard [git-webkit canonicalize] Support multiple empty lines https://bugs.webkit.org/show_bug.cgi?id=238744 Reviewed by Stephanie Lewis and Dewei Zhu. * Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize/message.py: (main): When committing a change with 'Patch by' in it, SVN adds an extra empty line in the commit message. * Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py: (TestCanonicalize.test_git_svn_existing_merge_queue): Added. 2022-04-04 Chris Dumez Drop mostly unused String(const LChar*) constructor https://bugs.webkit.org/show_bug.cgi?id=238716 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WTF/StringOperators.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: (TestWebKitAPI::TEST): 2022-04-04 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 Jonathan Bedard [Merge-Queue] Remove custom summaries when skipped https://bugs.webkit.org/show_bug.cgi?id=238633 Reviewed by Aakash Jain. * CISupport/ews-build/steps.py: (ValidateSquashed.getResultSummary): (AddReviewerToCommitMessage.getResultSummary): (AddReviewerToChangeLog.getResultSummary): (ValidateCommitMessage.getResultSummary): (Canonicalize.getResultSummary): (PushPullRequestBranch.getResultSummary): (UpdatePullRequest.getResultSummary): * CISupport/ews-build/steps_unittest.py: 2022-04-04 Sam Sneddon WPT export broken under Python 3 https://bugs.webkit.org/show_bug.cgi?id=238735 Reviewed by Tim Nguyen. * Scripts/webkitpy/w3c/wpt_github.py: (WPTGitHub.request): Ensure we have bytes, not str. 2022-04-04 Adrian Perez de Castro [WPE][GTK] REGRESSION(r292263): Cannot make release tarballs https://bugs.webkit.org/show_bug.cgi?id=238698 Reviewed by Carlos Garcia Campos. * gtk/manifest.txt.in: Fix paths of generated documentation to be included in release tarballs. * wpe/manifest.txt.in: Ditto. 2022-04-04 Cathie Chen REGRESSION(r291797): [wk1] 5 contain-intrinsic-size* tests are constant text failures https://bugs.webkit.org/show_bug.cgi?id=238584 Reviewed by Simon Fraser. Enable ResizeObserver for wk1 test. * DumpRenderTree/TestOptions.cpp: (WTR::TestOptions::defaults): 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 ==