haikuwebkit/Tools/ChangeLog

13618 lines
549 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2021-08-23 Jonathan Bedard <jbedard@apple.com>
[Cygwin] Support Python 3 in run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=229360
<rdar://problem/82192362>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py:
(TaskPoolUnittest): Skip some tests on cygwin.
* Scripts/webkitpy/common/system/abstractexecutive.py:
(AbstractExecutive.command_for_printing): Strings might be bytes on some platforms.
* Scripts/webkitpy/common/system/path.py:
(_CygPath.convert): Cygwin path process is not unicode.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._win_version_str): Return Windows version string as unicode string.
2021-08-22 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Remove already-shipped wasm option flags
https://bugs.webkit.org/show_bug.cgi?id=229386
Reviewed by Ross Kirsling.
* Scripts/run-jsc-stress-tests:
2021-08-22 Lauro Moura <lmoura@igalia.com>
[WPE][WebDriver] Basic fullscreen support for the headless backend
https://bugs.webkit.org/show_bug.cgi?id=229380
Reviewed by Adrian Perez de Castro.
r280774 added support for fullscreen in the WindowViewBackend, but
many webdriver tests started failing as they run in the headless
backend.
This commits adds basic support in HeadlessBackend to make some
tests pass. Currently, just storing the fullscreen state and
forwarding the events to the WPE backend functions.
A number of tests are still failing due to the missing multiple window
support (required through the `session` fixtures), but also there are
still some failing that expect the view to be started in
non-fullscreen mode, which does not happen in the headless backend.
* wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::onDOMFullScreenRequest):
(WPEToolingBackends::HeadlessViewBackend::dispatchFullscreenEvent):
* wpe/backends/HeadlessViewBackend.h:
2021-08-22 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Remove already-shipped JS feature flags
https://bugs.webkit.org/show_bug.cgi?id=229387
Reviewed by Ross Kirsling.
* Scripts/run-jsc-benchmarks:
2021-08-22 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Add pull-request command (Part 5)
https://bugs.webkit.org/show_bug.cgi?id=229089
<rdar://problem/81908751>
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.modified): Return a list of modified files in the current checkout.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__init__): Add 'git diff' mock commands.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_modified):
(TestGit.test_modified_no_staged):
(TestGit.test_modified_staged):
2021-08-22 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Add pull-request command (Part 4)
https://bugs.webkit.org/show_bug.cgi?id=229089
<rdar://problem/81908751>
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): Match BitBucket ssh urls when constructing remotes.
2021-08-21 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Add pull-request command (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=229089
<rdar://problem/81908751>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version, export pull-request.
* Scripts/libraries/webkitscmpy/webkitscmpy/pull_request.py:
(PullRequest.State):
(PullRequest.create_body): Create pull-request body from commits and comment.
(PullRequest.parse_body): Turn a body from a pull-request into a comment string and partial commits.
(PullRequest.__init__):
(PullRequest.__repr__):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
(TestPullRequest):
(TestPullRequest.test_representation):
(TestPullRequest.test_create_body_single):
(TestPullRequest.test_parse_body_single):
(TestPullRequest.test_create_body_multiple):
(TestPullRequest.test_parse_body_multiple):
(TestPullRequest.test_create_body_empty):
(TestPullRequest.test_parse_body_empty):
(TestPullRequest.test_create_body_comment):
(TestPullRequest.test_parse_body_single):
2021-08-21 Myles C. Maxfield <mmaxfield@apple.com>
[Cocoa] Single characters don't get shaped in the fast text codepath
https://bugs.webkit.org/show_bug.cgi?id=186804
Reviewed by Alan Bujtas.
Huge thanks to Laurence Penney to contributing this test font!!!
* Scripts/webkitpy/common/config/contributors.json:
2021-08-21 Daniel Kolesa <dkolesa@igalia.com>
[GLIB] Do not assume log success in apply-build-revision-to-files
https://bugs.webkit.org/show_bug.cgi?id=229335
Reviewed by Philippe Normand.
If the origin reference does not exist for any reason, this will
fail the build. Since we have no reference point, just assume
unknown like if it wasn't a git repo.
* glib/apply-build-revision-to-files.py:
(get_build_revision):
2021-08-20 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Add pull-request command (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=229089
<rdar://problem/81908751>
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__): Add 'check-ref-format' and 'checkout -b'.
(Git.checkout): Add ability to create branch.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
(main): Add Branch command.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
(Branch.parser): Allow user to specify engineering branch name.
(Branch.normalize_issue): Turn provided string into eng branch if it isn't already.
(Branch.main): Create eng branch from current checkout state.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py:
(TestBranch):
(TestBranch.setUp):
(TestBranch.test_basic_svn):
(TestBranch.test_basic_git):
(TestBranch.test_prompt_git):
(TestBranch.test_invalid_branch):
2021-08-20 Alex Christensen <achristensen@webkit.org>
Make UIEventAttribution tests less platform dependent
https://bugs.webkit.org/show_bug.cgi?id=229323
Reviewed by John Wilander.
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::exampleURL):
(TestWebKitAPI::runBasicEventAttributionTest):
(TestWebKitAPI::TEST):
2021-08-20 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Add pull-request command (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=229089
<rdar://problem/81908751>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
(main): Sort programs, add aliases.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(Command): Add alias
(FilteredCommand): Inherit from Command.
2021-08-20 Jon Lee <jonlee@apple.com>
Teach run-webkit-tests to print a summary of test status
https://bugs.webkit.org/show_bug.cgi?id=200556
Reviewed by Simon Fraser.
Add a new option to print a summary listing test expectation health.
It uses the same expected results as --print-expectations.
To run it: run-webkit-tests --print-summary
You can pass the same arguments as normal run-webkit-tests and it will
return stats based on the tests collected.
It also outputs a .csv file with the data.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.print_expectations): Gather the tests. Note whether the test
is marked as skip, pass, flaky, or fail, the definitions of which are
dictated by model.get_tests_with_result_type(). Output the results to
command line as well as to file.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py: Add the new option.
It goes through the same path as --print-expectations.
2021-08-20 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Forward unknown args to log and blame
https://bugs.webkit.org/show_bug.cgi?id=229342
<rdar://problem/82178743>
Rubber-stamped 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): Both log and blame might be passed options that need to be forwarded to git/svn.
2021-08-20 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r274166): [GTK] It broke run-javascriptcore-tests causing all tests to use lot of memory
https://bugs.webkit.org/show_bug.cgi?id=229321
Unreviewed, reverting r274166 because it caused JSC tests to use too much memory.
Reverted changeset:
"[GTK] Reenable -fvisibility=hidden"
https://bugs.webkit.org/show_bug.cgi?id=181916
https://commits.webkit.org/r274166
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/glib/TestExpectations.json:
2021-08-20 Carlos Alberto Lopez Perez <clopez@igalia.com>
[build.webkit.org] GTK-Linux-64-bit-Release-Skip-Failing-Tests worker should run only layout tests
https://bugs.webkit.org/show_bug.cgi?id=229312
Reviewed by Jonathan Bedard.
Add a new factory for testing only layout tests and make this bot use it.
* CISupport/build-webkit-org/config.json:
* CISupport/build-webkit-org/factories.py:
(TestLayoutFactory):
(TestLayoutFactory.__init__):
* CISupport/build-webkit-org/factories_unittest.py:
(TestExpectedBuildSteps):
2021-08-20 Carlos Alberto Lopez Perez <clopez@igalia.com>
[ews-build.webkit.org] Add unit test with the expected build steps for each queue
https://bugs.webkit.org/show_bug.cgi?id=229319
Reviewed by Aakash Jain.
Add a unit test listing all the expected build steps for each queue
like the one added in r281286 for build.webkit.org
Also remove the previous unit tests to not duplicate test functionality.
And replace doble-quotes with single-ones on the test for build.webkit.org
* CISupport/build-webkit-org/factories_unittest.py:
(TestExpectedBuildSteps):
(TestExpectedBuildSteps.test_all_expected_steps):
(TestExpectedBuildSteps.test_unnecessary_expected_steps):
* CISupport/ews-build/factories_unittest.py:
(TestExpectedBuildSteps):
(TestExpectedBuildSteps.setUp):
(TestExpectedBuildSteps.test_all_expected_steps):
(TestExpectedBuildSteps.test_unnecessary_expected_steps):
2021-08-20 Youenn Fablet <youenn@apple.com>
Remove all WTR output before Content-Type:text/plain for WebRTC tests in case of known excessive logging
https://bugs.webkit.org/show_bug.cgi?id=229188
Reviewed by Jonathan Bedard.
Some logging beneath WebKit is making WebRTC tests flaky.
While we work on the cause of this bug, we can still beef-up our test output clean up steps to handle this logging.
Instead of stripping lines based on a known pattern, which does not always work as per current results,
we can simply remove all logging before the 'Content-Type:text/plain\n' string that WebKitTestRunner is adding before
printing the text generated by the test itself.
We update webkitpy scripts accordingly and add this new clean-up for:
- tests that have webrtc in their name
- tests whose output contain some known logging strings like 'LRP' or 'Negotiation String'.
This should hopefully be more robust while not hiding real regressions.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner):
* Scripts/webkitpy/port/base.py:
(Port.logging_detectors_to_strip_text_start):
* Scripts/webkitpy/port/driver.py:
(DriverOutput.strip_text_start_if_needed):
* Scripts/webkitpy/port/mac.py:
(MacPort.logging_patterns_to_strip):
(MacPort.logging_detectors_to_strip_text_start):
2021-08-19 Carlos Alberto Lopez Perez <clopez@igalia.com>
[build.webkit.org] Port old unit test with the expected build steps to the new buildbot
https://bugs.webkit.org/show_bug.cgi?id=229311
Reviewed by Aakash Jain.
Port the test that checked every worker and the expected steps to the new buildbot version.
Also delete the file steps_unittest_old.py because the gross of the other tests contained in
this old file are already ported in the current steps_unittests.py
* CISupport/build-webkit-org/factories_unittest.py: Added.
(TestExpectedBuildSteps):
(TestExpectedBuildSteps.setUp):
(TestExpectedBuildSteps.test_all_expected_results):
(TestExpectedBuildSteps.test_unnecessary_expected_results):
* CISupport/build-webkit-org/steps_unittest_old.py: Removed.
2021-08-19 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Remove support for the meaningful tap heuristic
https://bugs.webkit.org/show_bug.cgi?id=229298
rdar://82130066
Reviewed by Tim Horton.
Remove test runner support for testing the meaningful tap heuristic.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::installDidHandleTapCallback): Deleted.
(WTR::TestRunner::callDidHandleTapCallback): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didHandleTap): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didHandleTap): Deleted.
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _didTapAtPoint:withResult:]): Deleted.
2021-08-19 Megan Gardner <megan_gardner@apple.com>
Turn on TestWebKitAPI.WKAttachmentTests.CopyAndPasteBetweenWebViews as it is now passing again.
https://bugs.webkit.org/show_bug.cgi?id=204969
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
2021-08-19 Andres Gonzalez <andresg_22@apple.com>
Rename AccessibilityUIElement::setSelectedVisibleTextRange to setSelectedTextMarkerRange for naming consistency and maintainability.
https://bugs.webkit.org/show_bug.cgi?id=229290
<rdar://problem/82128453>
Reviewed by Chris Fleizach.
Renamed this method for consistency and to reflect what it is actually
doing. The goal is to avoid confusion with methods for VisiblePosition,
VisibleSelection and so forth, which are Core objects not exposed to AX
clients.
* DumpRenderTree/AccessibilityUIElement.cpp:
(setSelectedTextMarkerRangeCallback):
(AccessibilityUIElement::setSelectedTextMarkerRange):
(AccessibilityUIElement::getJSClass):
(setSelectedVisibleTextRangeCallback): Deleted.
(AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::setSelectedTextMarkerRange):
(AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::setSelectedTextMarkerRange):
(AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::setSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::setSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
* WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp:
(WTR::AccessibilityUIElement::setSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange): Deleted.
2021-08-19 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Handle json crash logs (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=229288
<rdar://problem/77074039>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs._parse_darwin_crash_log): Attempt to parse crash logs as json, since Monterey .ips
(CrashLogs._find_newest_log_darwin.is_crash_log):
* Scripts/webkitpy/common/system/crashlogs_unittest.py:
2021-08-19 Carlos Garcia Campos <cgarcia@igalia.com>
document.hasFocus() returns true for unfocused pages
https://bugs.webkit.org/show_bug.cgi?id=229139
Reviewed by Adrian Perez de Castro.
Add a unit tests to check document.hasFocus() returns false when a web view is in the active window, but not focused.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST): Ensure web view is focused as required by credentials container.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewDocumentFocus):
(beforeAll):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView focus]):
2021-08-18 David Kilzer <ddkilzer@apple.com>
Bug 229265: run-webkit-tests --leaks should check for leaks in the GPU process
<https://webkit.org/b/229265>
<rdar://problem/82101453>
Reviewed by Alex Christensen.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::findAndDumpWebKitProcessIdentifiers):
- Include the GPU process PID if it's enabled when sending a
list of PIDs back to run-webkit-tests.
(WTR::TestController::gpuProcessName): Add.
* WebKitTestRunner/TestController.h:
(WTR::TestController::databaseProcessName): Delete.
- The implementation was removed a while ago.
(WTR::TestController::gpuProcessName): Add.
2021-08-18 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Remember failures when repeating test
https://bugs.webkit.org/show_bug.cgi?id=229217
<rdar://problem/81919223>
Reviewed by Ryan Haddad.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.update_summary_with_result): Replace existing result with unexpected result so
that unexpected results always take precedence over expected ones.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.add): Do not replace existing result.
2021-08-18 Lauro Moura <lmoura@igalia.com>
REGRESSION(r279169) [WebDriver] WPT Tools now requires python3 to launch the server
https://bugs.webkit.org/show_bug.cgi?id=229248
Reviewed by Chris Dumez.
239066@main updated the layout test WPT tools to
94d018bb5d7c0d46df7ba1 and this version requires Python3 to run the
WPT server.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
(WebDriverW3CWebServer.start):
2021-08-18 Andres Gonzalez <andresg_22@apple.com>
Add layout test for WebAccessibilityObjectWrapper handler for attribute AXLineForTextMarker on MacOS.
https://bugs.webkit.org/show_bug.cgi?id=229220
<rdar://problem/82057459>
Reviewed by Chris Fleizach.
Added AccessibilityUIElement::lineIndexForTextMarker.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::lineIndexForTextMarker const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::lineIndexForTextMarker const):
2021-08-18 Jonathan Bedard <jbedard@apple.com>
[git-webkit] "IndexError: list index out of range" using log
https://bugs.webkit.org/show_bug.cgi?id=229232
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.pager):
2021-08-18 Michael Catanzaro <mcatanzaro@gnome.org>
REGRESSION(r280382): [GTK] 2.33.3 does not build with gtk-doc enabled, installs broken pkg-config files
https://bugs.webkit.org/show_bug.cgi?id=229152
Reviewed by Philippe Normand.
* glib/apply-build-revision-to-files.py:
(main):
2021-08-18 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add CallByNeed object
https://bugs.webkit.org/show_bug.cgi?id=229148
<rdar://problem/81817705>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version, export Defer object.
* Scripts/libraries/webkitcorepy/webkitcorepy/call_by_need.py: Added.
(CallByNeed):
(CallByNeed.__init__):
(CallByNeed.__getattribute__): Depending on the request attribute, either return it or attempt to
resolve the underlying value before returning the attribute of the resolved value.
(CallByNeed.value): Resolve and return underlying object.
(CallByNeed.__call__): Ditto.
(CallByNeed.__repr__): Resolve object and return representation.
(CallByNeed.__str__): Resolve object and return string conversion.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/call_by_need_unittest.py: Added.
(TestCallByNeed):
(TestCallByNeed.test_basic):
(TestCallByNeed.test_string_conversion):
(TestCallByNeed.test_attribute_forwarding):
(TestCallByNeed.test_failed_attribute_forwarding):
2021-08-18 Martin Robinson <mrobinson@webkit.org>
[Flatpak SDK] Increase the startup performance of webkit-flatpak
https://bugs.webkit.org/show_bug.cgi?id=229185
Reviewed by Philippe Normand.
Improve flatpakutils.py by ensuring that we don't make redundant
calls to flatpak during initialization of the data structures. This
saves 5 seconds on every call to build-webkit and run-webkit-tests.
Before:
$ time ./Tools/Scripts/webkit-flatpak -c true
real 0m6,297s
user 0m0,786s
sys 0m0,513s
After:
$ time ./Tools/Scripts/webkit-flatpak -c true
real 0m1,243s
user 0m0,375s
sys 0m0,162s
* flatpak/flatpakutils.py:
(FlatpakPackages.__init__): Separate the update into another
method so that it can be called directly when a package is installed.
Add new packages directly to self.packages.
(FlatpakRepos.__init__): Ensure that we only update our repositories
and package list once we've initialized our list of repositories.
(FlatpakRepos.add): Return True if this method actually changed anything
and accept a parameter determining whether an update is done to
the repository and package list.
(FlatpakRepos.is_package_installed): Added this method which replaces
FlatpakRepo.is_app_installed.
(FlatpakRepo.__init__): Remove the app registry because it is duplicated
by FlatpakPackages.
(FlatpakPackage.is_installed): Now call FlatpakRepos.is_package_installed.
(WebkitFlatpak._reset_repository): Set up both repositories here and
pass then as part of the FlatpakRepos constructor.
(WebkitFlatpak.main): Separate out the check which deletes the Flatpak
repository from the one that checks if the packages are installed. This
makes sure we don't install packages and then immediately delete them.
(WebkitFlatpak.check_installed_packages): rename _get_packages to _get_dependency_packages
in order to make it clear that it doesn't return installed packages.
(WebkitFlatpak._get_dependency_packages): Ditto.
(WebkitFlatpak.install_all): Ditto.
(FlatpakRepo.is_app_installed): Deleted.
(WebkitFlatpak._get_packages): Deleted.
2021-08-17 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Return SourceFileLoader in find_module
https://bugs.webkit.org/show_bug.cgi?id=229172
<rdar://problem/82006256>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall.find_module): Return SourceFileLoader object in Python 3.
2021-08-17 Lauro Moura <lmoura@igalia.com>
[GLIB] Avoid getting stuck searching for revision in some cases
https://bugs.webkit.org/show_bug.cgi?id=229199
Reviewed by Philippe Normand.
With an empty .git/svn, the `git svn info` command might get stuck.
* glib/apply-build-revision-to-files.py:
(get_build_revision):
2021-08-16 Lauro Moura <lmoura@igalia.com>
REGRESSION(r281079) [GLIB] API test WebKitWebsiteData/deviceidhashsalt is not waiting for title change
https://bugs.webkit.org/show_bug.cgi?id=229174
Reviewed by Carlos Garcia Campos.
r281079 changed the helper method waitUntilTitleChangedTo to
immediately return if the current title is already the expected one.
While this is working fine in other tests, the deviceidhashsalt tries
to load the same page twice. As the title does not change, the call
returns right away, before the expected side effects of the load
happen.
This commit adds a dummy "about:blank" call between both original
calls to make sure we track the title change correctly.
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataDeviceIdHashSalt):
2021-08-16 Andres Gonzalez <andresg_22@apple.com>
Expose [WebAccessibilityObjectWrapper lineRectsAndText] on MacOS.
https://bugs.webkit.org/show_bug.cgi?id=229045
<rdar://81819301>
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::attributedStringForElement):
(WTR::AccessibilityUIElement::lineRectsAndText const):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::lineRectsAndText const):
2021-08-16 Ryosuke Niwa <rniwa@webkit.org>
Add thread safe version of CanMakeCheckedPtr
https://bugs.webkit.org/show_bug.cgi?id=229018
Reviewed by Geoffrey Garen.
Added a unit test for CanMakeThreadSafeCheckedPtr
* TestWebKitAPI/Tests/WTF/CheckedPtr.cpp:
(TestWebKitAPI.ThreadSafeCheckedPtrObject)
(WTF_CheckedPtr.CanMakeThreadSafeCheckedPtr): Added.
2021-08-16 Alex Christensen <achristensen@webkit.org>
Fix Catalyst TestWebKitAPI build
https://bugs.webkit.org/show_bug.cgi?id=229091
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Configurations/Base.xcconfig:
Search the correct SDK paths.
* TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
(TestWebKitAPI::TEST):
Use soft linking for VisionKitCore like we do elsewyere.
2021-08-16 Philippe Normand <pnormand@igalia.com>
[WPE][GTK] Clean build broken with python3 after r280382
https://bugs.webkit.org/show_bug.cgi?id=228628
Reviewed by Adrian Perez de Castro.
The webkitpy autoinstall doesn't reliably work when it's triggered from concurrent
processes. Replace webkitpy usage in apply-build-revision-to-files.py script with explicit
calls to svnversion, git svn info or git log -1, depending on the kind of SCM checkout.
* glib/apply-build-revision-to-files.py:
(get_build_revision):
(main):
2021-08-16 David Kilzer <ddkilzer@apple.com>
"make analyze" should run clang static analyzer in deep mode
<https://webkit.org/b/229127>
<rdar://problem/81960587>
Reviewed by Alexey Proskuryakov.
* DumpRenderTree/Scripts/generate-derived-sources.sh:
* WebKitTestRunner/Scripts/generate-derived-sources.sh:
- Treat "analyze" the same as "build" for "ACTION" environment
variable.
2021-08-16 Philippe Normand <pnormand@igalia.com>
[GLib] Enable mediastream setting if it's enabled at build-time
https://bugs.webkit.org/show_bug.cgi?id=229134
Reviewed by Adrian Perez de Castro.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2021-08-16 David Kilzer <ddkilzer@apple.com>
Fix ASan+UBSan builds with Xcode 13
<https://webkit.org/b/229122>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitdirs.pm:
(XcodeOptions):
- Use asan+ubsan.xcconfig when both are enabled.
* sanitizer/asan+ubsan.xcconfig: Add.
2021-08-16 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r281077.
https://bugs.webkit.org/show_bug.cgi?id=229137
broke GTK/WPE builds
Reverted changeset:
"[WPE][GTK] Clean build broken with python3 after r280382"
https://bugs.webkit.org/show_bug.cgi?id=228628
https://commits.webkit.org/r281077
2021-08-16 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Test WebKitWebView/page-visibility is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=214804
Reviewed by Adrian Perez de Castro.
Do not wait for title change if the title already changed.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewPageVisibility):
* TestWebKitAPI/glib/TestExpectations.json:
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::waitUntilTitleChangedTo):
(WebViewTest::waitUntilTitleChanged):
2021-08-16 Philippe Normand <pnormand@igalia.com>
[WPE][GTK] Clean build broken with python3 after r280382
https://bugs.webkit.org/show_bug.cgi?id=228628
Reviewed by Adrian Perez de Castro.
The webkitpy autoinstall doesn't reliably work when it's triggered from concurrent
processes. Replace webkitpy usage in apply-build-revision-to-files.py script with explicit
calls to svnversion, git svn info or git log -1, depending on the kind of SCM checkout.
* glib/apply-build-revision-to-files.py:
(get_build_revision):
(main):
2021-08-16 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK distcheck build
* gtk/manifest.txt.in: Add missingImage@3x.png to the tarball.
2021-08-15 Miguel Gomez <magomez@igalia.com>
[GTK][WPE] Add API to pass WebKitMemoryPressureHandler parameters to the network processes
https://bugs.webkit.org/show_bug.cgi?id=228227
Reviewed by Carlos Garcia Campos.
Added an API test for webkit_website_data_manager_set_memory_pressure_settings().
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(MemoryPressureTest::setup):
(MemoryPressureTest::teardown):
(MemoryPressureTest::loadFailedCallback):
(MemoryPressureTest::waitUntilLoadFailed):
(testMemoryPressureSettings):
(beforeAll):
2021-08-15 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS 15] editing/selection/ios/select-all-in-readonly-input-does-not-overflow.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=229126
rdar://80384801
Reviewed by Tim Horton.
This test exercises the ability to cause platform selection views to show up after tapping the web view while a
DOM selection is set. In this codepath, selection views are installed when the web view becomes first responder,
when we call into `-[UIWKTextInteractionAssistant activateSelection]`; the call to `-becomeFirstResponder`, in
turn, comes from UIKit's internal `UITextTapRecognizer` gesture, which recognizes the single tap and makes the
content view first responder.
In the case where this test fails, the synthesized tap gesture fails to activate the text tap recognizer; this
happens because the timing of when the `UITextTapRecognizer` gets reset (i.e. `-_resetGestureRecognizer`) races
against the timing of when the synthesized touch event is sent to the gesture recognizer. When the touch is
delivered to the gesture *before* the text tap gesture is reset, we end up timing out because the text tap
gesture's action never fires and makes the content view first responder.
To ensure that we don't lose this race and time out, we augment the existing mechanism in
`UIScriptControllerIOS::waitForSingleTapToReset()` to wait for *all* enabled single tap (and single touch)
gestures to reset, instead of only waiting for the web view's synthetic click gesture. Importantly, this
includes `UITextTapRecognizer`, which ensures that the touches are delivered to the gesture only after the text
tap gesture has been reset (and transitions to Possible state).
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::waitForSingleTapToReset const):
Instead of using testing SPI (`-_doAfterResettingSingleTapGesture:`) to wait for the single tap to reset, we can
just directly iterate through all the gestures on the content view and wait for all enabled single tap gestures
to transition back to Possible state.
2021-08-13 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Fix SVN relative URL parsing
https://bugs.webkit.org/show_bug.cgi?id=229075
<rdar://problem/81868773>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.branch): Check if relative URL path contains local path before stripping local path.
2021-08-13 Lauro Moura <lmoura@igalia.com>
[WPE] WebExtension API test /webkit/WebKitWebView/web-process-crashed is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=229067
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebKitWebViewProcessCrashed): Make warnings non-fatal while waiting for the crash.
* TestWebKitAPI/glib/TestExpectations.json: Remove expectation
2021-08-13 Martin Robinson <mrobinson@webkit.org>
Get lint-test-expectations passing
https://bugs.webkit.org/show_bug.cgi?id=228999
Reviewed by Ryan Haddad.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder._is_test_file): Added a list of patterns for tests to skip
and ensured that 'boot.xml' and 'root.xml' (spurious files created during
the run of the WebKit1 bot) are on the list.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py:
(LayoutTestFinderTests.test_is_test_file): Added a test for the changes.
2021-08-12 Lauro Moura <lmoura@igalia.com>
[WPE] Gardening web-process-crashed API test failure
Unreviewed test gardening.
* TestWebKitAPI/glib/TestExpectations.json:
2021-08-12 Chris Dumez <cdumez@apple.com>
REGRESSION (iPadOS 14): [ iPadOS wk2 ] TestWebKitAPI.ServiceWorkers.SuspendNetworkProcess is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=217714
<rdar://problem/70296664>
Reviewed by Geoffrey Garen.
Give the database some time to get written out to disk before we try and suspend the network process, to try
and address the flakiness.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2021-08-12 Wenson Hsieh <wenson_hsieh@apple.com>
[ iOS Debug] 3 editing/pasteboard/smart-paste-paragraph tests are flaky failing
https://bugs.webkit.org/show_bug.cgi?id=228285
rdar://81118724
Reviewed by Tim Horton and Aditya Keerthi.
These three editing tests occasionally fail when synthesizing a double-tap gesture in order to select a word in
editable content. This happens because unless UIKit has observed at least one keypress event (e.g. from a
previous editing test), it presents the software keyboard underneath `-[UIKeyboardImpl showKeyboardIfNeeded]`
when setting the selection via UITextSelectionInteraction. This causes the input view frame to expand from the
collapsed (UCB) height of 44pt to the full software keyboard height, which in turn causes the second touch in
the synthesized double tap gesture to _sometimes_ hit-test to the wrong location, resulting in these test
failures.
To mitigate this, ensure that we have consistent behavior in layout tests when changing the text selection in
editable content by directly setting a TextInput default to make the keyboard behave as if it has previously
seen a keypress via the hardware keyboard.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
2021-08-12 Patrick Angle <pangle@apple.com>
Add myself (Patrick Angle) to watchlist for Inspector code changes
https://bugs.webkit.org/show_bug.cgi?id=229046
Reviewed by Darin Adler.
* Scripts/webkitpy/common/config/watchlist:
2021-08-12 Sam Weinig <weinig@apple.com>
Allow testing of the final UIView tree on iOS platforms
https://bugs.webkit.org/show_bug.cgi?id=229016
Reviewed by Tim Horton.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::uiViewTreeAsText const):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::uiViewTreeAsText const):
Pipe new _uiViewTreeAsText SPI through to UIScriptController, matching the pattern
established by scrollingTreeAsText.
2021-08-12 Devin Rousso <drousso@apple.com>
Fix some `NSAttributedString` inconsistencies between WK1 and WK2
https://bugs.webkit.org/show_bug.cgi?id=229013
<rdar://problem/81215696>
Reviewed by Timothy Hatcher.
* TestWebKitAPI/Tests/WebKitCocoa/NSAttributedStringWebKitAdditions.mm: Added.
(TEST.NSAttributedStringWebKitAdditions.DefaultFontSize):
(TEST.NSAttributedStringWebKitAdditions.MultipleParagraphs):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2021-08-12 Youenn Fablet <youenn@apple.com>
Adopt span in RTCRtpSFrameTransform
https://bugs.webkit.org/show_bug.cgi?id=229029
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp:
(TestWebKitAPI::TEST):
2021-08-12 Chris Dumez <cdumez@apple.com>
Unreviewed API test build fix with recent MacOS SDK.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(verifyCertificateAndPublicKey):
2021-08-12 Jonathan Bedard <jbedard@apple.com>
[check-github-mirror-integrity] Differentiate between slow sync and collapsed commits
https://bugs.webkit.org/show_bug.cgi?id=229004
<rdar://problem/81795644>
Reviewed by Aakash Jain.
* Scripts/check-github-mirror-integrity: Use commit timestamps to differentiate between a slow sync between svn.webkit.org
and GitHub and git-svn combining commits
2021-08-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Simplify TestWebKitAccessibility
https://bugs.webkit.org/show_bug.cgi?id=229032
Reviewed by Michael Catanzaro.
We don't really need to have a different process to test a11y. We can remove AccessibilityTestServer and use the
same test executable. That way we don't need to spawn a process and use DBus for the communication.
* TestWebKitAPI/Tests/WebKitGtk/AccessibilityTestServer.cpp: Removed.
* TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(AccessibilityTest::findTestApplication): Find the accessible application corresponding to the test executable.
(AccessibilityTest::waitUntilChildrenRemoved): Use the WebViewTest main loop.
(testAtspiBasicHierarchy): Use WebViewTest::loadHtml.
* TestWebKitAPI/glib/PlatformGTK.cmake:
* TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
(main): Set the program name to the executable name. It helps to a11y test to find the accessible app.
2021-08-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] run-gtk-tests always fails to start accessibility daemons
https://bugs.webkit.org/show_bug.cgi?id=229031
Reviewed by Michael Catanzaro.
This is because it uses exec_prefix variable from atspi2 pkg-config file to try to find the executables, but
atspi2 pkg-config file doesn't have a exec_prefix variable anymore. It was always set to $prefix, so we can just
use prefix variable instead.
* Scripts/run-gtk-tests:
(GtkTestRunner._lookup_atspi2_binary):
2021-08-12 Youenn Fablet <youenn@apple.com>
Implement SFrameTransform error handling
https://bugs.webkit.org/show_bug.cgi?id=228947
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp:
(TestWebKitAPI::TEST):
2021-08-11 Peng Liu <peng.liu6@apple.com>
[ BigSur Debug ] TestWebKitAPI.GPUProcess.CrashWhilePlayingAudioViaCreateMediaElementSource is flaky, hitting ASSERTION FAILED: !isInRoutingArbitrationForToken(token)
https://bugs.webkit.org/show_bug.cgi?id=227728
<rdar://problem/80237464>
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-08-11 Youenn Fablet <youenn@apple.com>
Media element is not always autoplaying when going from background to foreground if it is initially not in viewport
https://bugs.webkit.org/show_bug.cgi?id=228955
rdar://81751653
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
2021-08-11 Lauro Moura <lmoura@igalia.com>
[WPE] Handle escape key in wpeKeySymForKeyRef
https://bugs.webkit.org/show_bug.cgi?id=228981
Reviewed by Carlos Garcia Campos.
Some dialog tests were failing due to "escape" key ref being
translated to the 'e' keysym.
Covered by existing tests.
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::wpeKeySymForKeyRef):
2021-08-10 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Stop relying on device.plist for simulated device state
https://bugs.webkit.org/show_bug.cgi?id=228974
<rdar://problem/81749547>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager):
(SimulatedDeviceManager.populate_available_devices): Device state check is now shared between simulators.
(SimulatedDeviceManager._disambiguate_device_type): Only extract hardware family and type from candidate.
(SimulatedDevice.__init__): Device state check is now shared between simulators.
(SimulatedDevice.state): Use 'xcrun simctl list' instead of device.plist.
* Scripts/webkitpy/xcode/simulated_device_unittest.py:
(SimulatedDeviceTest.change_state_to): Deleted.
(SimulatedDeviceTest.test_swapping_devices): Deleted.
2021-08-10 Cameron McCormack <heycam@apple.com>
Restore color profiles correctly on displays with multiple named modes
https://bugs.webkit.org/show_bug.cgi?id=228313
<rdar://problem/81146417>
Reviewed by Alexey Proskuryakov.
Look up a device's current color profile by checking the default mode
rather than assuming it is "1". The device info dictionary returned
by ColorSyncDeviceCopyDeviceInfo has this shape:
{
CustomProfiles = {
ModeName1 = "file:///path/to/custom/profile.ics";
};
FactoryProfiles = {
DeviceDefaultProfileID = "ModeName1";
ModeName1 = {
DeviceModeDescription = "Mode Name 1";
DeviceProfileURL = "file:///path/to/factory/profile1.ics";
};
ModeName2 = {
DeviceModeDescription = "Mode Name 2";
DeviceProfileURL = "file:///path/to/factory/profile2.ics";
};
};
}
where CustomProfiles is only present if a custom profile has been
selected, and the default mode name is "1". Displays connected over
HDMI don't use the default mode name.
* DumpRenderTree/mac/LayoutTestHelper.m:
(colorProfileURLForDisplay):
2021-08-09 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Add results-summary API
https://bugs.webkit.org/show_bug.cgi?id=226894
<rdar://problem/79155181>
Reviewed by Aakash Jain.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/api_routes.py:
(APIRoutes.__init__): Add aggregate-results endpoint.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller.py:
(commit_for_query): Add decorator which converts a set of arguments into a single commit.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/test_controller.py:
(TestController):
(TestController.summarize_test_results): Given a single commit and suite/test combination, compute
the liklihood of each potential result.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/test_controller_unittest.py:
(TestControllerTest.test_summarize_general): Added.
(TestControllerTest.test_summarize_specific): Added.
(TestControllerTest.test_summarize_expectations): Added.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context.py:
(CommitContext.find_commits_in_range): Use ascended table if user only provides lower bound.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context_unittest.py:
(CommitContextTest.test_stash_commits_before): Verify upper bound.
(CommitContextTest.test_svn_commits_before): Ditto.
(CommitContextTest.test_stash_commits_after): Verify lower bound.
(CommitContextTest.test_svn_commits_after): Ditto.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/documentation.html: Add aggregate-results
documentation.
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
2021-08-10 Tim Horton <timothy_horton@apple.com>
macCatalyst: Flexible viewport tests that dump the window size fail because it doesn't match iPad
https://bugs.webkit.org/show_bug.cgi?id=228964
Reviewed by Darin Adler.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformConfigureViewForTest):
For platforms where we control the size of the window/scene, resize it
to match the chosen default testing iPad size (768x1024), but with the
default testing iPad's status bar subtracted out, and the current platform's
added in, so that the end result is a WKWebView of identical size to
one on the default testing iPad.
2021-08-10 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Color `log` output
https://bugs.webkit.org/show_bug.cgi?id=228662
<rdar://problem/81344181>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version, export Terminal.
* Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py: Added.
(Terminal):
(Terminal.assert_writeable_stream): Assert that the provided object is a writable stream.
(Terminal.supports_color): Check if the provided file supports colored output.
(Terminal.isatty): Check if a stream is an atty, both according to the stream itself and our override.
(Terminal.override_atty): Allow callers to override and declare explicitly if a stream is an atty.
(Terminal.Text): Group text colors and styles.
(Terminal.Style): Group functions modifying style of a stream.
(Terminal.Style.enabled): Check if styled printing is enabled on a stream.
(Terminal.Style.disable): Disable styled printing on a stream.
(Terminal.Style.enable): Enable styled printing on a stream.
(Terminal.Style.is_styled): Check if a stream is currently styled.
(Terminal.Style.__init__): Construct a text style.
(Terminal.Style.__repr__): Output the terminal characters styling a stream.
(Terminal.Style.set): Apply style to a stream.
(Terminal.Style.apply): Apply style to a stream, unapply when exiting context.
* Scripts/libraries/webkitscmpy/setup.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/program/blame.py: Pass isatty to child process.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand.pager): Pass isatty to child process, ask 'more' to display colors.
(FilteredCommand.main): Color header and error.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py: Pass isatty to child process.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/log_unittest.py: Override atty behavior.
2021-08-10 Ben Nham <nham@apple.com>
Fix nested resource load tracepoints
https://bugs.webkit.org/show_bug.cgi?id=228242
Reviewed by Alex Christensen.
Use page and resource ids to properly handle nested main resource and subresource load
tracepoint intervals.
* Tracing/SystemTracePoints.plist:
2021-08-10 Kimmo Kinnunen <kkinnunen@apple.com>
Scripts/generate-derived-sources.sh: line 19: [: binary operator expected while building Source/WebKit
https://bugs.webkit.org/show_bug.cgi?id=228908
Reviewed by Per Arne Vollan.
* DumpRenderTree/Scripts/generate-derived-sources.sh:
* WebKitTestRunner/Scripts/generate-derived-sources.sh:
Quote the use of CC so that future copy-paste does not make the same mistake
as this bug.
2021-08-10 Devin Rousso <drousso@apple.com>
[macOS] REGRESSION(r278850): modifying `playbackRate` via JS on a TouchBar mac only sometimes works and also causes the `defaultPlaybackRate` to change
https://bugs.webkit.org/show_bug.cgi?id=228939
<rdar://problem/80427578>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST.VideoControlsManager.VideoControlsManagerDoesNotChangeValuesExposedToJavaScript): Added.
2021-08-08 Wenson Hsieh <wenson_hsieh@apple.com>
caret-color does not work on first click in ios
https://bugs.webkit.org/show_bug.cgi?id=228859
rdar://81674787
Reviewed by Tim Horton.
Make it possible to test this bug by adding a UIScriptController hook to request the background color of the
current selection view's caret view, as serialized CSS text. See LayoutTests/ChangeLog for more details.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::selectionCaretBackgroundColor const):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::selectionCaretBackgroundColor const):
2021-08-07 Aakash Jain <aakash_jain@apple.com>
[ews] Limit the size of error context buffer
https://bugs.webkit.org/show_bug.cgi?id=228900
Reviewed by Alexey Proskuryakov.
* CISupport/ews-build/steps.py:
(BuildLogLineObserver.outLineReceived): Limit the lines for additional context to 50 lines.
2021-08-07 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Web process crashes when detaching Document with uncommitted marked text
https://bugs.webkit.org/show_bug.cgi?id=228841
rdar://79960890
Reviewed by Ryosuke Niwa.
Make a small adjustment to DumpRenderTree, such that TextInputController targets the selected frame (or the main
frame, if there is no DOM selection). This behavior matches that of WebKitTestRunner, and allows layout tests
that use TextInputController to simulate setting marked text inside subframes.
* DumpRenderTree/mac/TextInputControllerMac.m:
(-[TextInputController selectedOrMainFrame]):
(-[TextInputController textInput]):
2021-08-07 Aakash Jain <aakash_jain@apple.com>
[ews] Ensure file handle is not leaked in loadConfig.py
https://bugs.webkit.org/show_bug.cgi?id=228866
Reviewed by Alexey Proskuryakov.
* CISupport/build-webkit-org/loadConfig.py:
(loadBuilderConfig):
* CISupport/ews-build/loadConfig.py:
(loadBuilderConfig):
2021-08-06 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Add setup function
https://bugs.webkit.org/show_bug.cgi?id=225985
<rdar://problem/78226729>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): Key should be pulled from environment variable with key_name in it.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): Move config regexes.
(Git.__init__): Add `git remote add`, `git config` and `git fetch fork`.
(Git.config): Add user.email to default configuration.
(Git.edit_config): Modify configuration file.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub): Add list of forks.
(GitHub.__enter__): Correctly mock token.
(GitHub.request): Add fork check and fork addition.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
(main): Add setup function.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.credentials): Strip email domain, guide user on token permissions.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: Added.
(Setup.github): Ensure that GitHub credentials are in the keychain.
(Setup.git): Set the user for the repository, along with merge strategy.
(Setup.parser):
(Setup.main):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(test_config): Change user name.
(test_global_config): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py: Added.
(TestSetup):
(TestSetup.setUp):
(TestSetup.test_svn):
(TestSetup.test_github):
(TestSetup.test_git):
(TestSetup.test_github_checkout):
2021-08-06 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][WebKitTestRunner] WTR::PlatformWebView leaks m_view (WKViewRef)
https://bugs.webkit.org/show_bug.cgi?id=228857
Reviewed by Don Olmstead.
Windows WebKitTestRunner leaked a lot of object because it leaked
WebKit::WebView that retains WebKit::WebPageProxy.
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::~PlatformWebView): Release m_view.
2021-08-06 Youenn Fablet <youenn@apple.com>
[GPUP] Test WebKit2.CrashGPUProcessAfterApplyingConstraints fails when Media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=228759
<rdar://problem/81529641>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
Reenable test.
2021-08-06 Aakash Jain <aakash_jain@apple.com>
[ews] Make config.json compact
https://bugs.webkit.org/show_bug.cgi?id=228862
Reviewed by Jonathan Bedard.
* CISupport/ews-build/config.json:
2021-08-05 Diego Pino Garcia <dpino@igalia.com>
[buildbot] Add new post-commit bot to build WPE on Ubuntu-LTS
https://bugs.webkit.org/show_bug.cgi?id=228535
Reviewed by Alexey Proskuryakov.
Currently we only had a bot to build WebKitGTK on Ubuntu LTS. This is
not enough to detect build regressions in WPE.
* CISupport/build-webkit-org/config.json:
2021-08-05 Kate Cheney <katherine_cheney@apple.com>
LoadWebArchive.FailNavigation1 test is a false positive
https://bugs.webkit.org/show_bug.cgi?id=228848
<rdar://problem/81587448>
Reviewed by Brent Fulgham.
Update LoadWebArchive.FailNavigation1 to test the case of a webarchive
being loaded with a host for better test coverage.
* TestWebKitAPI/Tests/mac/load-web-archive-1.html:
2021-08-05 Ryan Haddad <ryanhaddad@apple.com>
REGRESSION (r279855): TestWebKitAPI.AppleLanguagesTest.UpdateAppleLanguages is failing
https://bugs.webkit.org/show_bug.cgi?id=228309
Unreviewed test gardening.
This test has been skipped on Apple Silicon because of timeouts, and
now it is a flaky failure on Intel machines. Disable it outright for
the time be ing.
* TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
(TEST_F):
2021-08-05 Zan Dobersek <zdobersek@igalia.com>
run-jsc-stress-tests: detect the riscv64 architecture
https://bugs.webkit.org/show_bug.cgi?id=228817
Reviewed by Adrian Perez de Castro.
* Scripts/run-jsc-stress-tests: Detect the riscv64 architecture when
examining ELF binaries. For the moment, this architecture should be
marked as not supporting FTL.
2021-08-04 Peng Liu <peng.liu6@apple.com>
[Catalina][GPUP] Some API tests fail after GPU Process features are enabled
https://bugs.webkit.org/show_bug.cgi?id=228589
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm:
(TestWebKitAPI::TEST):
2021-08-04 Jonathan Bedard <jbedard@apple.com>
[check-github-mirror-integrity] Store remote cache in checkout
https://bugs.webkit.org/show_bug.cgi?id=228792
<rdar://problem/81527357>
Reviewed by Aakash Jain.
* Scripts/check-github-mirror-integrity: Use the local checkout to store the svn.webkit.org, if possible.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn.__init__): Allow caller to define cache path.
(Svn._cache_path): Deleted.
2021-08-04 Jonathan Bedard <jbedard@apple.com>
[check-github-mirror-integrity] Compare current time to canonical time
https://bugs.webkit.org/show_bug.cgi?id=228787
<rdar://problem/81524499>
Reviewed by Aakash Jain.
* Scripts/check-github-mirror-integrity: If the mirror isn't in line with the canonical repository, we should
check against the current time, not the time of last commit on the mirror.
2021-08-03 Myles C. Maxfield <mmaxfield@apple.com>
[Cocoa] Tweak the formatting for passing NSArrays to TextStreams
https://bugs.webkit.org/show_bug.cgi?id=228766
Reviewed by Simon Fraser.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/cocoa/TextStreamCocoa.cpp: Added.
(TEST):
* TestWebKitAPI/Tests/WTF/cocoa/TextStreamCocoa.mm: Added.
(TEST):
2021-08-04 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add shared terminal input code
https://bugs.webkit.org/show_bug.cgi?id=226024
<rdar://problem/78261645>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Export Terminal object, bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): Use Terminal.input.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/terminal.py: Added.
(Terminal):
(Terminal.input): Mocking input and raw_input requires so specialized knowledge,
so we should generalize it.
* Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py: Added.
(Terminal):
(Terminal.input): Python 2/3 compatible input function.
(Terminal.choose): Generic multiple-choice input prompt.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/terminal_unittest.py: Added.
(TerminalTests):
(TerminalTests.test_choose_basic):
(TerminalTests.test_choose_strict):
(TerminalTests.test_choose_default):
(TerminalTests.test_choose_triple):
(TerminalTests.test_choose_number):
* Scripts/webkitpy/common/system/user.py:
(User.prompt): Use Terminal.input.
(User.prompt_with_multiple_lists): Ditto.
(User.prompt_with_list): Ditto.
(User.confirm): Ditto.
* Scripts/webkitpy/common/system/user_mock.py:
(MockUser.prompt): Use Terminal.input.
(MockUser.prompt_with_list): Ditto.
2021-08-04 Andres Gonzalez <andresg_22@apple.com>
Add contributor to accessibility watchlist.
https://bugs.webkit.org/show_bug.cgi?id=228775
Reviewed by Chris Fleizach.
* Scripts/webkitpy/common/config/watchlist: Added andresg_22@apple.com to accessibility watchlist.
2021-08-03 Risul Islam <risul_islam@apple.com>
Add functions for parsing URL query string
https://bugs.webkit.org/show_bug.cgi?id=228122
Reviewed by Darin Adler.
Added the test functions required for parsing URL query string.
* TestWebKitAPI/Tests/WTF/URL.cpp:
(TestWebKitAPI::TEST_F):
2021-08-03 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Handle case where no existing simulators are defined
https://bugs.webkit.org/show_bug.cgi?id=228758
<rdar://problem/81484040>
Reviewed by Ryan Haddad.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._disambiguate_device_type): If there are no available devices,
find the newest device identifier which matches the requested type.
2021-08-03 Jonathan Bedard <jbedard@apple.com>
[build.webkit.org] Simulator temp files filling up disk (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=228335
<rdar://problem/81171840>
Reviewed by Ryan Haddad.
* CISupport/kill-old-processes:
(main): Use tempdir environment variable, link to underlying bug.
2021-08-03 Jer Noble <jer.noble@apple.com>
WebKitTestRunner should dump current results in the case of a timeout
https://bugs.webkit.org/show_bug.cgi?id=228706
<rdar://79154019>
Reviewed by Jonathan Bedard.
When WKTR encounters a timeout, it current prints a "PID UNRESPONSIVE" and "FAIL: timed out" message,
but the WebContent process may not actually be unresponsive; it may just be waiting for an event
which hasn't fired, or a condition to become true. In these cases, it would be very helpful to see
the results of the test so far, so as to diagnose what is keeping the test from running to completion.
When, in the WKTR process, TestInvocation's "waitToDumpWatchdogTimer" fires, first try sending a message
to the InjectedBundle, requesting it to "ForceImmediateCompletion". Only if this message fails to be
acted upon will WKTR print the "PID UNRESPONSIVE" message.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::TestInvocation):
(WTR::TestInvocation::waitToDumpWatchdogTimerFired):
(WTR::TestInvocation::initializeWaitForPostDumpWatchdogTimerIfNeeded):
(WTR::TestInvocation::invalidateWaitForPostDumpWatchdogTimer):
(WTR::TestInvocation::waitForPostDumpWatchdogTimerFired):
(WTR::TestInvocation::done):
* WebKitTestRunner/TestInvocation.h:
2021-08-03 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Narrow set of terminated simulator processes
https://bugs.webkit.org/show_bug.cgi?id=228752
<rdar://problem/81479508>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.initialize_devices): Only check Simulator.app.
(SimulatedDeviceManager.tear_down): Only kill Simulator.app processes.
(SimulatedDevice._delete): Print error if `simctl delete` fails, but continue.
2021-08-03 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add access to `git config`
https://bugs.webkit.org/show_bug.cgi?id=228597
<rdar://problem/81283644>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.config): Return git configuration as dictionary.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(test_config): Test repository configuration.
(test_global_config): Test global configuration.
2021-08-03 Jonathan Bedard <jbedard@apple.com>
[check-github-mirror-integrity] Handle slow Svn query
https://bugs.webkit.org/show_bug.cgi?id=228741
Reviewed by Aakash Jain.
* Scripts/check-github-mirror-integrity: Pull commit from GitHub before Subversion.
2021-08-03 Philippe Normand <pnormand@igalia.com>
[WPE][GTK] SVN_REVISION drifting away if bots don't re-run cmake
https://bugs.webkit.org/show_bug.cgi?id=228290
Reviewed by Michael Catanzaro.
The apply-build-revision-to-files.py script wasn't expanding the BUILD_REVISION beyond the
first run, because it processes files generated by CMake already, and expanding the
BUILD_REVISION once prevents further expansions. So the proposed solution is to always
expand BuildRevision.h.in from that script, and for .pc files, to restore the BUILD_REVISION
template before updating the file.
* glib/apply-build-revision-to-files.py:
(main):
2021-08-02 Peng Liu <peng.liu6@apple.com>
[GPUP] RemoteAudioSession::setPreferredBufferSize() does not change its preferredBufferSize
https://bugs.webkit.org/show_bug.cgi?id=228720
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
(TEST_F):
2021-08-02 Alex Christensen <achristensen@webkit.org>
Don't change invalid baseURLs from loadData or loadHTMLString to about:blank
https://bugs.webkit.org/show_bug.cgi?id=228717
<rdar://79909343>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
(TEST):
2021-08-02 Kevin Neal <kevin_neal@apple.com>
[results.webkit.org] Fix incorrect conditional check
https://bugs.webkit.org/show_bug.cgi?id=228666
Reviewed by Jonathan Bedard.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
2021-08-02 Ryosuke Niwa <rniwa@webkit.org>
Add CheckedRef
https://bugs.webkit.org/show_bug.cgi?id=227164
Reviewed by Geoffrey Garen.
Added some unit tests for CheckedRef and updated the unit tests
for CheckedPtr per the removal of makeCheckedPtr.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CheckedPtr.cpp:
(WTF_CheckedPtr.CheckedRef): Added
* TestWebKitAPI/Tests/WTF/CheckedRef.cpp: Added.
(TestWebKitAPI..CheckedObject): Added.
(TestWebKitAPI..DerivedCheckedObject): Added.
(WTF_CheckedRef.Basic): Added.
(WTF_CheckedRef.DerivedClass): Added.
(WTF_CheckedRef.HashSet): Added.
2021-08-02 Russell Epstein <repstein@apple.com>
Add basestring compatibility for Python3 in webkitcorepy.
https://bugs.webkit.org/show_bug.cgi?id=228707
Reviewed by Jonathan Bedard.
* Scripts/libraries/webkitcorepy/setup.py: Bumped version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/string_utils.py: Added
basestring compatibility for Python3.
2021-08-02 Lauro Moura <lmoura@igalia.com>
[GLIB] Make CORS allowlist test wait for promise resolution
https://bugs.webkit.org/show_bug.cgi?id=228695
Reviewed by Michael Catanzaro.
r278456 introduced a CORS allow list test that tries to fetch a
resource using the fetch() function, which returns a promise. This is
working on GTK but in WPE the test fails as the promise is not yet
resolved by the time the test variable is checked.
This commit changes the test to actually report the promise failure
through catch() and wait for its resolution before checking the values.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewCORSAllowlist):
2021-08-01 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][DumpRenderTree] Clean up IndexedDB files between tests
https://bugs.webkit.org/show_bug.cgi?id=228692
Reviewed by Ryosuke Niwa.
storage/indexeddb/getdatabases.html was failing because it counted
up the remaining databases of previous tests.
Mac DRT removes IndexedDB after the testing (Bug 192796, r240358).
Win DRT also should do it.
* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest): Call TestRunner::clearAllDatabases after the testing.
2021-07-31 Alexander Mikhaylenko <alexm@gnome.org>
Add myself (Alexander Mikhaylenko) to contributors.json as a committer
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-07-30 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Forward errors from log and blame
https://bugs.webkit.org/show_bug.cgi?id=228621
<rdar://problem/81297642>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand.main): If the exit code is non-zero, print all errors.
2021-07-30 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Not all platforms support more -F
https://bugs.webkit.org/show_bug.cgi?id=228619
<rdar://problem/81296290>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand.pager): Only pass -F to more on Darwin.
2021-07-29 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE][GTK] build broken with python2 after r280382
https://bugs.webkit.org/show_bug.cgi?id=228629
Reviewed by Philippe Normand.
Fix compatibility with python2.
* glib/apply-build-revision-to-files.py:
(main):
2021-07-29 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Handle relative paths in filtered commands
https://bugs.webkit.org/show_bug.cgi?id=228606
<rdar://problem/81289748>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand.pager): Child process should use the same current working directory.
(FilteredCommand.main): Convert any file names to their absolute paths.
2021-07-29 Tim Horton <timothy_horton@apple.com>
Simplify ImageDiff SDK logic
https://bugs.webkit.org/show_bug.cgi?id=228603
<rdar://problem/81281548>
Reviewed by Sam Weinig.
* ImageDiff/Makefile:
For any non-macOS SDK, build a macOS ImageDiff (because we use it on the host, not the target).
2021-07-29 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Return remote objects from remote() function
https://bugs.webkit.org/show_bug.cgi?id=226980
<rdar://problem/79299760>
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.url): Add function to return remote url directly.
(Git.remote): Construct the appropriate remote object.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.url): Add function to return the remote url directly.
(Svn.remote): Construct the appropriate remote object.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_url):
(TestGit.test_remote):
(TestGit.test_remote_github):
(TestGit.test_remote_bitbucket):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_url):
(TestLocalSvn.test_remote):
2021-07-29 Peng Liu <peng.liu6@apple.com>
[Catalina][GPUP] Some API tests fail after GPU Process features are enabled
https://bugs.webkit.org/show_bug.cgi?id=228589
Reviewed by Aakash Jain.
Disable a few API tests while the investigation is ongoing.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
* TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
(TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
(TEST_F):
2021-07-29 Aakash Jain <aakash_jain@apple.com>
Send email notification when VerifyGitHubIntegrity step fails
https://bugs.webkit.org/show_bug.cgi?id=228592
Reviewed by Jonathan Bedard.
* CISupport/ews-build/emails.json:
* CISupport/ews-build/send_email.py:
(send_email_to_github_admin):
* CISupport/ews-build/steps.py:
(VerifyGitHubIntegrity):
(VerifyGitHubIntegrity.evaluateCommand):
(VerifyGitHubIntegrity.send_email_for_github_issue):
2021-07-29 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Add identifiers to 'log' and 'blame'
https://bugs.webkit.org/show_bug.cgi?id=228027
<rdar://problem/80691164>
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.from_path): Pass all kwargs to local SCM object.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
(main): Add Blame and Log commands.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/blame.py: Added.
(Blame): Invoke pager.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand): Shared command that handles replace hashes/revisions in
an SCM command with identifiers.
(FilteredCommand.parser): Allow user to change the prefered commit representation.
(FilteredCommand.pager): Pass output through more if called from a terminal.
(FilteredCommand.main): Modify output of provided command to replace commit representation
with the preffered commit representation.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py: Added.
(Log): Invoke pager.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/log_unittest.py: Added.
(TestLog):
(TestLog.setUp):
(TestLog.test_git):
(TestLog.test_git_svn):
(TestLog.test_git):
2021-07-29 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Catch AttributeError when getting password
https://bugs.webkit.org/show_bug.cgi?id=228590
<rdar://problem/81278799>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): Catch AttributeError.
2021-07-29 Aakash Jain <aakash_jain@apple.com>
[ews] VerifyGitHubIntegrity step fails with an exception
https://bugs.webkit.org/show_bug.cgi?id=228587
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(VerifyGitHubIntegrity): Fixed the base class.
(VerifyGitHubIntegrity.getResultSummary): Drive-by fix to improve error message.
* CISupport/ews-build/steps_unittest.py: Added unit-tests.
2021-07-29 Michael Catanzaro <mcatanzaro@gnome.org>
[WPE][GTK] .asc file extension is appended to filename of text/plain downloads
https://bugs.webkit.org/show_bug.cgi?id=228566
Reviewed by Adrian Perez de Castro.
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(serverCallback):
(testDownloadTextPlainMIMEType):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/resources/text: Added.
2021-07-28 Ryosuke Niwa <rniwa@webkit.org>
makeWeakPtr should support Ref and RefPtr as the argument
https://bugs.webkit.org/show_bug.cgi?id=228574
Reviewed by Wenson Hsieh.
Added unit tests for makeWeakPtr<T> on Ref<T> and RefPtr<T>.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::BaseObjectWithRefAndWeakPtr): Added.
(TestWebKitAPI::BaseObjectWithRefAndWeakPtr::create): Added.
(TestWebKitAPI::BaseObjectWithRefAndWeakPtr::someFunction):
(TestWebKitAPI::DerivedObjectWithRefAndWeakPtr): Added.
(TestWebKitAPI::DerivedObjectWithRefAndWeakPtr::create):
(WTF_WeakPtr.MakeWeakPtrTakesRef): Added.
(WTF_WeakPtr.MakeWeakPtrTakesRefPtr): Added.
2021-07-28 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add hybridmethod decorator
https://bugs.webkit.org/show_bug.cgi?id=225991
<rdar://problem/78230701>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py:
(hybridmethod): Similar to the "classmethod" decorator, except this decorator allows the
decorated functions to differentiate between being called by the class and an instance
of the class.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/decorators_unittest.py:
(TestHybrid):
(TestHybrid.is_type):
(TestHybrid.test_type):
(TestHybrid.test_instance):
2021-07-28 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Fix race condition in TaskPool unittests (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=227455
<rdar://problem/79873003>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py:
(TaskPoolUnittest.test_invalid_shutdown): Deleted.
2021-07-28 Jonathan Bedard <jbedard@apple.com>
[ews-build.webkit.org] Verify GitHub integrity in commit queue
https://bugs.webkit.org/show_bug.cgi?id=228563
<rdar://problem/81230685>
Reviewed by Aakash Jain.
* CISupport/ews-build/factories.py:
(CommitQueueFactory.__init__): Add VerifyGitHubIntegrity.
* CISupport/ews-build/factories_unittest.py:
(TestCommitQueueFactory.test_commit_queue_factory):
* CISupport/ews-build/steps.py:
(CheckPatchStatusOnEWSQueues.start):
(VerifyGitHubIntegrity):
(VerifyGitHubIntegrity.__init__):
(VerifyGitHubIntegrity.getResultSummary):
* Scripts/check-github-mirror-integrity: Import webkitscmpy from webkitpy.
2021-07-28 Alex Christensen <achristensen@webkit.org>
WebSocket: Safari on iOS 15 beta 3 is sending invalid close frame
https://bugs.webkit.org/show_bug.cgi?id=228329
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/WebSocket.mm:
(TestWebKitAPI::TEST):
2021-07-28 Philippe Normand <pnormand@igalia.com>
[WPE][GTK] SVN_REVISION drifting away if bots don't re-run cmake
https://bugs.webkit.org/show_bug.cgi?id=228290
Reviewed by Michael Catanzaro.
* MiniBrowser/gtk/main.c:
(main): Use generated BuildRevision.h header.
* glib/apply-build-revision-to-files.py: Added.
(main):
2021-07-28 Diego Pino Garcia <dpino@igalia.com>
[WPE] Add missing required dependencies to build WPE
https://bugs.webkit.org/show_bug.cgi?id=228530
Reviewed by Adrian Perez de Castro.
Script Tools/wpe/install-dependencies was not installing all the required
package dependencies necessary to build WPE. There were several
packages missing or other ones which were only present in the
WebKitGTK list of package dependencies (moved to GLIB).
* glib/dependencies/apt:
* gtk/dependencies/apt:
* wpe/dependencies/apt:
2021-07-27 Devin Rousso <drousso@apple.com>
[Modern Media Controls] [macOS] Overflow button still shows as `on` even after contextmenu is dismissed
https://bugs.webkit.org/show_bug.cgi?id=228310
<rdar://problem/81124786>
Reviewed by Wenson Hsieh.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dismissActiveMenu]):
(-[TestRunnerWKWebView immediatelyDismissContextMenuIfNeeded]):
(-[TestRunnerWKWebView _dismissAllContextMenuInteractions]): Added.
2021-07-27 Diego Pino Garcia <dpino@igalia.com>
[GTK][WPE] Fix wrong path to GLIB dependencies introduced in r280354.
Unreviewed follow-up fix.
* gtk/dependencies/apt:
* gtk/dependencies/dnf:
* gtk/dependencies/pacman:
* wpe/dependencies/apt:
* wpe/dependencies/dnf:
* wpe/dependencies/pacman:
2021-07-27 Jonathan Bedard <jbedard@apple.com>
[build.webkit.org] Simulator temp files filling up disk
https://bugs.webkit.org/show_bug.cgi?id=228335
<rdar://problem/81171840>
Reviewed by Aakash Jain.
* CISupport/kill-old-processes:
(main): Delete stale simulator files.
2021-07-27 Aakash Jain <aakash_jain@apple.com>
Add .gitignore file for CISupport
https://bugs.webkit.org/show_bug.cgi?id=228113
Reviewed by Jonathan Bedard.
* CISupport/.gitignore: Added.
2021-07-27 Diego Pino Garcia <dpino@igalia.com>
[GTK][WPE] Move WebKitGTK and WPE dependency packages to a common GLIB list
https://bugs.webkit.org/show_bug.cgi?id=228326
Reviewed by Adrian Perez de Castro.
WebKitGTK and WPE share many dependency packages. Until now each port
maintained its own list of dependencies. It was a common mistake to
add a new package dependency to one of the ports but not to the other
one.
This patch adds a common GLIB for dependency packages, which can help
prevent mistakes like the one described above.
* glib/dependencies/apt: Copied from Tools/wpe/dependencies/apt.
* glib/dependencies/dnf: Copied from Tools/wpe/dependencies/dnf.
* glib/dependencies/pacman: Copied from Tools/wpe/dependencies/pacman.
* gtk/dependencies/apt:
* gtk/dependencies/dnf:
* gtk/dependencies/pacman:
* wpe/dependencies/apt:
* wpe/dependencies/dnf:
* wpe/dependencies/pacman:
2021-07-27 Kevin Neal <kevin_neal@apple.com>
[results.webkit.org] Tooltips should remain visible when hovering over commit representations
https://bugs.webkit.org/show_bug.cgi?id=228330
Reviewed by Jonathan Bedard.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(xAxisFromScale):
2021-07-27 Diego Pino Garcia <dpino@igalia.com>
[GTK][WPE] Organize list of package dependencies into separated files
https://bugs.webkit.org/show_bug.cgi?id=228276
Reviewed by Adrian Perez de Castro.
When deploying a new bot from scratch for Ubuntu LTS, which builds
using system libraries, I realized the list of package dependencies
for WPE is not exhaustive.
This patch refactorizes the package dependencies list putting each
group of dependencies on its own file depending on platform (apt, dnf,
pacman and brew).
On a follow-up step I plan to put in common the WebKitGTK and WPE
dependencies plus add the missing WPE package dependencies. Also I'll
remove the duplicated packages that are currently happening in the
dependencies list of several platforms.
* gtk/dependencies/apt: Added.
* gtk/dependencies/brew: Added.
* gtk/dependencies/dnf: Added.
* gtk/dependencies/pacman: Added.
* gtk/install-dependencies:
* wpe/dependencies/apt: Added.
* wpe/dependencies/dnf: Added.
* wpe/dependencies/pacman: Added.
* wpe/install-dependencies:
2021-07-26 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS Monterey] Pressing Fn+E should present the emoji picker when editing
https://bugs.webkit.org/show_bug.cgi?id=228300
rdar://77558672
Reviewed by Tim Horton.
Add a new API test that simulates a keypress for "Fn+E" with a main menu that contains a system menu item for
that key binding; the test then verifies that text was not inserted into the page as a result.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/KeyboardEventTests.mm: Added.
(-[KeyboardTestMenu _containsItemMatchingEvent:includingDisabledItems:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView typeCharacter:]):
(-[TestWKWebView typeCharacter:modifiers:]):
2021-07-26 Yusuke Suzuki <ysuzuki@apple.com>
Unreviewed, speculative revert of r280193
https://bugs.webkit.org/show_bug.cgi?id=228142
* TestWebKitAPI/Tests/WTF/StringView.cpp:
* TestWebKitAPI/Tests/WTF/Vector.cpp:
2021-07-26 Alex Christensen <achristensen@webkit.org>
WKUserContentController.removeAllScriptMessageHandlers() doesn't release the message handlers
https://bugs.webkit.org/show_bug.cgi?id=228271
Reviewed by Sihui Liu.
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
2021-07-26 Kate Cheney <katherine_cheney@apple.com>
ServiceWorkerRegistration.unregister method fails in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=227524
<rdar://problem/80264108>
Reviewed by Youenn Fablet.
API test coverage. Drive-by fix to remove unnecessary WKWebView
configuration flags from tests that don't need them.
Note this will also fix https://bugs.webkit.org/show_bug.cgi?id=227531
where updating an existing worker fails after registering 3 domains,
but writing a test for that would require registering service workers
on 3 domains that are not localhost or a loopback IP address, which
we currently do not have infrastructure for.
Testing unregister was only possible because the script URL passed in
during the unregister job is null, so it does not get caught in the
localhost/loopback IP address check, unlike the update case.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
(-[SWInAppBrowserPrivacyMessageHandler userContentController:didReceiveScriptMessage:]):
2021-07-25 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Unified field is unselected after focusing URL bar if text was selected in a fixed position container
https://bugs.webkit.org/show_bug.cgi?id=228269
rdar://80556392
Reviewed by Tim Horton.
We already have some very basic support for installing and removing native text fields in the view hierarchy,
through `TestRunner::(add|remove)ChromeInputField()`. In order to support the new layout test, we additionally
implement the ability to:
- Set text inside the native chrome input field that was installed using `addChromeInputField()`.
- Select all text inside the chrome input field.
- Query the chrome input field for the currently selected text.
We only support iOS for the time being, with stubs on other platforms, since the new test that uses this
functionality is iOS-specific; if needed in the future for a similar test on other platforms, we can implement
the stubbed testing hooks on TestRunner and PlatformWebView as well.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setTextInChromeInputField):
(TestRunner::selectChromeInputField):
(TestRunner::getSelectedTextInChromeInputField):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setTextInChromeInputField):
(TestRunner::selectChromeInputField):
(TestRunner::getSelectedTextInChromeInputField):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
(WTR::InjectedBundle::postSetTextInChromeInputField):
(WTR::InjectedBundle::postSelectChromeInputField):
(WTR::InjectedBundle::postGetSelectedTextInChromeInputField):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setTextInChromeInputField):
(WTR::TestRunner::selectChromeInputField):
(WTR::TestRunner::getSelectedTextInChromeInputField):
(WTR::TestRunner::callSetTextInChromeInputFieldCallback):
(WTR::TestRunner::callSelectChromeInputFieldCallback):
(WTR::TestRunner::callGetSelectedTextInChromeInputFieldCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::setTextInChromeInputField):
(WTR::PlatformWebView::selectChromeInputField):
(WTR::PlatformWebView::getSelectedTextInChromeInputField):
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::chromeInputField):
Additionally do some light refactoring by pulling out logic for grabbing the chrome input field (i.e. a view
with a tag of 1 under the window) out into a separate helper method. Use this helper in a few places below.
(WTR::PlatformWebView::addChromeInputField):
(WTR::PlatformWebView::setTextInChromeInputField):
(WTR::PlatformWebView::selectChromeInputField):
(WTR::PlatformWebView::getSelectedTextInChromeInputField):
(WTR::PlatformWebView::removeChromeInputField):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::setTextInChromeInputField):
(WTR::PlatformWebView::selectChromeInputField):
(WTR::PlatformWebView::getSelectedTextInChromeInputField):
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::setTextInChromeInputField):
(WTR::PlatformWebView::selectChromeInputField):
(WTR::PlatformWebView::getSelectedTextInChromeInputField):
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::setTextInChromeInputField):
(WTR::PlatformWebView::selectChromeInputField):
(WTR::PlatformWebView::getSelectedTextInChromeInputField):
2021-07-24 Devin Rousso <drousso@apple.com>
[iOS] REGRESSION(r277505): `-[WKWebView underPageBackgroundColor]` also changes the scroll bar color
https://bugs.webkit.org/show_bug.cgi?id=228259
<rdar://problem/80116822>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewUnderPageBackgroundColor.mm:
(TEST.WKWebViewUnderPageBackgroundColor.MatchesScrollView):
2021-07-23 Andres Gonzalez <andresg_22@apple.com>
Add a method to WebAccessibilityObjectWrapper so that clients can retrieve the text of each line and their corresponding bounding rectangles.
https://bugs.webkit.org/show_bug.cgi?id=228251
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::lineRectsAndText const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::lineRectsAndText const):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::makeJSArray):
2021-07-23 Alex Christensen <achristensen@webkit.org>
Make WKContentRuleListStore respond to same selectors as _WKUserContentExtensionStore
https://bugs.webkit.org/show_bug.cgi?id=228253
Reviewed by Brian Weinstein.
* TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:
(TEST_F):
2021-07-23 Truitt Savell <tsavell@apple.com>
Migrate iOS 15 expectations to OpenSource and bump version numbers
https://bugs.webkit.org/show_bug.cgi?id=228202
Reviewed by Ryan Haddad.
* Scripts/webkitpy/port/ios.py:
(IOSPort):
* Scripts/webkitpy/port/ios_device_unittest.py:
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.make_port):
(IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions):
(IOSSimulatorTest.test_layout_test_searchpath_without_apple_additions):
(IOSSimulatorTest.test_layout_searchpath_wih_device_type):
* Scripts/webkitpy/port/ios_testcase.py:
(IOSTest.make_port):
2021-07-22 Truitt Savell <tsavell@apple.com>
Migrate Monterey expectations to OpenSource and bump version numbers
https://bugs.webkit.org/show_bug.cgi?id=228090
Reviewed by Ryan Haddad.
* Scripts/webkitpy/port/mac.py:
(MacPort):
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_monterey_baseline_search_path):
(MacTest.test_big_sur_baseline_search_path): Deleted.
2021-07-22 Yusuke Suzuki <ysuzuki@apple.com>
Micro-optimize innerHTML
https://bugs.webkit.org/show_bug.cgi?id=228142
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2021-07-22 Peng Liu <peng.liu6@apple.com>
[ BigSur Debug ] TestWebKitAPI.GPUProcess.CrashWhilePlayingAudioViaCreateMediaElementSource is flaky, hitting ASSERTION FAILED: !isInRoutingArbitrationForToken(token)
https://bugs.webkit.org/show_bug.cgi?id=227728
Unreviewed API test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-07-22 Frédéric Wang <fwang@igalia.com>
nullptr crash in ApplyStyleCommand::applyRelativeFontStyleChange
https://bugs.webkit.org/show_bug.cgi?id=223974
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp: Update FIXME.
2021-07-22 Philippe Normand <pnormand@igalia.com>
[GLib] Expose API to access/modify capture devices states
https://bugs.webkit.org/show_bug.cgi?id=227902
Reviewed by Carlos Garcia Campos.
The GTK MiniBrowser is now able to show media capture indicators, through the URI entry. A
new API test was added, checking support for getDisplayMedia().
* MiniBrowser/gtk/BrowserTab.c:
(decidePermissionRequest):
* MiniBrowser/gtk/BrowserWindow.c:
(webViewMediaCaptureStateChanged):
(webViewUriEntryIconPressed):
(browserWindowSwitchTab):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewUserMediaPermissionRequests):
(testWebViewAudioOnlyUserMediaPermissionRequests):
(testWebViewDisplayUserMediaPermissionRequests):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(displayCaptureChanged):
(WebViewTest::waitUntilDisplayCaptureStateChangedTo):
(microphoneCaptureChanged):
(WebViewTest::waitUntilMicrophoneCaptureStateChangedTo):
(cameraCaptureChanged):
(WebViewTest::waitUntilCameraCaptureStateChangedTo):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2021-07-21 Alexey Proskuryakov <ap@apple.com>
MiniBrowser xcconfig should include ccache.xcconfig conditionally
https://bugs.webkit.org/show_bug.cgi?id=228126
Reviewed by Tim Horton.
* MiniBrowser/Configurations/DebugRelease.xcconfig:
2021-07-21 Miguel Gomez <magomez@igalia.com>
[GTK][WPE] Allow the user to configure the MemoryPressureHandler inside the web process
https://bugs.webkit.org/show_bug.cgi?id=222738
Reviewed by Carlos Garcia Campos.
Add a test for WebKitMemoryPressureSettings API and to test WebKitWebContext with
non default WebKitMemoryPressureSettings values.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(MemoryPressureTest::setup):
(MemoryPressureTest::teardown):
(MemoryPressureTest::webProcessTerminatedCallback):
(MemoryPressureTest::waitUntilWebProcessTerminated):
(testMemoryPressureSettings):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
2021-07-21 Aditya Keerthi <akeerthi@apple.com>
Crash in -[WKWebView takeSnapshotWithConfiguration:completionHandler:] when taking empty snapshots
https://bugs.webkit.org/show_bug.cgi?id=228134
rdar://80146087
Reviewed by Chris Dumez.
Added a test to verify the crash no longer occurs.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(-[TestSnapshotWrapper takeSnapshotWithWebView:configuration:completionHandler:]):
(TEST):
2021-07-20 Saam Barati <sbarati@apple.com>
Don't run ftl-eager-no-cjit on debug builds
https://bugs.webkit.org/show_bug.cgi?id=228118
Reviewed by Mark Lam.
Many debug JSC stress tests time out intermittently. All I see are under
the ftl-eager-no-cjit mode.
* Scripts/run-jsc-stress-tests:
2021-07-20 Ayumi Kojima <ayumi_kojima@apple.com>
Adding myself to Contributors.json
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-07-20 Eric Hutchison <ehutchison@apple.com>
Adding myself to Contributors.json.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-07-20 Tim Horton <timothy_horton@apple.com>
REGRESSION (r278062): Misplaced text in Wikipedia search field
https://bugs.webkit.org/show_bug.cgi?id=228098
<rdar://problem/80495165>
Reviewed by Simon Fraser.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/cg/GraphicsContextTestsCG.cpp: Added.
(TestWebKitAPI::greenImage):
(TestWebKitAPI::TEST):
Add a test for the issue described in the WebCore ChangeLog.
2021-07-20 Sam Sneddon <gsnedders@apple.com>
Change referrer-policy default to strict-origin-when-cross-origin
https://bugs.webkit.org/show_bug.cgi?id=218909
Reviewed by Chris Dumez.
This matches the behavior of other browsers.
Covered by existing tests and web platform tests we haven't imported yet.
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
2021-07-20 Aakash Jain <aakash_jain@apple.com>
EWS should send email notification when a bot goes out of disk space
https://bugs.webkit.org/show_bug.cgi?id=216489
Reviewed by Ryan Haddad.
* CISupport/ews-build/steps.py:
(CleanUpGitIndexLock.start):
(CleanUpGitIndexLock.send_email_for_git_issue):
2021-07-20 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Update myself (vjaquez) as committer in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=228103
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-07-19 Ryan Haddad <ryanhaddad@apple.com>
[build.webkit.org] lldb-webkit-test is failing on Catalina queues
https://bugs.webkit.org/show_bug.cgi?id=227946
Reviewed by Aakash Jain.
The changes to lldb-webkit-test to support the Python 3 version of lldb present in the
Big Sur-aligned Xcode have made it incompatible with Catalin's Python 2 version.
Rather than creating and defending the results for two different versions of the lldb-webkit-test
script, disable this test step for Catalina.
* CISupport/build-webkit-org/factories.py:
(TestFactory.__init__):
2021-07-19 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed infrastructure fix, remove bot that is out for hardware repair.
* CISupport/ews-build/config.json:
2021-07-18 David Kilzer <ddkilzer@apple.com>
Ignore weak external symbols in clang coverage builds using check-for-weak-vtables-and-externals
<https://webkit.org/b/228063>
<rdar://problem/80477138>
Reviewed by Alexey Proskuryakov.
* Scripts/check-for-weak-vtables-and-externals:
- Ignore weak symbols from llvm when building with
coverage enabled. This fixes the build.
* coverage/coverage.xcconfig:
(UNEXPORTED_SYMBOL_LDFLAGS_FOR_COVERAGE): Remove.
- Can't use -unexported_symbol and -exported_symbol
together, so remove this.
2021-07-16 Kate Cheney <katherine_cheney@apple.com>
WKWebView javascript injection doesn't work if app includes WKAppBoundDomains
https://bugs.webkit.org/show_bug.cgi?id=227589
<rdar://problem/80327452>
Reviewed by Brent Fulgham.
Added new tests. Removed localhost and 127.0.0.1 from the Info.plist
to avoid false positive tests. Replace them with other domains so we
still test the max count.
* TestWebKitAPI/Info.plist:
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
2021-07-16 Alex Christensen <achristensen@webkit.org>
Prevent HSTS tracking mitigation for top level navigation requests
https://bugs.webkit.org/show_bug.cgi?id=227936
Reviewed by Brady Eidson.
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm: Added.
(TestWebKitAPI::hasRadar80550123):
(TestWebKitAPI::hstsWebViewAndDelegate):
(TestWebKitAPI::hstsServer):
(TestWebKitAPI::TEST):
2021-07-16 Alex Christensen <achristensen@webkit.org>
Network access prevention SPI should prevent preconnecting, and it should first allow injected bundle to change request
https://bugs.webkit.org/show_bug.cgi?id=228044
<rdar://72995136>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/SchemeChangingPlugIn.mm: Added.
(-[SchemeChangingPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[SchemeChangingPlugIn webProcessPlugInBrowserContextController:frame:willSendRequest:redirectResponse:]):
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2021-07-16 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r279916.
https://bugs.webkit.org/show_bug.cgi?id=228037
some of tests are timing out
Reverted changeset:
"Convert small JIT pool tests into executable fuzzing"
https://bugs.webkit.org/show_bug.cgi?id=226279
https://commits.webkit.org/r279916
2021-07-16 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Provide API to access SVN cache
https://bugs.webkit.org/show_bug.cgi?id=228000
<rdar://problem/80646471>
Reviewed by Dewei Zhu.
Create a Svn cache with the same API as the Git cache. This allows
git and svn to share logic when inserting identifiers in `log` and `blame`.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.Cache.path): Path to cahce file.
(Svn.Cache.populate): Fill cache from `svn log` operation.
(Svn.Cache.to_hash): Svn is unaware of hashes, and can never map them.
(Svn.Cache.to_revision): Map identifiers to revisions.
(Svn.Cache.to_identifier): Map revisions to identifiers.
(Svn.__init__): Use cache object instead of _metadata_cache.
(Svn._commit_count): Access cache object.
(Svn._branch_for): Ditto.
(Svn.commit): Ditto.
(Svn._cache_path): Deleted.
(Svn._cache_revisions): Deleted.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_revision_cache):
2021-07-16 Philippe Normand <pnormand@igalia.com>
[GStreamer] RealtimeMediaSourceCenter and VideoEncoder are not libwebrtc-specific
https://bugs.webkit.org/show_bug.cgi?id=228020
Reviewed by Xabier Rodriguez-Calvar.
* Scripts/webkitpy/style/checker.py:
2021-07-16 Angelos Oikonomopoulos <angelos@igalia.com>
Bundle libraries for remote execution in run-jsc-benchmarks
https://bugs.webkit.org/show_bug.cgi?id=227579
Reviewed by Carlos Alberto Lopez Perez.
Similarly to run-jsc-stress-tests, introduce a bundling step that
ships all library dependencies to the remote system when using
run-jsc-benchmarks --remote.
This patch factors out the code to
- lookup the ELF interpreter/libraries and to
- strip the rpath and create a wrapper script
from generate-bundle and places it webkitpy/binary_bundling.
It also introduces a simpler script that only bundles a single
binary (bundle-binary) and switches run-jsc-benchmarks and
run-jsc-stress-tests to use it.
It also updates run-jsc-benchmark to propagate any environment
variables intended for consumption by the JSC binary.
* Scripts/generate-bundle: Factor out reusable bundling code.
* Scripts/run-jsc-benchmarks: Do bundling and variable propagation.
* Scripts/run-jsc-stress-tests: Switch to bundle-binary.
* Scripts/webkitpy/binary_bundling/__init__.py: Added.
* Scripts/webkitpy/binary_bundling/bundle.py: Added.
(BinaryBundler):
(BinaryBundler.__init__):
(BinaryBundler.destination_dir):
(BinaryBundler.copy_and_remove_rpath):
(BinaryBundler.generate_wrapper_script):
* Scripts/webkitpy/binary_bundling/ldd.py: Added.
(SharedObjectResolver):
(SharedObjectResolver.__init__):
(SharedObjectResolver._run_cmd_and_get_output):
(SharedObjectResolver._get_interpreter_objname):
(SharedObjectResolver._get_libs_and_interpreter):
(SharedObjectResolver._ldd_recursive_get_libs_and_interpreter):
(SharedObjectResolver.get_libs_and_interpreter):
* Scripts/bundle-binary: Added.
* Scripts/generate-bundle:
* Scripts/run-jsc-benchmarks:
* Scripts/run-jsc-stress-tests:
* Scripts/webkitpy/binary_bundling/__init__.py: Added.
* Scripts/webkitpy/binary_bundling/bundle.py: Added.
(BinaryBundler):
(BinaryBundler.__init__):
(BinaryBundler.destination_dir):
(BinaryBundler.copy_and_remove_rpath):
(BinaryBundler.generate_wrapper_script):
* Scripts/webkitpy/binary_bundling/ldd.py: Added.
(SharedObjectResolver):
(SharedObjectResolver.__init__):
(SharedObjectResolver._run_cmd_and_get_output):
(SharedObjectResolver._get_interpreter_objname):
(SharedObjectResolver._get_libs_and_interpreter):
(SharedObjectResolver._ldd_recursive_get_libs_and_interpreter):
(SharedObjectResolver.get_libs_and_interpreter):
2021-07-16 Philippe Normand <pnormand@igalia.com>
[GStreamer] LibWebRTC files should be in libwebrtc/gstreamer
https://bugs.webkit.org/show_bug.cgi?id=227991
Reviewed by Xabier Rodriguez-Calvar.
* Scripts/webkitpy/style/checker.py:
2021-07-15 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, update my status in contributors.json to reviewer.
* Scripts/webkitpy/common/config/contributors.json:
2021-07-15 Aakash Jain <aakash_jain@apple.com>
Add unit-tests for InstallBuiltProduct step
https://bugs.webkit.org/show_bug.cgi?id=227990
Reviewed by Philippe Normand.
* CISupport/build-webkit-org/steps_unittest.py:
* CISupport/ews-build/steps_unittest.py:
2021-07-15 Aakash Jain <aakash_jain@apple.com>
[iOS]TestWebKitAPI.InAppBrowserPrivacy.AppBoundDomainAllowsServiceWorkers is failing
https://bugs.webkit.org/show_bug.cgi?id=227918
<rdar://problem/80535625>
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: Disabled the test for now to speed up EWS.
2021-07-14 Brent Fulgham <bfulgham@apple.com>
[iOS & Mac Big Sur Release] Two SOAuthorizationSubFrame API tests are failing
https://bugs.webkit.org/show_bug.cgi?id=227925
<rdar://problem/80543830>
Reviewed by Kate Cheney.
In Bug 227729 I added a number of extra tests that an Extensible SSO delegate method
was called. I did a search/paste and added them to all SSO flows without much detailed
analysis. Testing shows that on Simulator, these delegate are not always called, perhaps
because the test case involves loads to live websites that might take longer than the
hard-coded timeout used to move to the next step of the test.
Because these failures are slowing down our EWS, I'm removing these two checks. We
can consider adding them back if we need such checks in the future.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(TestWebKitAPI::TEST):
2021-07-14 Kevin Neal <kevin_neal@apple.com>
[Tools] linkify first line of commit message in tooltip
https://bugs.webkit.org/show_bug.cgi?id=227968
<rdar://problem/80596878>
Reviewed by Jonathan Bedard.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(xAxisFromScale):
2021-07-14 Keith Miller <keith_miller@apple.com>
Convert small JIT pool tests into executable fuzzing
https://bugs.webkit.org/show_bug.cgi?id=226279
Reviewed by Michael Saboff.
Right now, we try to test our engine on a small JIT pool. This isn't a known configuration for any
actual ports and causes issues if we run out of JIT memory when we need to compile an OSR exit.
Instead of testing such a small pool we should just fuzz each executable allocation that says it
can fail.
The current fuzzing doesn't do a good job tracking the number of DFG/FTL compiles when allocations
fail, so when enabled those tests will just exit early. Also, right now we use a random seed picked
by the engine for these tests, which makes it hard to reproduce crashes on the bots. If we see
flakiness on the bots we can have the harness pass in a number so it gets logged in the repro command.
* Scripts/jsc-stress-test-helpers/js-executable-allocation-fuzz:
* Scripts/run-jsc-stress-tests:
2021-07-14 Aakash Jain <aakash_jain@apple.com>
Add step name and description to InstallBuiltProduct build step
https://bugs.webkit.org/show_bug.cgi?id=227935
Reviewed by Carlos Alberto Lopez Perez.
* CISupport/build-webkit-org/steps.py:
(InstallBuiltProduct):
* CISupport/ews-build/steps.py:
(InstallBuiltProduct):
2021-07-13 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Handle failed `git log` process
https://bugs.webkit.org/show_bug.cgi?id=227709
<rdar://problem/80520002>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.Cache.populate): Do not populate cache if `git log` fails.
2021-07-13 Alex Christensen <achristensen@webkit.org>
>4K Referer should have tailing /
https://bugs.webkit.org/show_bug.cgi?id=227795
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
2021-07-13 Said Abou-Hallawa <said@apple.com>
[CG] REGRESSION(r278863): The destination rectangle is truncated when the sub-image is used
https://bugs.webkit.org/show_bug.cgi?id=227614
<rdar://79840643>
Reviewed by Simon Fraser.
Add an API test to test drawing an ImageBuffer into another and both
have the logicalSize scaled such that they have pixels.
* TestWebKitAPI/Tests/WebCore/ImageBufferTests.cpp:
(TestWebKitAPI::TEST):
2021-07-13 Kevin Neal <kevin_neal@apple.com>
[results.webkit.org] linkify urls in commit messages
https://bugs.webkit.org/show_bug.cgi?id=227549
<rdar://problem/79988762>
Reviewed by Jonathan Bedard.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/commit.js:
(thead.tbody.rows.map.):
(thead.tbody.rows.map):
(CommitTable):
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/common.js:
2021-07-13 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Upload layout-tests results immediately after running layout-tests
https://bugs.webkit.org/show_bug.cgi?id=227889
Reviewed by Carlos Alberto Lopez Perez.
* CISupport/build-webkit-org/factories.py:
2021-07-13 Kate Cheney <katherine_cheney@apple.com>
Allow layout tests to specify app initiated loads or not
https://bugs.webkit.org/show_bug.cgi?id=227825
<rdar://problem/80355582>
Reviewed by Brent Fulgham.
Add a test option that specifies whether the test should mark the
main page navigation as app-initiated or not.
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
(WTR::TestOptions::keyTypeMapping):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::isAppInitiated const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
2021-07-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Expose support for client certificate auth
https://bugs.webkit.org/show_bug.cgi?id=200805
Reviewed by Michael Catanzaro.
Add a simple implementation in MiniBrowser using a file chooser to ask for the certificate from a file and unit
tests for the client certificate request. Unfortunately we can't easily test pin certificates.
* MiniBrowser/gtk/BrowserTab.c:
(certificateDialogResponse):
(webViewAuthenticate):
(browserTabConstructed):
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(ClientSideCertificateTest::acceptCertificateCallback):
(ClientSideCertificateTest::requestStartedCallback):
(ClientSideCertificateTest::authenticateCallback):
(ClientSideCertificateTest::ClientSideCertificateTest):
(ClientSideCertificateTest::~ClientSideCertificateTest):
(ClientSideCertificateTest::authenticate):
(ClientSideCertificateTest::acceptCertificate):
(ClientSideCertificateTest::waitForAuthenticationRequest):
(testClientSideCertificate):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h:
(WebKitTestServer::soupServer const):
2021-07-12 Filip Pizlo <fpizlo@apple.com> and Yusuke Suzuki <ysuzuki@apple.com>
New malloc algorithm
https://bugs.webkit.org/show_bug.cgi?id=226404
Reviewed by Yusuke Suzuki.
Disable the IsoHeap tests if we're using libpas. Libpas has its own tests.
* TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp:
2021-07-12 Garrett Davidson <garrett_davidson@apple.com>
_WKWebAuthenticationPanel escapes slashes in origin
https://bugs.webkit.org/show_bug.cgi?id=227724
rdar://80232742
Reviewed by Kate Cheney.
Update both the makeCredential and getAssertion tests to use an origin.
WebAuthenticationPanel.GetAssertionLA:
This test wasn't using an origin or RPID. Update it to use both. This means both
clientDataJSON and authenticatorData changed. Update both to the new expected
values, using as much plaintext as possible.
WebAuthenticationPanel.MakeCredentialLA:
This test should have caught this issue, but the origin being passed here isn't
valid, because it didn't have a scheme. Per the WebAuthn spec, origins used by
WebAuthn MUST start with "https://". Also update this test to use plaintext
instead of base64 for clientDataJSON.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
2021-07-12 Tim Horton <timothy_horton@apple.com>
BifurcatedGraphicsContext can't draw text
https://bugs.webkit.org/show_bug.cgi?id=227883
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebCore/cg/BifurcatedGraphicsContextTestsCG.cpp:
(TestWebKitAPI::TEST):
Add a test ensuring that we get DrawGlyphs commands on both contexts.
2021-07-12 Jonathan Bedard <jbedard@apple.com>
[run-api-tests] Use Python 3 (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=225427
<rdar://problem/77584713>
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/steps.py:
(RunAPITests): Use Python3 to invoke run-api-tests.
* CISupport/ews-build/steps.py:
(RunAPITests): Use Python3 to invoke run-api-tests.
* CISupport/ews-build/steps_unittest.py:
2021-07-12 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] Add a new GTK layout tester bot to build.webkit.org that runs with --skip-failing-tests switch
https://bugs.webkit.org/show_bug.cgi?id=227744
Reviewed by Jonathan Bedard.
On the EWS the layout tests run with this switch --skip-failing-tests
which changes the order in which tests are run (those expected to fail
are not scheduled). I think this may be causing different results on
other tests (like unexpected failures or unexpected flakies).
Having a bot in build.webkit.org running with this switch will help
to detect and garden those cases.
* CISupport/build-webkit-org/config.json:
2021-07-12 Jer Noble <jer.noble@apple.com>
[Cocoa] Incorrect deprecation declaration for -[WKWebView closeAllMediaPresentations:]
https://bugs.webkit.org/show_bug.cgi?id=227860
<rdar://80376777>
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
(TEST):
2021-07-12 Wenson Hsieh <wenson_hsieh@apple.com>
[watchOS] Make a few additional adjustments to support system minimum layout margins
https://bugs.webkit.org/show_bug.cgi?id=227859
rdar://80113612
Reviewed by Tim Horton.
Add support for simulating arbitrary horizontal (trailing and leading) values for `-systemMinimumLayoutMargin`
in WebKitTestRunner, via a new "horizontalSystemMinimumLayoutMargin" test option. By default, this is 0.
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
(WTR::TestOptions::keyTypeMapping):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::horizontalSystemMinimumLayoutMargin const):
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(-[PlatformWebViewController systemMinimumLayoutMargins]):
Override this UIViewController method and replace the leading and trailing layout margin values with the values
from test options.
(WTR::PlatformWebView::PlatformWebView):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
Additionally make a slight adjustment here to avoid calling `-setContentInset` on the scroll view in between
tests if the content insets aren't changing. This is needed in order for the new layout test to work on watchOS.
2021-07-09 Myles C. Maxfield <mmaxfield@apple.com>
SVGImageForContainer reports true for is<SVGImage>() but it doesn't inherit from SVGImage
https://bugs.webkit.org/show_bug.cgi?id=227807
Reviewed by Said Abou-Hallawa.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/SVGImageCasts.cpp: Added.
(TestWebKitAPI::TEST):
2021-07-09 Carlos Alberto Lopez Perez <clopez@igalia.com>
[webkitcorepy] run-webkit-tests may hang with python2 after r271683
https://bugs.webkit.org/show_bug.cgi?id=227715
Reviewed by Philippe Normand.
When an exception is raised from a worker if the workers are terminated
via a SIGKILL signal that later causes the task-queue to hang at close().
The issue is not reproducible with python3. So keep the same behaviour for
python3, and for python2 just use terminate() to stop the workers.
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(TaskPool.__exit__):
2021-07-08 Yijia Huang <yijia_huang@apple.com>
Add Yijia Huang as a committer
https://bugs.webkit.org/show_bug.cgi?id=227814
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-07-08 Brent Fulgham <bfulgham@apple.com>
[Cocoa] Expose SPI to opt out of Extensible SSO authentication
https://bugs.webkit.org/show_bug.cgi?id=227729
<rdar://problem/75647892>
Reviewed by Tim Horton.
Add a new test to confirm that Extenstible SSO authentication flows are bypassed when the new WKPreference
is used. Updated other tests to confirm that the SSO delegate is called when expected.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(-[TestSOAuthorizationDelegate _webView:decidePolicyForSOAuthorizationLoadWithCurrentPolicy:forExtension:completionHandler:]):
(resetState):
(TestWebKitAPI::TEST):
2021-07-08 Kate Cheney <katherine_cheney@apple.com>
Clean up App Privacy Report code
https://bugs.webkit.org/show_bug.cgi?id=227326
<rdar://problem/79696849>
Reviewed by Brent Fulgham.
Delete testing functions related to attribution context. Move App
Privacy Report tests into their own file.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm: Added.
(TEST):
(catch):
(function):
(-[SWAppInitiatedRequestMessageHandler userContentController:didReceiveScriptMessage:]):
* TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReportPlugIn.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacyPlugIn.mm.
(-[AppPrivacyReportPlugIn webProcessPlugInBrowserContextController:frame:willSendRequestForResource:request:redirectResponse:]):
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[SWAppBoundRequestMessageHandler userContentController:didReceiveScriptMessage:]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/app-privacy-report-iframe.html: Added.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::didLoadAppInitiatedRequest):
(WTR::TestRunner::didLoadNonAppInitiatedRequest):
(WTR::TestRunner::appBoundRequestContextDataForDomain): Deleted.
(WTR::TestRunner::callDidReceiveAppBoundRequestContextDataForDomainCallback): Deleted.
(WTR::TestRunner::didLoadAppBoundRequest): Deleted.
(WTR::TestRunner::didLoadNonAppBoundRequest): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::didLoadAppInitiatedRequest):
(WTR::TestController::didLoadNonAppInitiatedRequest):
(WTR::TestController::clearAppPrivacyReportTestingData):
(WTR::TestController::appBoundRequestContextDataForDomain): Deleted.
(WTR::TestController::didLoadAppBoundRequest): Deleted.
(WTR::TestController::didLoadNonAppBoundRequest): Deleted.
(WTR::TestController::clearAppBoundNavigationData): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveAppBoundRequestContextDataForDomain): Deleted.
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::didLoadAppInitiatedRequest):
(WTR::TestController::didLoadNonAppInitiatedRequest):
(WTR::TestController::clearAppPrivacyReportTestingData):
(WTR::TestController::appBoundRequestContextDataForDomain): Deleted.
(WTR::TestController::didLoadAppBoundRequest): Deleted.
(WTR::TestController::didLoadNonAppBoundRequest): Deleted.
(WTR::TestController::clearAppBoundNavigationData): Deleted.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _didLoadAppInitiatedRequest:]):
(-[TestRunnerWKWebView _didLoadNonAppInitiatedRequest:]):
(-[TestRunnerWKWebView _appBoundNavigationDataForDomain:completionHandler:]): Deleted.
(-[TestRunnerWKWebView _didLoadAppBoundRequest:]): Deleted.
(-[TestRunnerWKWebView _didLoadNonAppBoundRequest:]): Deleted.
2021-07-08 Garrett Davidson <garrett_davidson@apple.com>
Update the WebAuthenticationPanel.GetAssertionLA test to expect the right value
https://bugs.webkit.org/show_bug.cgi?id=227726
rdar://80073404
Reviewed by Kate Cheney.
This test covers the changed code, but expects the wrong value. The existing
expectation was the base64 encoded string:
{"challenge":"AQIDBAECAwQBAgMEAQIDBAECAwQBAgMEAQIDBAECAwQ","origin":"","type":"webauthn.create"}
The "type" field is clearly incorrect here. Update the test to expect the right
value, and change the expectation to a plaintext string instead of base64 encoded,
to make issues like this easier to spot in the future.
While here, also remove an outdated comment.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
2021-07-07 John Wilander <wilander@apple.com>
PCM: Add error logging for CryptoKit operations
https://bugs.webkit.org/show_bug.cgi?id=227731
<rdar://80221057>
Reviewed by Brent Fulgham.
Resolves three FIXMEs for error logging in PCM's CryptoKit operations.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
Now expects an optional string instead of a bool from the function
calls which means EXPECT_TRUE has become EXPECT_FALSE. The optional
string is non-nullopt if it carries an error message.
* TestWebKitAPI/Tests/WebCore/cocoa/PrivateClickMeasurementCocoa.mm:
(TestWebKitAPI::TEST):
Now expects an optional string instead of a bool from the function
calls which means EXPECT_TRUE has become EXPECT_FALSE. The optional
string is non-nullopt if it carries an error message.
2021-07-07 John Wilander <wilander@apple.com>
PCM: API test PrivateClickMeasurement.ValidBlindedSecret is failing on platforms with RSABSSA
https://bugs.webkit.org/show_bug.cgi?id=227777
<rdar://80291822>
Reviewed by Kate Cheney.
* TestWebKitAPI/Tests/WebCore/cocoa/PrivateClickMeasurementCocoa.mm:
(TestWebKitAPI::TEST):
The test was looking for the value of JSON key "source_secret_token"
which should be "source_unlinkable_token". This patch fixes that and
renames the local variable accordingly.
2021-07-07 Ling Ho <lingho@apple.com>
Remove proxy server setting from Buildbot configuration
https://bugs.webkit.org/show_bug.cgi?id=227768
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/steps.py:
(DownloadBuiltProduct.start):
2021-07-07 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Add unit-tests for RunWebKit1Tests
https://bugs.webkit.org/show_bug.cgi?id=227658
Reviewed by Alexey Proskuryakov.
* CISupport/build-webkit-org/steps_unittest.py:
2021-07-06 Harshil Ratnu <hratnu@apple.com>
Add myself (Harshil Ratnu) to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=227653
Reviewed by Devin Rousso.
* Scripts/webkitpy/common/config/contributors.json: Added myself.
2021-07-06 Alex Christensen <achristensen@webkit.org>
loadSimulatedRequest: should do same delegate callbacks as loadHTMLString and loadData
https://bugs.webkit.org/show_bug.cgi?id=227599
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
(TEST):
2021-07-05 Philippe Normand <pnormand@igalia.com>
[GTK] Installs in wrong directory on the bots
https://bugs.webkit.org/show_bug.cgi?id=227684
Reviewed by Aakash Jain.
The patch landed in r279563 induced a typo in the installation prefix path option passed to
build-webkit. Then the built-product-archive was failing to find the header andn pkgconfig
files to pack. This patch fixes the issue.
* CISupport/build-webkit-org/steps.py:
(CompileWebKit.start):
* CISupport/build-webkit-org/steps_unittest.py:
(TestCompileWebKit.test_success_gtk):
2021-07-05 Philippe Normand <pnormand@igalia.com>
[GTK] Pack header and .pc files in the built-product archive
https://bugs.webkit.org/show_bug.cgi?id=227526
Reviewed by Michael Catanzaro.
The header files and pkg-config files needed to build WebKitGTK apps are now included in the
built product zip file. As they're text files the impact on the zip size should not be
significant. In order to support this, two changes are introduced for the GTK build bot:
- build-webkit is now called with a --prefix option
- a new build step has been added, which installs the built files in the given prefix directory
Then built-product-archive can simply pack files from the install prefix directory.
Additionally the .a (potentially big) files are now excluded from the zip archive.
* CISupport/build-webkit-org/factories.py:
(BuildFactory.__init__):
* CISupport/build-webkit-org/steps.py:
(CompileWebKit.start):
(InstallBuiltProduct):
* CISupport/built-product-archive:
* Scripts/install-built-product: Added.
2021-07-04 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Augment -_webView:didNotHandleTapAsMeaningfulClickAtPoint: to include meaningful taps
https://bugs.webkit.org/show_bug.cgi?id=227666
rdar://80094962
Reviewed by Tim Horton.
Update the layout test harness to use the replacement SPI instead of the newly deprecated SPI. See
WebKit/ChangeLog for more details.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::installDidHandleTapCallback):
(WTR::TestRunner::callDidHandleTapCallback):
(WTR::TestRunner::installDidNotHandleTapAsMeaningfulClickCallback): Deleted.
(WTR::TestRunner::callDidNotHandleTapAsMeaningfulClickCallback): Deleted.
Rename this to just DidHandleTapCallback, and make it take a boolean argument indicating whether the tap was
handled as a meaningful click.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didHandleTap):
(WTR::TestController::didNotHandleTapAsMeaningfulClick): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didHandleTap):
(WTR::TestInvocation::didNotHandleTapAsMeaningfulClick): Deleted.
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _didTapAtPoint:withResult:]):
(-[TestRunnerWKWebView _didNotHandleTapAsMeaningfulClickAtPoint:]): Deleted.
2021-07-04 Ben Nham <nham@apple.com>
Add support for parsing Competitive PLT results to compare-results
https://bugs.webkit.org/show_bug.cgi?id=227470
Reviewed by Per Arne Vollan.
Modify the script to understand the competitive PLT JSON results produced by the perf bots.
* Scripts/compare-results:
(plt5Breakdown):
(competitivePLTBreakdown):
(PLT5Results):
(detectCompetitivePLT):
(CompetitivePLTResults):
(CompetitivePLTResults.calculate_time_for_run):
(detectBenchmark):
(biggerIsBetter):
(main):
2021-07-02 Aakash Jain <aakash_jain@apple.com>
Delete unused BuildSlaveSupport symlink
https://bugs.webkit.org/show_bug.cgi?id=227644
Reviewed by Dewei Zhu.
* BuildSlaveSupport: Symlink removed.
2021-07-02 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r279494.
https://bugs.webkit.org/show_bug.cgi?id=227628
Broke api test
TestWebKitAPI.WKWebView.LoadSimulatedRequestUpdatesBackForwardList
Reverted changeset:
"loadSimulatedRequest: should do same delegate callbacks as
loadHTMLString and loadData"
https://bugs.webkit.org/show_bug.cgi?id=227599
https://commits.webkit.org/r279494
2021-07-02 Xabier Rodriguez Calvar <calvaris@igalia.com>
[GTK] media/event-attributes.html fails if mixer is not at 100%
https://bugs.webkit.org/show_bug.cgi?id=83704
Reviewed by Philippe Normand.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues): GStreamer
ports use fakesink to avoid sound output and setting the page
volume to 0 creates trouble with volume events. Let's avoid it in
GStreamer ports.
2021-07-01 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Set software_variant from runtime
https://bugs.webkit.org/show_bug.cgi?id=227600
<rdar://problem/80052263>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/xcode/device_type.py:
(DeviceType._define_software_variant_from_hardware_family):
(DeviceType.check_consistency):
(DeviceType.__contains__):
* Scripts/webkitpy/xcode/device_type_unittest.py:
(DeviceTypeTest.test_from_string):
(DeviceTypeTest.test_contained_in):
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._create_device_with_runtime):
2021-07-01 Alex Christensen <achristensen@webkit.org>
loadSimulatedRequest: should do same delegate callbacks as loadHTMLString and loadData
https://bugs.webkit.org/show_bug.cgi?id=227599
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
(TEST):
2021-07-01 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Cache identifiers in Git checkouts (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=225616
<rdar://problem/77789230>
Reviewed by Dewei Zhu.
Python 2's Subprocess is 10x slower than Python 3, which means generating
the cache is impractical in Python 2.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.__init__): Disable cache on Python 2 by default.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(test_cache): Force Git to use cache.
(test_revision_cache): Ditto.
2021-07-01 Jonathan Bedard <jbedard@apple.com>
[clean-webkit] Exclude autoinstalled directory
https://bugs.webkit.org/show_bug.cgi?id=227588
<rdar://problem/80033943>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.discard_untracked_files): Never discard the autoinstalled directory.
2021-07-01 Ryan Haddad <ryanhaddad@apple.com>
[Stress Test EWS] Temporarily disable GuardMalloc test mode to avoid false positives
https://bugs.webkit.org/show_bug.cgi?id=227595
Reviewed by Aakash Jain.
Since the infrastructure issue in webkit.org/b/227365 is causing false positives on this queue,
disable it until we can investigate and address the root cause.
* CISupport/ews-build/factories.py:
(StressTestFactory.__init__):
* CISupport/ews-build/factories_unittest.py:
(TestStressTestFactory.test_stress_test_factory):
2021-07-01 Wenson Hsieh <wenson_hsieh@apple.com>
Selecting or dragging images that contain recognizable text is difficult in Mail compose
https://bugs.webkit.org/show_bug.cgi?id=227544
Reviewed by Devin Rousso.
See WebKit/ChangeLog for more details.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
Link against VisionKitCore on iOS 15+ and macOS 12+.
* TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig:
Update WebKitTargetConditionals to be consistent with the other target conditions in WebKit, so that we can use
`IOS_SINCE_15` in TestWebKitAPI.xcconfig.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm: Added.
Add new API tests that trigger the image analysis gesture recognizer and check whether or not we requested image
analysis from VisionKit.
(TestWebKitAPI::swizzledLocationInView):
(TestWebKitAPI::swizzledProcessRequest):
2021-07-01 Philippe Normand <pnormand@igalia.com>
[WPE] Pack Cog modules in built-product archive
https://bugs.webkit.org/show_bug.cgi?id=227527
Reviewed by Žan Doberšek.
* CISupport/built-product-archive: Cog now ships its platform plugins in a dedicated modules
directory, which we need to include in the zip archive.
2021-06-30 Chris Dumez <cdumez@apple.com>
Regression(r278737): WebContent crash when calling [WKWebView loadHTMLString:] with an invalid URL
https://bugs.webkit.org/show_bug.cgi?id=227560
<rdar://79815425>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
(TEST):
2021-06-30 Saam Barati <sbarati@apple.com>
Turn off data ICs by default
https://bugs.webkit.org/show_bug.cgi?id=227334
<rdar://problem/79802812>
Reviewed by Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
2021-06-30 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Cache identifiers in Git checkouts
https://bugs.webkit.org/show_bug.cgi?id=225616
<rdar://problem/77789230>
Reviewed by Dewei Zhu.
Computing identifiers in git can be slow, especially if you need to compute
multiple. Caching all identifiers for a branch is not much more expensive than calculating a single identifier. Additionally, caching all identifiers
lets us build a performant subversion mapping, bypassing git-svn.
* Scripts/libraries/webkitcorepy/setup.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.Cache): Class holding a cache allowing quick mapping between hashes, identifiers and revisions.
(Git.Cache.__init__): Load cache from json file on disk.
(Git.Cache.path): Path to location of cache on disk.
(Git.Cache._fill): Populate revision and hash to identifier dictionaries.
(Git.Cache.populate): Parse git-log and populate cache.
(Git.Cache.hash): Given an identifier or revision, find the hash.
(Git.Cache.revision): Given an identifier or hash, find the revision.
(Git.Cache.identifier): Given a hash or revision, determine the identifier.
(Git.__init__): Instantiate cache.
(Git.commit): Check cache before running expensive commands.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Add `git log` mock.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_tag): Surpress logging.
(TestGit.test_checkout): Ditto.
(TestGit.test_no_log): Ditto.
(TestGit.test_order): Ditto.
(test_cache): Verify identifier cache.
(test_revision_cache): Verify revision cache.
* Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
(SummarizedResultsTest.test_svn_revision_git): Surpress logging.
* Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_commits_for_upload_git_svn): Surpress logging.
2021-06-30 Megan Gardner <megan_gardner@apple.com>
Add ID and versioning support for AppHighlights
https://bugs.webkit.org/show_bug.cgi?id=227279
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKAppHighlights.mm:
(TestWebKitAPI::createAppHighlightWithHTML):
(TestWebKitAPI::createWebViewForAppHighlightsWithHTML):
(TestWebKitAPI::TEST):
2021-06-30 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] [Live Text] "Text from Camera" should not be shown in callout bar when selecting text
https://bugs.webkit.org/show_bug.cgi?id=227535
rdar://79936981
Reviewed by Devin Rousso.
Add an API test to exercise the change. See WebKit ChangeLog for more detail.
* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
(canPerformActionWithSender):
(TEST):
2021-06-30 Zhifei Fang <zhifei_fang@apple.com>
[webkit.css] make the active tab more obvious
https://bugs.webkit.org/show_bug.cgi?id=227515
Reviewed by Jonathan Bedard.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.tabs .tab.active .link):
2021-06-29 Zhifei Fang <zhifei_fang@apple.com>
Add new argument of device os version for reporting JavaScriptCore test result
https://bugs.webkit.org/show_bug.cgi?id=227363
Reviewed by Dewei Zhu.
* Scripts/run-javascriptcore-tests:
(configurationForUpload):
2021-06-29 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add NestedFuzzyDict
https://bugs.webkit.org/show_bug.cgi?id=227150
<rdar://problem/79475464>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/nested_fuzzy_dict.py: Added.
(NestedFuzzyDict):
(NestedFuzzyDict.assert_valid_key): Ensure that the provided key is fuzz-able.
(NestedFuzzyDict.__init__): Construct the object the same way a dictionary is constructed.
(NestedFuzzyDict.__getitem__): Split provided keyname and fuzzy match the second part.
(NestedFuzzyDict.get): Ditto.
(NestedFuzzyDict.getitem): Return the complete keyname and value.
(NestedFuzzyDict.__setitem__): Add value to dictionary.
(NestedFuzzyDict.update): Given a dictionary, insert it's contents into this object.
(NestedFuzzyDict.keys): Iterate through all keys in the object.
(NestedFuzzyDict.values): Iterate through all values in the object.
(NestedFuzzyDict.items): Iterate through all key/value pairs in the object.
(NestedFuzzyDict.dict): Return a standard dictionary with the contents of this object.
(NestedFuzzyDict.__repr__):
(NestedFuzzyDict.__str__):
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/nested_fuzzy_dict_unittest.py: Added.
(TestNestedFuzzyDict):
(TestNestedFuzzyDict.test_constructor):
(TestNestedFuzzyDict.test_index):
(TestNestedFuzzyDict.test_get):
(TestNestedFuzzyDict.test_getitem):
(TestNestedFuzzyDict.test_set):
(TestNestedFuzzyDict.test_dict):
2021-06-29 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add MeasureTime python tool
https://bugs.webkit.org/show_bug.cgi?id=227313
<rdar://problem/79689588>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Export MeasureTime object.
* Scripts/libraries/webkitcorepy/webkitcorepy/measure_time.py: Added.
(MeasureTime): Provide class which logs time elapsed in context.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/measure_time_unittest.py: Added.
(MeasureTimeTests):
2021-06-28 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r279310): Occasional crash when focusing login fields on iPad with a software keyboard
https://bugs.webkit.org/show_bug.cgi?id=227472
rdar://79876040
Reviewed by Tim Horton.
Make it possible to induce the crash (prior to the fix) by introducing two new testing primitives on iOS:
- `UIScriptController.suppressSoftwareKeyboard`, a readwrite attribute that can be used to suppress the
appearance of the software keyboard on iOS by calling `-[WKWebView _setSuppressSoftwareKeyboard:]`.
- `UIScriptController.willStartInputSessionCallback`, a callback that is invoked when we're about to start a
UI-process-side input session. On iOS, this corresponds to
`-[_WKInputDelegate _webView:willStartInputSession:`].
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptContext.h:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::suppressSoftwareKeyboard const):
(WTR::UIScriptController::setSuppressSoftwareKeyboard):
* TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp:
(WTR::UIScriptController::setWillStartInputSessionCallback):
(WTR::UIScriptController::willStartInputSessionCallback const):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView initWithFrame:configuration:]):
(-[TestRunnerWKWebView resetInteractionCallbacks]):
(-[TestRunnerWKWebView _webView:willStartInputSession:]):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
Make sure that we revert `_suppressSoftwareKeyboard` to `NO`, in case a layout test ends while leaving this on,
to prevent subsequent layout tests from behaving in unexpected ways.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::setWillStartInputSessionCallback):
(WTR::UIScriptControllerIOS::suppressSoftwareKeyboard const):
(WTR::UIScriptControllerIOS::setSuppressSoftwareKeyboard):
2021-06-28 W.D. Xiong <w_xiong@apple.com>
Add wdx to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=227466
Unreviewed
* Scripts/webkitpy/common/config/contributors.json: Add wdx as committer
2021-06-28 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add test suite with temp directory
https://bugs.webkit.org/show_bug.cgi?id=227327
<rdar://problem/79697909>
Reviewed by Stephanie Lewis.
We had some duplicated code which set up, then cleaned up a temporary
directory associated with a test. This should really be owned by a
base class shared between multiple test suites.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/testing.py: Added.
(PathTestCase): Create a temporary directory before a test starts, delete it after.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py:
(TestCanonicalize): Adopt PathTestCase.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:
(TestCheckout): Adopt PathTestCase.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
(TestFind): Adopt PathTestCase.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit): Adopt PathTestCase.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/scm_unittest.py:
(TestScm): Adopt PathTestCase.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_git_svn_unittest.py:
(TestSetupGitSvn): Adopt PathTestCase.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn): Adopt PathTestCase.
2021-06-28 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Fix race condition in TaskPool unittests
https://bugs.webkit.org/show_bug.cgi?id=227455
<rdar://problem/79873003>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py:
(TaskPoolUnittest.test_invalid_shutdown): Increase worker load to 5 seconds.
2021-06-28 Alex Christensen <achristensen@webkit.org>
RELEASE_ASSERT hit in NetworkSessionCocoa::removeWebSocketTask when using WKWebViewConfiguration._attributedBundleIdentifier
https://bugs.webkit.org/show_bug.cgi?id=227420
<rdar://79609212>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/WebSocket.mm:
(TestWebKitAPI::TEST):
2021-06-28 Sam Weinig <weinig@apple.com>
Add helpers to create Spans from CFDataRef and NSData
https://bugs.webkit.org/show_bug.cgi?id=227217
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/cf/SpanCF.cpp: Added.
* TestWebKitAPI/Tests/WTF/cocoa/SpanCocoa.mm: Added.
Add tests for new asBytes() overloads.
2021-06-28 Philippe Normand <pnormand@igalia.com>
[webkitpy] Test timeouts not properly detected when running layout tests with Python 3
https://bugs.webkit.org/show_bug.cgi?id=227442
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/port/driver.py:
(Driver._check_for_driver_timeout): out_line contains a byte string, so test it as such.
2021-06-28 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MiniBrowser: add an option to enable the web process sandbox
https://bugs.webkit.org/show_bug.cgi?id=227343
Reviewed by Michael Catanzaro.
* MiniBrowser/gtk/main.c:
(activate):
(main):
2021-06-28 Daniel Kolesa <dkolesa@igalia.com>
[GTK][WPE] Add libvpx to jhbuild
https://bugs.webkit.org/show_bug.cgi?id=227437
Reviewed by Philippe Normand.
* jhbuild/jhbuild-minimal.modules:
2021-06-25 Myles C. Maxfield <mmaxfield@apple.com>
[macOS] -[NSString _web_widthWithFont:] returns 0
https://bugs.webkit.org/show_bug.cgi?id=227385
<rdar://problem/79430938>
Reviewed by Simon Fraser.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/StringWidth.mm: Added.
(TEST):
2021-06-25 Ziran Sun <zsun@igalia.com>
Add myself to contributor list
https://bugs.webkit.org/show_bug.cgi?id=227400
Reviewed by Sergio Villar Senin.
* Scripts/webkitpy/common/config/contributors.json:
2021-06-24 Kate Cheney <katherine_cheney@apple.com>
WKWebView loadSimulatedRequest does not set attribution value for url requests within html content
https://bugs.webkit.org/show_bug.cgi?id=227266
<rdar://problem/79316911>
Reviewed by Brent Fulgham.
API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2021-06-24 Sihui Liu <sihui_liu@apple.com>
IndexedDB prints error log about blob files when there is no error
https://bugs.webkit.org/show_bug.cgi?id=227092
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/StoreBlobThenDelete.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/StoreBlobToBeDeleted.html:
2021-06-24 Philippe Normand <pnormand@igalia.com>
[WPE] Uninstalled Cog now requires a COG_MODULEDIR environment variable
https://bugs.webkit.org/show_bug.cgi?id=227351
Reviewed by Adrian Perez de Castro.
Renamed the cog_path() method to cog_path_to() which requires a file_or_directory argument.
This is useful when setting the COG_MODULEDIR environment variable.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.cog_path_to):
(WPEPort.browser_name):
(WPEPort.browser_env):
(WPEPort.run_minibrowser):
(WPEPort.cog_path): Deleted.
2021-06-24 Martin Robinson <mrobinson@webkit.org>
[css-scroll-snap] Remove ENABLE_SCROLL_SNAP compile-time option
https://bugs.webkit.org/show_bug.cgi?id=227067
Reviewed by Simon Fraser.
Remove compile-time ENABLE_SCROLL_SNAP configuration option.
* Scripts/webkitperl/FeatureList.pm: Remove the option from the list of features.
2021-06-24 Enrique Ocaña González <eocanha@igalia.com>
[GTK] media/muted-video-is-playing-audio.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=208321
Reviewed by Xabier Rodriguez-Calvar.
Set the WebKitTestRunnerWPE application name on user-agent to ease the
detection of the WPE port from the layout tests using the isWPE()
function in platform-helper.js.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformConfigureViewForTest): Set WebKitTestRunnerWPE application name on user-agent.
2021-06-23 Zan Dobersek <zdobersek@igalia.com>
[WPE] WebKitGLibAPITestsCore should more explicitly link against library dependencies
https://bugs.webkit.org/show_bug.cgi?id=227288
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/glib/CMakeLists.txt: Set up the WebKitGLibAPITestsCore_LIBRARIES
variable, use that for the target_link_libraries() call for the
WebKitGLibAPITestsCore target.
* TestWebKitAPI/glib/PlatformWPE.cmake: Extent the new variable to also
explicitly include Cairo and WPEToolingBackends libraries.
2021-06-23 Kate Cheney <katherine_cheney@apple.com>
Migrate App Privacy Report code from WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=227045
<rdar://problem/74333287>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2021-06-23 Andres Gonzalez <andresg_22@apple.com>
Accessibility support for image text recognition.
https://bugs.webkit.org/show_bug.cgi?id=224280
rdar://76348740
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::children const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::children const):
(WTR::AccessibilityUIElement::imageOverlayElements const):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::children const):
(WTR::AccessibilityUIElement::imageOverlayElements const):
2021-06-23 Chris Dumez <cdumez@apple.com>
Update WPT tools from upstream
https://bugs.webkit.org/show_bug.cgi?id=227255
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.__init__):
The WPT server requires Python v3 to run so fallback to python3 executable if
the python executable is v2.
2021-06-22 Jonathan Bedard <jbedard@apple.com>
[results.webkit.org] XSS vulnerability in configuration
https://bugs.webkit.org/show_bug.cgi?id=227267
<rdar://problem/74876210>
Reviewed by Dewei Zhu.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/drawer.js: Escape configuration specification.
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
2021-06-22 Saam Barati <sbarati@apple.com>
jitCompileAndSetHeuristics shouldn't return true when we fail to compile
https://bugs.webkit.org/show_bug.cgi?id=227155
Reviewed by Tadeu Zagallo.
* Scripts/run-jsc-stress-tests:
2021-06-22 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r279083.
Broke Mac Builds
Reverted changeset:
"Migrate App Privacy Report code from WebKitAdditions"
https://bugs.webkit.org/show_bug.cgi?id=227045
https://commits.webkit.org/r279083
2021-06-22 Kimmo Kinnunen <kkinnunen@apple.com>
Functions dispatched to WorkQueue are sometimes destroyed in the calling thread due to block refcounting
https://bugs.webkit.org/show_bug.cgi?id=227160
Reviewed by Antti Koivisto.
Test that the Function passed to WorkQueue::dispatch
is always destroyed in the WorkQueue. Test by using the
knowledge that WorkQueues use threads.
Start up many WorkQueues to create more thread contention
to ensure that the dispatched-from thread is sometimes not
run while the thread of the queue finishes processing
the dispatch.
* TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
(TestWebKitAPI::TEST):
2021-06-22 Kimmo Kinnunen <kkinnunen@apple.com>
Test runner parses the names of value parametrised GTEST tests wrong
https://bugs.webkit.org/show_bug.cgi?id=227207
Reviewed by Jonathan Bedard.
Fix the parsing of test names.
* Scripts/webkitpy/api_tests/manager_unittest.py:
Add a test for the parsing.
* Scripts/webkitpy/api_tests/manager.py:
(Manager._test_list_from_output):
Fix the test name parsing.
The name is printed as:
ValueParametrizedTestsSupported/DogGreen # GetParam() = (Dog, Green)
* TestWebKitAPI/Test.h:
(TestWebKitAPI::TestParametersToStringFormatter::operator() const):
Add a general-purpose formatter for all value-parametrized tests
to use.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/Misc/TestRunnerTests.cpp: Added.
(TestWebKitAPI::TEST_P):
Add a value-parametrized test testing the test runner.
2021-06-21 Chris Dumez <cdumez@apple.com>
[WK2] Don't process-swap on navigations within the same non-HTTP(s) protocol
https://bugs.webkit.org/show_bug.cgi?id=227220
<rdar://79106461>
Unreviewed follow-up to fix GTK test that started failing after the behavior
change in r279079.
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebExtensionPageID):
2021-06-21 Jonathan Bedard <jbedard@apple.com>
[results.webkit.org] XSS vulnerability in test name
https://bugs.webkit.org/show_bug.cgi?id=227235
<rdar://problem/77851775>
Reviewed by Alexey Proskuryakov.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/archiveRouter.js:
(_ArchiveRouter.prototype.labelFor): Escape any HTML in a potential label.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/common.js:
(escapeHTML): If an object is undefined, don't attempt to escape it.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/configuration.js:
(Configuration.prototype.toString): Escape configuration parameters.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/investigate.html:
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/search.html:
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/suite_results.html:
* Scripts/libraries/resultsdbpy/setup.py:
2021-06-21 Kate Cheney <katherine_cheney@apple.com>
Migrate App Privacy Report code from WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=227045
<rdar://problem/74333287>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2021-06-21 Chris Dumez <cdumez@apple.com>
[WK2] Don't process-swap on navigations within the same non-HTTP(s) protocol
https://bugs.webkit.org/show_bug.cgi?id=227220
Reviewed by Tim Horton.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2021-06-21 Alex Christensen <achristensen@webkit.org>
Break ref cycle between API::HTTPCookieStore and WebKit::WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=226992
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
2021-06-21 Kimmo Kinnunen <kkinnunen@apple.com>
makeUnique cannot be used to instantiate function-local classes
https://bugs.webkit.org/show_bug.cgi?id=227163
Reviewed by Antti Koivisto.
Test that WTF_MAKE_FAST_ALLOCATED and similar macros work in function
local classes.
* TestWebKitAPI/Tests/WTF/StdLibExtras.cpp:
(TestWebKitAPI::TEST):
2021-06-21 Alex Christensen <achristensen@webkit.org>
REGRESSION (r275496): WebSocket Message too long when message is larger than 1mb
https://bugs.webkit.org/show_bug.cgi?id=227030
<rdar://problem/79370994>
Reviewed by Youenn Fablet.
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WebSocket.mm: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::Connection::receiveBytes const):
2021-06-21 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Adopt autoinstaller (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=227096
<rdar://problem/79418080>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/resultsdbpy/container: Fix libraries path.
* Scripts/libraries/resultsdbpy/run: Ditto.
* Scripts/libraries/resultsdbpy/run-tests: Ditto.
2021-06-19 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r278699.
https://bugs.webkit.org/show_bug.cgi?id=227174
Regressed JetStream2/WSL
Reverted changeset:
"[JSC] Remove useDataICInOptimizingJIT option"
https://bugs.webkit.org/show_bug.cgi?id=226862
https://trac.webkit.org/changeset/278699
2021-06-18 Philippe Normand <pnormand@igalia.com>
[MSE][GStreamer] Soundcloud serves MP4 audio with empty tfdt boxes
https://bugs.webkit.org/show_bug.cgi?id=191419
Reviewed by Michael Catanzaro.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST): Add a test for the soundcloud quirk.
2021-06-17 Mark Lam <mark.lam@apple.com>
Define MacroAssemblerARM64E::numberOfPACBits based on OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH).
https://bugs.webkit.org/show_bug.cgi?id=227147
rdar://78785309
Reviewed by Saam Barati.
* TestWebKitAPI/Tests/WTF/Packed.cpp:
2021-06-17 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] WTF.ParseInteger and WTF.ParseIntegerAllowingTrailingJunk are failing
https://bugs.webkit.org/show_bug.cgi?id=227090
Reviewed by Yusuke Suzuki.
* TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
(TestWebKitAPI::AllowMixedSignednessTest::run):
2021-06-17 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Adopt autoinstaller
https://bugs.webkit.org/show_bug.cgi?id=227096
<rdar://problem/79418080>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/resultsdbpy/container: Moved from insdie library.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Register required libraries.
* Scripts/libraries/resultsdbpy/resultsdbpy/container: Moved to containing folder.
* Scripts/libraries/resultsdbpy/resultsdbpy/example/main.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/run: Moved to containing folder.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/view_routes_unittest.py: Use specific imports
* Scripts/libraries/resultsdbpy/run: Moved from insdie library.
* Scripts/libraries/resultsdbpy/run-tests: Use autoinstalled libraries.
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
2021-06-17 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Retry downloads in Autoinstall
https://bugs.webkit.org/show_bug.cgi?id=227134
<rdar://problem/79462182>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.Archive.download): Retry failed downloads
(AutoInstall): Allow for a single retry by default
2021-06-17 Chris Dumez <cdumez@apple.com>
Trying to take empty snapshots of the view should not cause crashes
https://bugs.webkit.org/show_bug.cgi?id=227133
Reviewed by Tim Horton.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(TEST):
2021-06-17 W.D. Xiong <w_xiong@apple.com>
[iOS 15] Add iOS 15 simulator/device to bot watchers' dashboard
https://bugs.webkit.org/show_bug.cgi?id=226779
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS15.png: Added.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS15Simulator.png: Added.
* CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: Added references to iOS 15 device + simulator, shifted ordering down
* CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: Added references to iOS 15 device + simulator
(table.queue-grid tr.platform.ios-simulator-15 img.logo):
(table.queue-grid tr.platform.ios-15 img.logo):
2021-06-17 W.D. Xiong <w_xiong@apple.com>
[watchOS 8] Add watchOS 8 simulator/device to bot watchers' dashboard
https://bugs.webkit.org/show_bug.cgi?id=226781
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOS8.png: Added.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOSSimulator8.png: Added.
* CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: Added references for watchOS 8 device + simulator; shifted order down for Windows platforms to make room
* CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: Added references for watchOS 8 device + simulator
(table.queue-grid tr.platform.watchos-simulator-8 img.logo):
(table.queue-grid tr.platform.watchos-8 img.logo):
2021-06-17 W.D. Xiong <w_xiong@apple.com>
[tvOS 15] Add tvOS 15 simulator/device to bot watchers' dashboard
https://bugs.webkit.org/show_bug.cgi?id=226782
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/public_html/dashboard/Images/TvOS15.png: Added.
* CISupport/build-webkit-org/public_html/dashboard/Images/TvOS15Simulator.png: Added.
* CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: Added references to tvOS 15 device + simulator
* CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: Added references to tvOS 15 device + simulator
(table.queue-grid tr.platform.tvos-simulator-15 img.logo):
(table.queue-grid tr.platform.tvos-15 img.logo):
2021-06-17 W.D. Xiong <w_xiong@apple.com>
[Monterey] Add Seed 1 to bot watchers' dashboard
https://bugs.webkit.org/show_bug.cgi?id=226747
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/public_html/dashboard/Images/Monterey.png: Added.
* CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: Added Monterey
* CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: Added Monterey
(table.queue-grid tr.platform.macos-monterey img.logo):
2021-06-17 Per Arne Vollan <pvollan@apple.com>
[Win] Exception running layout tests
https://bugs.webkit.org/show_bug.cgi?id=227114
Reviewed by Jonathan Bedard.
Catch exception and print warning message.
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(TaskPool.__exit__):
2021-06-17 Alex Christensen <achristensen@webkit.org>
Remove empty header WebTypesInternal.h
https://bugs.webkit.org/show_bug.cgi?id=227094
Reviewed by Fujii Hironori.
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
* DumpRenderTree/mac/DumpRenderTreePasteboard.h:
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
* DumpRenderTree/mac/TextInputControllerMac.m:
2021-06-17 Alex Christensen <achristensen@webkit.org>
WKScriptMessageHandlerWithReply should raise an exception if replyHandler is called twice
https://bugs.webkit.org/show_bug.cgi?id=226863
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(-[AsyncScriptMessageHandler userContentController:didReceiveScriptMessage:replyHandler:]):
2021-06-17 Eric Carlson <eric.carlson@apple.com>
[Mac EWS] TestWebKitAPI.WebKit.AudioBufferSize is flaky timing out on EWS
https://bugs.webkit.org/show_bug.cgi?id=227046
<rdar://problem/79360787>
Unreviewed, fix broken test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add audio-buffer-size.html
to the Copy Resources step so tests can use it.
2021-06-17 Aakash Jain <aakash_jain@apple.com>
[ews] Improve build summary about finding flaky test in ReRunWebKitTests
https://bugs.webkit.org/show_bug.cgi?id=227123
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(ReRunWebKitTests.evaluateCommand):
* CISupport/ews-build/steps_unittest.py:
2021-06-17 David Kilzer <ddkilzer@apple.com>
REGRESSION (r278536): Wrong comment character used in coverage.xcconfig
* coverage/coverage.xcconfig:
- Change '#' to '//' to fix the comment.
2021-06-17 Oriol Brufau <obrufau@igalia.com>
[css-logical] Implement logical property groups
https://bugs.webkit.org/show_bug.cgi?id=226878
Reviewed by Antti Koivisto.
Add validator for new codegen property "logical-property-group",
replacing the old "direction-aware-property".
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.validate_logical_property_group):
(JSONCSSPropertiesChecker.check_codegen_properties):
2021-06-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GLIB] Pass a GTlsCertificate to soup_server_new()
https://bugs.webkit.org/show_bug.cgi?id=227023
Reviewed by Michael Catanzaro.
Instead of using soup_server_set_ssl_cert_file() that will be removed from libsoup soon.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer):
2021-06-17 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] TestWTF.WTF_WeakPtr.WeakHashMapIterators is crashing
https://bugs.webkit.org/show_bug.cgi?id=227102
Reviewed by Ryosuke Niwa.
A heap corruption was detected while a Derived class object was
destroyed as a Base class object.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::Base::~Base): Made Base class dtor virtual.
(TestWebKitAPI::Derived::~Derived):
2021-06-16 Jonathan Bedard <jbedard@apple.com>
Clean up how platform images are handled in the bot watchers' dashboard
https://bugs.webkit.org/show_bug.cgi?id=226989
Patch by W.D. Xiong.
Renamed the _@2x.png files to _.png and removed old platforms that don't have queues anymore. Also renamed WatchOSSimulator7 to WatchOS7Simulator
* CISupport/build-webkit-org/public_html/dashboard/Images/BigSur.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/BigSur@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/BigSur@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Catalina.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/Catalina@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/Catalina@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/ElCapitan.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/ElCapitan@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/GTK.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/GTK@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/GTK@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/HighSierra.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/HighSierra@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS10.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS10@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS10Simulator.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS10Simulator@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS11.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS11@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS11Simulator.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS11Simulator@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS12.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS12@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS12Simulator.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS12Simulator@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS13.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS13@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS13Simulator.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS13Simulator@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS14.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/IOS14@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS14@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS14Simulator.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/IOS14Simulator@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS14Simulator@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS9.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS9@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS9Simulator.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOS9Simulator@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOSDevice.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/IOSDevice@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOSDevice@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOSSimulator.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/IOSSimulator@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/IOSSimulator@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Mavericks.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Mavericks@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Mojave.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/Mojave@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/Mojave@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/MountainLion.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/MountainLion@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/MountainLion@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/PlatformRing.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/PlatformRing@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/PlatformRing@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Sierra.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Sierra@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/SquirrelFish.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/SquirrelFish@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/SquirrelFish@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/TvOS13.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/TvOS13@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/TvOS13Simulator.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/TvOS13Simulator@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/TvOS14.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/TvOS14@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/TvOS14@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/TvOS14Simulator.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/TvOS14Simulator@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/TvOS14Simulator@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/WPE.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/WPE@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/WPE@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOS6.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOS6@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOS7.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/WatchOS7@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOS7@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOS7Simulator.png: Copied from Tools/CISupport/build-webkit-org/public_html/dashboard/Images/WatchOSSimulator7@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOSSimulator6.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/WatchOSSimulator6@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOSSimulator6@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOSSimulator7.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/WatchOSSimulator7@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Windows10.png: Replaced with Tools/CISupport/build-webkit-org/public_html/dashboard/Images/Windows10@2x.png.
* CISupport/build-webkit-org/public_html/dashboard/Images/Windows10@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Windows7.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Windows7@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Windows8.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Windows8@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/WindowsXP.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/WindowsXP@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Yosemite.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Images/Yosemite@2x.png: Removed.
* CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: Applied above changes
(table.queue-grid td.logo img.ring):
(table.queue-grid tr.platform.ios-simulator-14 img.logo):
(table.queue-grid tr.platform.ios-14 img.logo):
(table.queue-grid tr.platform.tvos-simulator-14 img.logo):
(table.queue-grid tr.platform.tvos-14 img.logo):
(table.queue-grid tr.platform.watchos-simulator-7 img.logo):
(table.queue-grid tr.platform.watchos-7 img.logo):
(table.queue-grid tr.platform.macos-catalina img.logo):
(table.queue-grid tr.platform.macos-bigsur img.logo):
(table.queue-grid tr.platform.wincairo-windows-10 img.logo):
(table.queue-grid tr.platform.windows-10 img.logo):
(table.queue-grid tr.platform.windows-7 img.logo):
(table.queue-grid tr.platform.linux-gtk img.logo):
(table.queue-grid tr.platform.linux-wpe img.logo):
(table.queue-grid tr.platform.linux-jsconly img.logo):
2021-06-16 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support branch queries in mock git log
https://bugs.webkit.org/show_bug.cgi?id=225889
<rdar://problem/78122705>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Add support for branches in
`git log` commands.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_log):
(TestGit.test_branch_log):
2021-06-16 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Cache more Git commands
https://bugs.webkit.org/show_bug.cgi?id=227082
<rdar://problem/79405244>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.__init__): Reset branch cache.
(Git.default_branch): Memoize default_branch call.
(Git.branch): Prefer branch cache.
(Git.checkout): Reset branch cache.
2021-06-16 Alicia Boya García <aboya@igalia.com>
[WTF] DataMutex: Assert on double locking on the same thread
https://bugs.webkit.org/show_bug.cgi?id=227069
Reviewed by Xabier Rodriguez-Calvar.
Update expectations to include the fixed test.
* TestWebKitAPI/glib/TestExpectations.json:
2021-06-15 Alex Christensen <achristensen@webkit.org>
Allow legacy SecurityOrigin behavior for x-apple-ql-id2 scheme
https://bugs.webkit.org/show_bug.cgi?id=226993
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
(TestWebKitAPI::TEST_F):
2021-06-15 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Handle auth failures
https://bugs.webkit.org/show_bug.cgi?id=226999
<rdar://problem/79313850>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py:
(credentials): We should attempt to retrieve credentials, even if they
are not requested because retrieving credentials does not prompt the user.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.request): In the event we get a 400 error from the GitHub API,
attempt forcing authentication before reporting an error.
2021-06-15 Alex Christensen <achristensen@webkit.org>
Check for "xn--" in any subdomain when parsing URL hosts
https://bugs.webkit.org/show_bug.cgi?id=226912
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
These tests used to hit UIDNA_ERROR_LABEL_TOO_LONG which is allowed now.
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
This test, from r262171, needs to verify that non-ASCII characters are not truncated to ASCII values when converting to NSURL.
It used to use an invalid URL that had a host that ended in U+FE63 (SMALL HYPHEN-MINUS) which would fail because of UIDNA_ERROR_TRAILING_HYPHEN.
Now that trailing hyphens are allowed, we end in U+0661 and U+06F1 which fail because of UIDNA_ERROR_BIDI which makes this test still verify
the non-truncated values of an invalid host converted to an NSURL.
2021-06-15 Jonathan Bedard <jbedard@apple.com>
[iOS 15] Support building WebKit
https://bugs.webkit.org/show_bug.cgi?id=227002
<rdar://problem/79316598>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: Remove unneeded import.
2021-06-15 Diego Pino Garcia <dpino@igalia.com>
[GTK] Unreviewed test gardening. Gardened three API GTK test failures.
These tests were constant failures in EWS and were slowing down the
bot. The tests are the following:
- /WebKit2Gtk/TestContextMenu:/webkit/WebKitWebPage/context-menu.
- /WebKit2Gtk/TestContextMenu:/webkit/WebKitWebPage/context-menu-node.
- /TestWTF:WTF_DataMutex.DoubleLockDeathTest.
* TestWebKitAPI/glib/TestExpectations.json:
2021-06-14 Keith Miller <keith_miller@apple.com>
run-javascriptcore-tests should print output when a test binary fails by default
https://bugs.webkit.org/show_bug.cgi?id=226985
Reviewed by Mark Lam.
* Scripts/run-javascriptcore-tests:
(runTest):
2021-06-14 Ryan Haddad <ryanhaddad@apple.com>
Bring up an Apple-BigSur-AppleSilicon-Release-Test262-Tests queue
https://bugs.webkit.org/show_bug.cgi?id=226602
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/config.json:
* CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
2021-06-14 Kimmo Kinnunen <kkinnunen@apple.com>
AcceleratedImageBuffer not instantiated but objects are punned to the type
https://bugs.webkit.org/show_bug.cgi?id=226917
Reviewed by Said Abou-Hallawa.
Add new test
TestWebKitAPI.ImageBufferTests.ImageBufferSubTypeCreateCreatesSubtypes
to test that the code compiles.
Before, it would fail with:
`error: cannot initialize a member subobject of type 'typename PtrTraits::StorageType' (aka 'WebCore::AcceleratedImageBuffer *') with an
rvalue of type 'WebCore::ConcreteImageBuffer<WebCore::ImageBufferIOSurfaceBackend> *'`
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ImageBufferTests.cpp: Added.
(TestWebKitAPI::TEST):
2021-06-11 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][DumpRenderTree] --no-timeout switch doesn't work
https://bugs.webkit.org/show_bug.cgi?id=226913
Reviewed by Don Olmstead.
r177542 added a variable 'useTimeoutWatchdog', but used nowhere.
* DumpRenderTree/win/DumpRenderTree.cpp:
* DumpRenderTree/win/DumpRenderTreeWin.h:
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setWaitToDump): Check useTimeoutWatchdog to start the timer.
2021-06-11 Ryosuke Niwa <rniwa@webkit.org>
Add WeakHashMap
https://bugs.webkit.org/show_bug.cgi?id=226872
Reviewed by Geoffrey Garen.
Added unit tests for WeakHashMap.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::computeSizeOfWeakHashSet): Deleted the unused variant.
(WTF_WeakPtr.WeakHashSetExpansion): Deleted the superflous for loop.
(TestWebKitAPI::computeSizeOfWeakHashMap): Added.
(TestWebKitAPI::ValueObject): Added.
(TestWebKitAPI::ValueObject::create):
(TestWebKitAPI::ValueObject::~ValueObject):
(TestWebKitAPI::ValueObject::ValueObject):
(WTF_WeakPtr.WeakHashMapBasic): Added.
(WTF_WeakPtr.WeakHashMapConstObjects): Added.
(WTF_WeakPtr.WeakHashMapExpansion): Added.
(WTF_WeakPtr.WeakHashMapRemoveNullReferences): Added.
(TestWebKitAPI::collectKeyValuePairsUsingIterators): Added.
(WTF_WeakPtr.WeakHashMapIterators): Added.
(WTF_WeakPtr.WeakHashMapAmortizedCleanup): Added.
2021-06-11 Chris Dumez <cdumez@apple.com>
Unreviewed small API test failure fix after r278786.
* TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST):
2021-06-11 Alex Christensen <achristensen@webkit.org>
Partition CrossOriginPreflightResultCache by SessionID
https://bugs.webkit.org/show_bug.cgi?id=226910
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
2021-06-11 Peng Liu <peng.liu6@apple.com>
Fix the references to audio-buffer-size.html in project.pbxproj
https://bugs.webkit.org/show_bug.cgi?id=226932
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2021-06-11 Jonathan Bedard <jbedard@apple.com>
[Monterey] Support building WebKit
https://bugs.webkit.org/show_bug.cgi?id=226846
<rdar://problem/79095148>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add CoreCryptoSPI.h.
* TestWebKitAPI/Tests/WebCore/cocoa/CoreCryptoSPI.h: Added.
* TestWebKitAPI/Tests/WebCore/cocoa/PrivateClickMeasurementCocoa.mm: Import CoreCryptoSPI.h.
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: Ditto.
2021-06-11 Devin Rousso <drousso@apple.com>
Add an option to Copy WebKit Permalink that automatically opens the URL in the default browser for Sublime Text
https://bugs.webkit.org/show_bug.cgi?id=226933
Reviewed by Tim Horton.
Usually the step right after copying the permalink is to open a browser and enter it. Having
a setting that causes the plugin to do that automatically would save some time and effort.
* CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py:
(Settings.automatically_open_in_browser): Added.
(CopyWebKitPermalinkCommand.run):
* CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.sublime-settings:
2021-06-11 Jonathan Bedard <jbedard@apple.com>
[check-webkit-style] failing in JS checker due to python byte string
https://bugs.webkit.org/show_bug.cgi?id=226925
<rdar://problem/79166108>
Reviewed by Aakash Jain.
* Scripts/webkitpy/style/checkers/jstest.py:
(map_functions_to_dict): Use byte regexes.
(strip_trailing_blank_lines_and_comments): Ditto.
* Scripts/webkitpy/style/checkers/jstest_unittest.py:
(JSTestCheckerTestCase.test_map_functions_to_dict): Test content should be bytes.
2021-06-11 Truitt Savell <tsavell@apple.com>
Remove ews129 instead of ews179
https://bugs.webkit.org/show_bug.cgi?id=226855
Reviewed by Jonathan Bedard.
* CISupport/ews-build/config.json:
2021-06-11 Megan Gardner <megan_gardner@apple.com>
Rename AppHighlight group to QuickNote to correctly reflect feature.
https://bugs.webkit.org/show_bug.cgi?id=226888
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
(TEST):
2021-06-11 Jonathan Bedard <jbedard@apple.com>
REGRESSION (r278454): [run-webkit-tests] worker is printed twice for each test in debug logging
https://bugs.webkit.org/show_bug.cgi?id=226895
<rdar://problem/79164077>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(Worker.run_tests): Strip process names from debug logs.
(Worker.stop): Ditto.
(Worker._kill_driver): Ditto.
(Worker._clean_up_after_test): Ditto.
2021-06-10 Alex Christensen <achristensen@webkit.org>
Origin is null in http requests when baseURL has custom scheme on iOS 15.0
https://bugs.webkit.org/show_bug.cgi?id=226760
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
(TEST):
2021-06-10 Chris Fleizach <cfleizach@apple.com>
AX: TestWebKitAPI.WebKit.AccessibilityReduceMotion failing on iOS
https://bugs.webkit.org/show_bug.cgi?id=226758
<rdar://problem/78984253>
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/AccessibilityIncreaseContrast.mm: Added.
(-[WKPreferenceObserverForTestingIncreaseContrast preferenceDidChange:key:encodedValue:]):
(TEST):
2021-06-10 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] 6x performance improvement in Memoized
https://bugs.webkit.org/show_bug.cgi?id=226891
<rdar://problem/79151940>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py:
(Memoize.__call__.decorator): inspect.getargspec retrieves many bits of
information about the function we don't care about. Retrieve arguments manually
(and only do it once) to increase performance of Memoized function calls.
2021-06-10 Philippe Normand <pnormand@igalia.com>
[WPE] Enable Cog for developer builds
https://bugs.webkit.org/show_bug.cgi?id=224360
Reviewed by Adrian Perez de Castro.
* PlatformWPE.cmake: Enable X11 support in Cog. Re-enable headless support in Cog. Map
libsoup configuration in Cog with the one used by the WebKit build.
2021-06-10 Truitt Savell <tsavell@apple.com>
Remove Ews179 and bot279 from configs
https://bugs.webkit.org/show_bug.cgi?id=226855
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/config.json:
* CISupport/ews-build/config.json:
2021-06-10 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Remove useDataICInOptimizingJIT option
https://bugs.webkit.org/show_bug.cgi?id=226862
Reviewed by Mark Lam.
* Scripts/run-jsc-stress-tests:
2021-06-09 Sergio Villar Senin <svillar@igalia.com>
Add email address for Igalia's WebKit layout team to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=226829
Reviewed by Simon Fraser.
* Scripts/webkitpy/common/config/contributors.json:
2021-06-09 Chris Gambrell <cgambrell@apple.com>
Add personal email to Tools/Scripts/webkitpy/common/config/contributors.json
https://bugs.webkit.org/show_bug.cgi?id=226845
<rdar://problem/79095492>
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/config/contributors.json:
2021-06-09 Dewei Zhu <dewei_zhu@apple.com>
HTTP server should run with the same python executable as run-benchmark script.
https://bugs.webkit.org/show_bug.cgi?id=226834
Reviewed by Jonathan Bedard.
'SimpleHTTPServerDriver._ensure_http_server_dependencies' will not work if the
python version used by run-benchmark is not the same as the one invokes http server.
Remove python modules no longer needed by http server.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver._ensure_http_server_dependencies):
2021-06-09 Fujii Hironori <Hironori.Fujii@sony.com>
CISupport/test-result-archive script reports "SyntaxError: invalid syntax" with Python 3
https://bugs.webkit.org/show_bug.cgi?id=226797
Reviewed by Jonathan Bedard.
* CISupport/test-result-archive:
(archive_test_results): Replaced the old syntax with 'as' for
'except' clauses.
2021-06-08 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Use DataIC for AccessCase
https://bugs.webkit.org/show_bug.cgi?id=226072
Reviewed by Saam Barati and Filip Pizlo.
* Scripts/run-jsc-stress-tests:
2021-06-08 Dewei Zhu <dewei_zhu@apple.com>
Increase http server launch timeout on run-benchmark script.
https://bugs.webkit.org/show_bug.cgi?id=226801
Reviewed by Ryosuke Niwa.
Installing twisted module in http server may take longer than 7.5 seconds.
Increase the timeout to be 31.5 seconds and add an early terminate if http server
process is not running.
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
Removed unused import.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.serve):
2021-06-08 Fujii Hironori <Hironori.Fujii@sony.com>
run-webkit-tests: TaskPool reports PicklingError for Windows Python
https://bugs.webkit.org/show_bug.cgi?id=226710
Reviewed by Jonathan Bedard.
Since r278454 changed run-webkit-tests to use TaskPool,
run-webkit-tests reported PicklingError for Windows Python. It
couldn't pickle Port object. This issue happened on multi-core PC,
but on single CPU tester bot machines.
WrappedPopen couldn't be pickled because it was defined as an
inner class. It should be defined at the top-level.
The instance variables _web_platform_test_server,
_websocket_server_temporary_directory, and
_websocket_secure_server of Port object aren't pickleable. Make
them class variables.
* Scripts/webkitpy/common/system/executive.py:
(WrappedPopen):
(Executive.WrappedPopen):
* Scripts/webkitpy/port/base.py:
(Port):
(Port.__init__):
(Port.ports_to_forward):
(Port.is_websocket_server_running):
(Port.is_wpt_server_running):
(Port.start_websocket_server):
(Port.start_web_platform_test_server):
(Port.stop_websocket_server):
(Port.stop_web_platform_test_server):
2021-06-08 Antti Koivisto <antti@apple.com>
Factor MarkedText collection out of LegacyInlineTextBox
https://bugs.webkit.org/show_bug.cgi?id=226731
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebCore/MarkedText.cpp:
(TestWebKitAPI::TEST):
2021-06-09 Ryan Haddad <ryanhaddad@apple.com>
[test-webkit-lldb] 3 dump_class_layout_unittest.TestDumpClassLayout tests failing with Xcode 12.5
https://bugs.webkit.org/show_bug.cgi?id=226540
Unreviewed test gardening.
* lldb/dump_class_layout_unittest.py: Rebaseline tests.
2021-06-08 Sam Weinig <weinig@apple.com>
Add copy of std::span so that we can use it pre-moving to c++20
https://bugs.webkit.org/show_bug.cgi?id=226351
Reviewed by Alex Christensen.
Add basic WTF::Span test to make sure things compile and work.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Span.cpp: Added.
2021-06-08 Sam Weinig <weinig@apple.com>
Move some hand rolled CSSProperty predicates to be generated based on new CSSProperties.json properties
https://bugs.webkit.org/show_bug.cgi?id=226768
Reviewed by Antti Koivisto.
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check_codegen_properties):
Add new codegen properties to the checker.
2021-06-08 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Enable network access in the WPE build sandbox
https://bugs.webkit.org/show_bug.cgi?id=225914
Reviewed by Michael Catanzaro.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Allow network access for WPE build jobs, so that CMake is
able to git checkout Cog from github.
2021-06-08 Jean-Yves Avenard <jya@apple.com>
Update jya's email address
https://bugs.webkit.org/show_bug.cgi?id=226752
Reviewed by Tim Horton.
* Scripts/webkitpy/common/config/contributors.json:
2021-06-08 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Allow custom build directories
https://bugs.webkit.org/show_bug.cgi?id=226142
Reviewed by Adrian Perez de Castro.
By default the build directory remains WebKitBuild/{GTK,WPE}/{Release,Debug}. Builds done
with the Flatpak SDK now support the standard WEBKIT_OUTPUTDIR environment variable, eg.
setting $WEBKIT_OUTPUTDIR to "/path/to/somewhere", the built files will end up in
/path/to/somewhere/{GTK,WPE}/Release.
* flatpak/flatpakutils.py:
(WebkitFlatpak.clean_args):
2021-06-07 Jean-Yves Avenard <jya@apple.com>
Update jya's email address
https://bugs.webkit.org/show_bug.cgi?id=226752
Reviewed by Tim Horton.
* Scripts/webkitpy/common/config/contributors.json:
2021-06-07 Alex Christensen <achristensen@webkit.org>
Adopt SecTrustGetCertificateAtIndex replacement where available
https://bugs.webkit.org/show_bug.cgi?id=225893
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(verifyCertificateAndPublicKey):
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2021-06-07 Wenson Hsieh <wenson_hsieh@apple.com>
Upstream WebKit support for Live Text
https://bugs.webkit.org/show_bug.cgi?id=226706
<rdar://problem/78933684>
Reviewed by Tim Horton.
Replace IMAGE_EXTRACTION with IMAGE_ANALYSIS.
* TestWebKitAPI/Tests/WebKit/InjectedBundleHitTest.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
* TestWebKitAPI/Tests/mac/ImmediateActionTests.mm:
2021-06-07 Fujii Hironori <Hironori.Fujii@sony.com>
Windows Python 2.7 fails to install tblib-1.7.0 due to "TypeError: environment can only contain strings"
https://bugs.webkit.org/show_bug.cgi?id=226707
Reviewed by Jonathan Bedard.
WinCairo port is still using Python 2.7 that has ascii strings and
unicode strings. WinPort.setup_crash_log_saving modifies
_NT_SYMBOL_PATH env var to have a unicode string. So, after
setup_crash_log_saving, AutoInstall failed due to the unicode
string in os.environ.
* Scripts/webkitpy/port/win.py:
(WinPort.setup_crash_log_saving): Convert self._build_path() to a
ascii string with str().
2021-06-07 Fujii Hironori <Hironori.Fujii@sony.com>
run-webkit-test should use python2 for wpt serve until the latest will be imported
https://bugs.webkit.org/show_bug.cgi?id=226703
Reviewed by Jonathan Bedard.
The current imported wpt.py doesn't support Python 3 yet. Use
Python 2 temporarily.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.__init__):
2021-06-07 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] Find-in-page should match text inside image overlays
https://bugs.webkit.org/show_bug.cgi?id=226704
Reviewed by Tim Horton.
Add an API test to verify that text inside image overlays is visible to find-in-page.
* TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
2021-06-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Signal "window-object-cleared" not emitted unless frame js context is get before
https://bugs.webkit.org/show_bug.cgi?id=221771
Reviewed by Michael Catanzaro.
Update window-object-cleared test to check that the signal is emitted for the WebKitScriptWorld objects created
by the extension.
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(UserMessageTest::sendMessage):
(UserMessageTest::viewUserMessageReceived):
(UserMessageTest::waitUntilViewMessagesReceived):
(UserMessageTest::waitUntilViewMessageReceived):
(testWebExtensionWindowObjectCleared):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(windowObjectCleared):
(isolatedWorldWindowObjectCleared):
(webkit_web_extension_initialize_with_user_data):
2021-06-06 Darin Adler <darin@apple.com>
Handle custom identifiers and strings separately, so we can quote strings correctly consistently
https://bugs.webkit.org/show_bug.cgi?id=226694
Reviewed by Sam Weinig.
* TestRunnerShared/TestFeatures.cpp:
(WTR::parseTestHeader): Fixed a missing quote that made a log message read strangely.
2021-06-06 David Kilzer <ddkilzer@apple.com>
Unexport llvm coverage symbols to fix build
<https://webkit.org/b/226684>
<rdar://problem/78906691>
Reviewed by Darin Adler.
* Scripts/check-for-weak-vtables-and-externals:
- Revert change from r278444. That fixes errors when
this script is run, but the Generate TAPI build phase
for some projects still fails due to the new weak
external symbols.
* coverage/coverage.xcconfig:
(UNEXPORTED_SYMBOL_LDFLAGS_FOR_COVERAGE): Add.
- Linker flags to unexport llvm symbols added by the
compiler for coverage.
(OTHER_LDFLAGS):
- Add $(UNEXPORTED_SYMBOL_LDFLAGS_FOR_COVERAGE) to list
of switches to unexport the symbols during linking.
2021-06-04 Chris Dumez <cdumez@apple.com>
FileSystem::readFromFile() should return data as `void*`
https://bugs.webkit.org/show_bug.cgi?id=226671
Reviewed by Darin Adler.
FileSystem::readFromFile() should return data as `void*` instead of `char*`. This is more flexible and
consistent with FileSystem::writeToFile().
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::readContentsOfFile):
2021-06-04 Chris Dumez <cdumez@apple.com>
Use Vector<uint8_t> instead of Vector<char> to store bytes in SharedBuffer
https://bugs.webkit.org/show_bug.cgi?id=226623
Reviewed by Darin Adler.
Use Vector<uint8_t> instead of Vector<char> to store bytes in SharedBuffer. Also have SharedBuffer::data()
return a `const uint8_t*` instead of `const char*`. This is our preferred type to store bytes.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkBuffer):
2021-06-04 Alex Christensen <achristensen@webkit.org>
Make attributedBundleIdendifier a property for WKWebViewConfiguration instead of _WKWebsiteDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=226548
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
2021-06-04 Martin Robinson <mrobinson@webkit.org>
The CMake cache is removed when specifying a build target
https://bugs.webkit.org/show_bug.cgi?id=226642
Reviewed by Jonathan Bedard.
* Scripts/webkitdirs.pm:
(shouldRemoveCMakeCache): Only remove the CMake cache when arguments
that start with a dash change.
2021-06-04 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK][WPE] Expose setCORSDisablingPatterns
https://bugs.webkit.org/show_bug.cgi?id=219995
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewCORSAllowlist):
(beforeAll):
2021-06-04 Aakash Jain <aakash_jain@apple.com>
[ews] Speed up ews status bubble loading speed
https://bugs.webkit.org/show_bug.cgi?id=214821
Reviewed by Jonathan Bedard.
This change does a trade-off between accuracy of queue position vs status-bubble loading time.
This would reduce the calculations needed for queue position computation, but the position
might not be accurate if the queue has a backlog of more than 12 hours (which shouldn't be
the case normally). If the backlog is less than 12 hours, then the queue position will be accurate.
Also, this patch separates the logic of when to hide the status-bubble. Status-bubble will now be hidden
after 7 days of no build. However, if patch is waiting for more than 12 hours, but less than 7 days,
instead of computing the exact queue position, we do not display queue position.
* CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
(StatusBubble._build_bubble):
(StatusBubble._queue_position):
2021-06-04 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Use webkitcorepy's TaskPool
https://bugs.webkit.org/show_bug.cgi?id=226234
<rdar://problem/78471695>
Reviewed by Dewei Zhu.
* Scripts/run-webkit-tests: Stop using multiprocessing_bootstrap.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(setup_shard): Run setup in Worker process.
(handle_started_test): Notify parent process that a test has started.
(run_shard): Run test shard in Worker process.
(handle_finished_test): Notify parent process that a test has finished.
(teardown_shard): Teardown worker process metadata.
(LayoutTestRunner.__init__): Make printer public.
(LayoutTestRunner.run_tests): Use TaskPool to spawn multiple workers.
(LayoutTestRunner.update_summary_with_result): Renamed from
_update_summary_with_result, strip unused arguments.
(LayoutTestRunner._annotate_results_with_additional_failures): Strip
unused arguments.
(LayoutTestRunner.start_servers): Make printer public.
(LayoutTestRunner.stop_servers): Ditto.
(Worker.setup): Instantiate singleton worker.
(Worker.teardown): Teardown singleton worker.
(Worker.__init__): Pass port object, remove unused variable.
(Worker.run_tests): Use TaskPool process name.
(Worker.stop): Ditto.
(Worker._kill_driver): Use port options, use TaskPool process name.
(Worker._run_test_with_or_without_timeout): Ditto.
(Worker._clean_up_after_test): Use TaskPool process name.
(Worker._run_test_in_another_thread): Ditto.
(Worker._run_test_in_this_thread): Ditto.
(Worker._run_single_test): Use port options.
(LayoutTestRunner._worker_factory): Deleted.
(LayoutTestRunner._handle_did_spawn_worker): Deleted.
(LayoutTestRunner._update_summary_with_result): Deleted.
(LayoutTestRunner.handle): Deleted.
(LayoutTestRunner._handle_started_test): Deleted.
(LayoutTestRunner._handle_finished_test): Deleted.
(LayoutTestRunner._handle_finished_test_group): Deleted.
(Worker.__del__): Deleted.
(Worker.start): Deleted.
(Worker.handle): Deleted.
(Worker._run_test): Deleted.
(Worker._finished_test_group): Deleted.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(LayoutTestRunnerTests.test_update_summary_with_result): The runner keeps track of it's state.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py: Remove call to main.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.serial_test_basic): Run all tests in the same process.
(RunTest.test_hung_thread): Deleted.
* Scripts/webkitpy/port/base.py:
(Port.worker_startup_delay_secs): Deleted.
* Scripts/webkitpy/port/test.py:
(Port.worker_startup_delay_secs): Deleted.
2021-06-04 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MiniBrowser: add support for saving multiple tabs in session state
https://bugs.webkit.org/show_bug.cgi?id=225763
Reviewed by Michael Catanzaro.
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowSaveSession):
(browserWindowTryClose):
(browserWindowFinalize):
(browserWindowDispose):
(browser_window_load_session):
2021-06-03 Said Abou-Hallawa <said@apple.com>
[MotionMark] Controller.filterOutOutliers() sorts the frameLengths array incorrectly
https://bugs.webkit.org/show_bug.cgi?id=226605
<rdar://77350238>
Reviewed by Simon Fraser.
Update MotionMark 1.1 to use the version r278436.
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
2021-06-03 David Kilzer <ddkilzer@apple.com>
Weak external symbols found when building with Release+Coverage configuration
<https://webkit.org/b/226562>
<rdar://problem/78765608>
Reviewed by Jonathan Bedard.
* Scripts/check-for-weak-vtables-and-externals:
- Ignore weak symbols from llvm when building with
coverage enabled. This fixes the build.
* Scripts/webkitdirs.pm:
(XcodeOptions):
- Switch to using XcodeCoverageSupportOptions() so
`make` and `build-webkit` both use the same
configuration.
(XcodeCoverageSupportOptions):
- Remove old Xcode variables from 2008 in favor of
passing `-xcconfig Tools/coverage/coverage.xcconfig`.
* coverage/coverage.xcconfig:
(OTHER_CPLUSPLUSFLAGS):
- Remove OTHER_CPLUSPLUSFLAGS since this just caused
duplicate command-line switches to be used when
compiling C++ sources.
2021-06-03 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r278356.
https://bugs.webkit.org/show_bug.cgi?id=226606
"Breaks jsc tests".
Reverted changeset:
"Convert small JIT pool tests into executable fuzzing"
https://bugs.webkit.org/show_bug.cgi?id=226279
https://trac.webkit.org/changeset/278356
2021-06-03 Jean-Yves Avenard <jya@apple.com>
Add MediaSessionCoordinator test to ensure that disconnection on the private side is properly handled.
https://bugs.webkit.org/show_bug.cgi?id=226568
rdar://problem/78801408
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(-[_WKMockMediaSessionCoordinator sessionStateChanged:]): Add method to signal
change in coordinator state.
(TestWebKitAPI::TEST_F): Add test.
2021-06-02 Rob Buis <rbuis@igalia.com>
Split FillInlinePath/StrokeInlinePath
https://bugs.webkit.org/show_bug.cgi?id=225687
Reviewed by Wenson Hsieh.
Adjust to API new display list items.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
2021-06-02 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] TaskPool shouldn't fork when 1 process is needed
https://bugs.webkit.org/show_bug.cgi?id=226506
<rdar://problem/78724554>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(TaskPool.__init__): Allow user to force fork, even with a single process.
(TaskPool.__enter__): If only a single worker is needed and the caller is not forcing
a fork, run the setup function in the parent process.
(TaskPool.do): If no queue has been constructed, we're running in the parent process.
(TaskPool.wait): Nothing to wait for if we're running in the parent process.
(TaskPool.__exit__): If no queue has been constructed, we're running in the parent process,
so run the teardown in this process and reset the process name.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py:
(TaskPoolUnittest.test_single): Force fork.
(TaskPoolUnittest.test_single_no_fork):
(TaskPoolUnittest.test_exception): Force fork.
(TaskPoolUnittest.test_exception_no_fork):
(TaskPoolUnittest.test_invalid_shutdown): Force fork.
2021-06-02 W.D. Xiong <w_xiong@apple.com>
[resultsdbpy] "legend" is misspelled as "lengend"
https://bugs.webkit.org/show_bug.cgi?id=226436
Reviewed by Darin Adler.
Corrected said misspelling in resultsdbpy
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/timeline.js:
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/library/css/docs.yaml:
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/library/css/index.html:
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.legend, .timeline>.content .legend):
(.legend.horizontal, .timeline>.header .legend):
(.legend>.item):
(.legend>.item .dot):
(.legend>.item .dot img, .legend>.item .dot .text):
(.legend>.item .dot>img, .legend>.item .dot>.text):
(.timeline.legend>.item .dot::before):
(.timeline.legend>.item .dot::after):
(.legend>.item .label):
(.lengend, .timeline>.content .lengend): Deleted.
(.lengend.horizontal, .timeline>.header .lengend): Deleted.
(.lengend>.item): Deleted.
(.lengend>.item .dot): Deleted.
(.lengend>.item .dot img, .lengend>.item .dot .text): Deleted.
(.lengend>.item .dot>img, .lengend>.item .dot>.text): Deleted.
(.timeline.lengend>.item .dot::before): Deleted.
(.timeline.lengend>.item .dot::after): Deleted.
(.lengend>.item .label): Deleted.
2021-06-02 Chris Dumez <cdumez@apple.com>
Drop Checked::safeGet()
https://bugs.webkit.org/show_bug.cgi?id=226537
Reviewed by Geoffrey Garen.
Drop Checked::safeGet() and replace with uses of Checked::operator T() or Checked::value().
safeGet() is a bit akward, having both a return value and an out-parameter.
* TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
(TestWebKitAPI::CheckedArithmeticTester::run):
2021-06-02 Jean-Yves Avenard <jya@apple.com>
MediaSessionCoordinator API test is failing,
https://bugs.webkit.org/show_bug.cgi?id=226460
rdar://78680005
Reviewed by Eric Carlson.
When leaving a MediaSessionCoordinator from the JS side; there's no callback
occurring from the MediaSessionCoordinatorPrivate to the MediaSessionCoordinator
(which is what this test was about). A state change callback should only occur
when it's the MediaSessionCoordinatorPrivate that leaves.
* TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(TestWebKitAPI::TEST_F):
2021-06-02 Garrett Davidson <davidson.garrettm@gmail.com>
[Cocoa] _WKAuthenticatorAssertionResponse should specify the attachment type used
https://bugs.webkit.org/show_bug.cgi?id=225519
<rdar://problem/76554090>
Reviewed by Brent Fulgham.
Update the CTAP tests to specify the new attachment parameter. All of these tests
assume a cross platform authenticator.
* TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::TEST):
2021-06-02 Keith Miller <keith_miller@apple.com>
Convert small JIT pool tests into executable fuzzing
https://bugs.webkit.org/show_bug.cgi?id=226279
Reviewed by Michael Saboff.
Right now, we try to test our engine on a small JIT pool. This isn't a known configuration for any
actual ports and causes issues if we run out of JIT memory when we need to compile an OSR exit.
Instead of testing such a small pool we should just fuzz each executable allocation that says it
can fail.
The current fuzzing doesn't do a good job tracking the number of DFG/FTL compiles when allocations
fail, so when enabled those tests will just exit early. Also, right now we use a random seed picked
by the engine for these tests, which makes it hard to reproduce crashes on the bots. If we see
flakiness on the bots we can have the harness pass in a number so it gets logged in the repro command.
* Scripts/jsc-stress-test-helpers/js-executable-allocation-fuzz:
* Scripts/run-jsc-stress-tests:
2021-06-02 Jonathan Bedard <jbedard@apple.com>
[GitHub] Delete unused scripts
https://bugs.webkit.org/show_bug.cgi?id=226519
Reviewed by Aakash Jain.
* Scripts/configure-github-as-upstream: Removed.
* Scripts/sync-master-with-upstream: Removed.
2021-05-23 Ryosuke Niwa <rniwa@webkit.org>
Add CheckedPtr
https://bugs.webkit.org/show_bug.cgi?id=226158
Reviewed by Antti Koivisto.
Added basic tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CheckedPtr.cpp: Added.
(TestWebKitAPI::CheckedObject): Added.
(TestWebKitAPI::DerivedCheckedObject): Added.
(WTF_CheckedPtr.Basic):
(WTF_CheckedPtr.DerivedClass):
(WTF_CheckedPtr.HashSet):
2021-06-01 Darin Adler <darin@apple.com>
Remove <wtf/Optional.h>
https://bugs.webkit.org/show_bug.cgi?id=226437
Reviewed by Chris Dumez.
* <many files>: Removed include of <wtf/Optional.h>.
2021-06-01 Chris Dumez <cdumez@apple.com>
Rename Checked::unsafeGet() to Checked::value()
https://bugs.webkit.org/show_bug.cgi?id=226514
Reviewed by Darin Adler.
Rename Checked::unsafeGet() to Checked::value(). The "unsafeGet" naming is confusing as this
function isn't really unsafe since it will crash if the value has overflowed. Also add an
`operator T()` to implicitly convert a Checked to its underlying type without needing to
call value().
* TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
(TestWebKitAPI::CheckedArithmeticTester::run):
(TestWebKitAPI::AllowMixedSignednessTest::run):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/IntRectTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp:
(TestWebKitAPI::TEST):
2021-06-01 Jean-Yves Avenard <jya@apple.com>
MediaSession.coordinator should not be optional, relying on coordinator readyState change instead
https://bugs.webkit.org/show_bug.cgi?id=226328
rdar://77461335
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(TestWebKitAPI::MediaSessionCoordinatorTest::createCoordinator): Change test to match new API,
using coordinatorstatechange event instead.
* TestWebKitAPI/Tests/WebKitCocoa/media-remote.html:
2021-06-01 Chris Fleizach <cfleizach@apple.com>
REGRESSION: (r277971) TestWebKitAPI.WebKit.AccessibilityReduceMotion is timing out
https://bugs.webkit.org/show_bug.cgi?id=226505
<rdar://problem/78721462>
Reviewed by Darin Adler.
The distributed notification for RM is no longer re-posted within WebKit, so we don't need to listen for it.
* TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm:
(TEST):
(notificationCallback): Deleted.
2021-06-01 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Move helper out of Port instance
https://bugs.webkit.org/show_bug.cgi?id=226344
<rdar://problem/78575542>
Reviewed by Dewei Zhu.
The "helper" is a popen object, which are not pickleable, and cannot
belong to an instantiated port object.
* Scripts/webkitpy/port/base.py:
(Port): Make helper class variable.
(Port.__init__):
(Port.stop_helper): All classes should share the same code to stop the helper process.
* Scripts/webkitpy/port/mac.py:
(MacPort.start_helper): Use class variable.
(MacPort.stop_helper): Moved to base class..
2021-06-01 Fujii Hironori <Hironori.Fujii@sony.com>
Sync Tools/win/DLLLauncher/DLLLauncherMain.cpp with Source/JavaScriptCore/shell/DLLLauncherMain.cpp
https://bugs.webkit.org/show_bug.cgi?id=226451
Reviewed by Don Olmstead.
Tools/win/DLLLauncher/DLLLauncherMain.cpp and
Source/JavaScriptCore/shell/DLLLauncherMain.cpp should be same.
But, r231403 changed only JavaScriptCore's one. r178530 changed
only Tools's one.
r178530 added flags for Debug CRT Heap. However, WebKit isn't
using Debug CRT Heap nowadays. And, using _CRTDBG_CHECK_ALWAYS_DF
flag makes WebKit unbearably slow.
Just copied JavaScriptCore's one to overwrite Tools's one.
* win/DLLLauncher/DLLLauncherMain.cpp:
(copyEnvironmentVariable):
(getStringValue):
(applePathFromRegistry):
(appleApplicationSupportDirectory):
(iTunesDirectory):
(prependPath):
(fatalError):
(directoryExists):
(modifyPath):
(getLastErrorString):
(wWinMain):
2021-06-01 Chris Dumez <cdumez@apple.com>
REGRESSION (iOS 14.5): Can't go back and render previous page properly after "location.href"
https://bugs.webkit.org/show_bug.cgi?id=226323
<rdar://problem/78623536>
Reviewed by Alex Christensen.
New API test written by Alex Christensen to cover this case.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2021-06-01 Aakash Jain <aakash_jain@apple.com>
Print bot configuration in build.webkit.org builds
https://bugs.webkit.org/show_bug.cgi?id=226353
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/factories.py:
(Factory.__init__): Added PrintConfiguration step.
* CISupport/build-webkit-org/steps.py:
(PrintConfiguration): Copied from ews code, step to print configuration.
(PrintConfiguration.__init__):
(PrintConfiguration.run):
(PrintConfiguration.convert_build_to_os_name):
(PrintConfiguration.getResultSummary):
* CISupport/build-webkit-org/steps_unittest.py: Added unit-tests.
2021-05-30 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] UI process crashes when deallocating WKWebView in a script message handler during an active touch event
https://bugs.webkit.org/show_bug.cgi?id=226426
rdar://75425319
Reviewed by Darin Adler.
Add a new API test that exercises the crash.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/TouchEventTests.mm: Added.
(-[TouchEventScriptMessageHandler userContentController:didReceiveScriptMessage:]):
(-[WKWebView touchEventGestureRecognizer]):
(TestWebKitAPI::updateSimulatedTouchEvent):
(TestWebKitAPI::simulatedTouchEvent):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/active-touch-events.html: Added.
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView textInputContentView]):
(-[TestWKWebView textInputContentView]): Deleted.
* TestWebKitAPI/ios/UIKitSPI.h:
2021-05-30 Darin Adler <darin@apple.com>
Remove WTF::Optional synonym for std::optional, using that class template directly instead
https://bugs.webkit.org/show_bug.cgi?id=226433
Reviewed by Chris Dumez.
* <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
2021-05-30 Jean-Yves Avenard <jya@apple.com>
REGRESSION (r274460): [macOS] TestWebKitAPI.Fullscreen.WKViewDelegate is timing out
https://bugs.webkit.org/show_bug.cgi?id=223282
rdar://75495585
Reviewed by Darin Adler.
Remove WKViewDelegate test. This test specifically tests the old, C-API
delegate callback thats not exposed as API and no one uses. This feature
is explicitly deprecated and no-one uses it.
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm: Delete test
2021-05-29 Ryan Haddad <ryanhaddad@apple.com>
[webkitpy] Add a delay between successive iOS simulator boots
https://bugs.webkit.org/show_bug.cgi?id=226376
Reviewed by Darin Adler.
In certain configurations, rapidly attempting to boot multiple
iOS simulators can cause them to fail to boot. Add a 10 second
delay to ensure that each one has a chance to initialize before
moving to the next one.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._boot_device):
2021-05-29 Chris Dumez <cdumez@apple.com>
Adopt clang thread safety annotations in WTF::DataMutex
https://bugs.webkit.org/show_bug.cgi?id=226431
Reviewed by Darin Adler.
Update API test due to DataMutex API changes.
* TestWebKitAPI/Tests/WTF/DataMutex.cpp:
(TestWebKitAPI::TEST):
2021-05-29 Sam Weinig <weinig@apple.com>
Split calc() related files into 1-class per file structure
https://bugs.webkit.org/show_bug.cgi?id=226421
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
Update test to include additonal header now needed.
2021-05-28 Darin Adler <darin@apple.com>
Clients of optional should use has_value instead of relying on hasValue macro
https://bugs.webkit.org/show_bug.cgi?id=226395
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp: Use has_value.
* TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp: Ditto.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp: Ditto.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(AudioRenderingWebViewTest::handleStart): Ditto.
* WebKitTestRunner/GeolocationProviderMock.cpp:
(WTR::GeolocationProviderMock::setPosition): Ditto.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView canPerformAction:withSender:]): Ditto.
2021-05-28 Alex Christensen <achristensen@webkit.org>
Punycode encode U+0BE6 when not in context of other Tamil characters
https://bugs.webkit.org/show_bug.cgi?id=226409
<rdar://78160926>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2021-05-28 Zhifei Fang <zhifei_fang@apple.com>
[JSC] Escape $ only when run with SSH
https://bugs.webkit.org/show_bug.cgi?id=226385
Reviewed by Alexey Proskuryakov.
* Scripts/run-jsc-stress-tests:
2021-05-28 Matt Gilligan <matthew_gilligan@apple.com>
Prevent resetting scroll position in unnecessary cases during page load
https://bugs.webkit.org/show_bug.cgi?id=226338
rdar://75334651
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
(TestWebKitAPI::TEST):
2021-05-28 Zhifei Fang <zhifei_fang@apple.com>
[JSC] Fix run-jsc-stress-tests missing escape $
https://bugs.webkit.org/show_bug.cgi?id=226385
Reviewed by Alexey Proskuryakov.
* Scripts/run-jsc-stress-tests:
2021-05-27 Devin Rousso <drousso@apple.com>
Sampled Page Top Color: allow snapshotting of elements with CSS animations/transitions if they're paused
https://bugs.webkit.org/show_bug.cgi?id=226313
<rdar://problem/78534076>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm:
(waitForSampledPageTopColorToChange): Added.
(waitForSampledPageTopColorToChangeForHTML):
(TEST.SampledPageTopColor.HitTestBeforeCSSTransition): Added.
(TEST.SampledPageTopColor.HitTestDuringCSSTransition): Added.
(TEST.SampledPageTopColor.HitTestAfterCSSTransition): Added.
(TEST.SampledPageTopColor.HitTestBeforeCSSAnimation): Added.
(TEST.SampledPageTopColor.HitTestDuringCSSAnimation): Added.
(TEST.SampledPageTopColor.HitTestAfterCSSAnimation): Added.
(TEST.SampledPageTopColor.HitTestCSSAnimation): Deleted.
2021-05-27 Jonathan Bedard <jbedard@apple.com>
[webkitcorey] Gracefully handle CNTRL-C in TaskPool
https://bugs.webkit.org/show_bug.cgi?id=226238
<rdar://problem/78472148>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(_BiDirectionalQueue.close): Tear-down queue objects while suppressing any logging.
(_Process.handler): Both SIGTERM and SIGINT signals should stop worker processes.
(_Process.main): Add SIGINT handler, explicitly close queue.
(TaskPool.__init__): Defer worker and queue construction to context manager so that we
do not have an instantiated but invalid queue if pipes are broken by children processes.
(TaskPool.__enter__): Construct worker processes.
(TaskPool.do): Only catch Queue.Empty exception.
(TaskPool.__exit__): Explicitly close queue, reset workers and queue.
2021-05-27 Darin Adler <darin@apple.com>
Next step toward using std::optional directly instead of through WTF::Optional typedef
https://bugs.webkit.org/show_bug.cgi?id=226280
Reviewed by Chris Dumez.
* Scripts/do-webcore-rename: Use script to rename valueOr, WTF::nullopt, WTF::nullopt_t,
WTF::Optional, WTF::makeOptional, and makeOptional. Other renamings can't necessarily
be done by the script and so will be done in later passes.
* <many files>: Accept the renaming done by do-webcore-rename.
2021-05-27 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use existing signal handler when printing stacktrace
https://bugs.webkit.org/show_bug.cgi?id=226236
<rdar://problem/78471882>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/common/interrupt_debugging.py:
(log_stack_trace_on_signal): Use the same implementation for SIGTERM and SIGINT signals, call existing
handler after logging stack trace.
(log_stack_trace_on_term): Deleted.
(log_stack_trace_on_ctrl_c): Deleted.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main): Use the new log_stack_trace_on_signal function.
2021-05-27 Fujii Hironori <Hironori.Fujii@sony.com>
[run-webkit-tests][Win] Strip PHP support from webserver
https://bugs.webkit.org/show_bug.cgi?id=226287
Reviewed by Jonathan Bedard.
We don't have any PHP tests now.
* Scripts/webkitpy/port/base.py:
(Port._apache_version):
(Port._apache_config_file_name_for_platform):
(Port._win_php_version): Deleted.
* Scripts/webkitpy/port/port_testcase.py:
2021-05-27 Tim Horton <timothy_horton@apple.com>
Introduce BifurcatedGraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=226318
Reviewed by Sam Weinig.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/cg/BifurcatedGraphicsContextTestsCG.cpp: Added.
(TestWebKitAPI::TEST):
2021-05-27 Peng Liu <peng.liu6@apple.com>
Calling -[WKWebView _closeAllMediaPresentations] crashes
https://bugs.webkit.org/show_bug.cgi?id=226305
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
(TEST):
2021-05-27 Angelos Oikonomopoulos <angelos@igalia.com>
[JSC] Implement high-level retry loop for run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=225803
Reviewed by Adrian Perez de Castro.
Now that we have information on which tests produced a result and
which tests were never heard of, introduce retry logic for the
incomplete tests. This should only modify the behavior when using
--gnu-parallel-runner.
The issue here is that the MIPS boards currently in use for JSC
testing routinely crash and, often enough, end up with filesystem
corruption and need to have their R/W storage reinitialized.
Work around this by re-executing the tests that we weren't able to get
a result for. When some tests failed to complete, go through the
process of remote initilization (copying over and unpacking the
bundle) from scratch, so that remotes that had their remoteDirectory
wiped will get back into play.
To make this more efficient, introduce in-band signaling to let
run-jsc-stress-tests know that a remote lost its state. In response,
we kill the GNU parallel process and re-initialize all boards. This
helps for buildbot workers that only have a few remote boards assigned
and apparently also works around a bug in GNU parallel 20161222
(currently the most widely deployed version) which causes it to run
out of open files and get stuck in a busy loop.
While here, make run-jsc-stress-tests more robust against corrupted
status files, i.e. ignore empty ones (observed in practice) and use a
regex to verify the contents of non-empty state files.
For consistency, use the same logic for parsing status files when
doing local runs.
In testing with two remotes, run-jsc-stress-tests was able to recover
from either one or both of its remotes rebooting and wiping their
local storage in the middle of a test run.
* Scripts/run-jsc-stress-tests:
2021-05-26 Jean-Yves Avenard <jya@apple.com>
Make MediaSession readystate enums all lowercase
https://bugs.webkit.org/show_bug.cgi?id=226213
<rdar://problem/78437011>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(TestWebKitAPI::TEST_F):
2021-05-26 Stephan Szabo <stephan.szabo@sony.com>
Cleanup temporary directory after TestWTF's FileSystemTests
https://bugs.webkit.org/show_bug.cgi?id=226300
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp: move to deleteNonEmptyDirectory during test cleanup
2021-05-26 Don Olmstead <don.olmstead@sony.com>
[CMake] Support USE_ANGLE_EGL on additional platforms
https://bugs.webkit.org/show_bug.cgi?id=224888
<rdar://problem/77280211>
Reviewed by Ken Russell.
Generate source listings for Metal and OpenGL ANGLE backends.
* Scripts/update-angle:
2021-05-26 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Refactor SimulatorDevice (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=225158
Unreviewed follow-up fix.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.is_usable): When no UI Manager service is defined, we should early exit.
2021-05-26 Aakash Jain <aakash_jain@apple.com>
Do not skip SetCommitQueueMinusFlagOnPatch step on EWS test instances
https://bugs.webkit.org/show_bug.cgi?id=226289
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(SetCommitQueueMinusFlagOnPatch.start):
(SetCommitQueueMinusFlagOnPatch.doStepIf): Deleted.
2021-05-26 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Strip php support from webserver (Apache)
https://bugs.webkit.org/show_bug.cgi?id=226032
<rdar://problem/78269181>
Reviewed by Adrian Perez de Castro.
* Scripts/webkitpy/port/base.py:
(Port._apache_config_file_name_for_platform): Use explicit Darwin httpd.conf.
(Port._is_darwin_php_version_7): Deleted.
(Port._darwin_php_version): Deleted.
2021-05-26 Jonathan Bedard <jbedard@apple.com>
[test-lldb-webkit] Update for Xcode 12.5
https://bugs.webkit.org/show_bug.cgi?id=226115
<rdar://problem/78331664>
Reviewed by Darin Adler.
* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_8bit_string): Use unicode directly.
(TestSummaryProviders.serial_test_WTFStringImpl_SummaryProvider_16bit_string): Ditto.
(TestSummaryProviders.serial_test_WTFString_SummaryProvider_8bit_string): Ditto.
(TestSummaryProviders.serial_test_WTFString_SummaryProvider_16bit_string): Ditto.
2021-05-26 Sam Sneddon <gsnedders@apple.com>
Fix remaining test-webkitpy{,-python2} --all --integration-tests failures
https://bugs.webkit.org/show_bug.cgi?id=226242
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(GitTest.test_remote_branch_ref): Allow main
(GitTest.test_native_branch): Allow main
(SVNTest.clean_bogus_dir): Deleted.
(SVNTest.test_diff_for_file_with_existing_bogus_dir): Deleted.
(SVNTest.test_diff_for_file_with_missing_bogus_dir): Deleted.
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN._setup_bogus_dir): Use tempfile
(SVN._teardown_bogus_dir): Make no-op when no bogus dir exists
(SVN._bogus_dir_name): Deleted.
2021-05-25 Chris Fleizach <cfleizach@apple.com>
AX: Improve string conversion in AccessibilityController::injectAccessibilityPreference
https://bugs.webkit.org/show_bug.cgi?id=226239
Reviewed by Darin Adler.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::injectAccessibilityPreference):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/StringFunctionsCocoa.h: Added.
(WTR::toWK):
2021-05-25 Tim Horton <timothy_horton@apple.com>
Virtualize GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=226170
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
2021-05-25 Mark Lam <mark.lam@apple.com>
Raise jitMemoryReservationSize for ftl-no-cjit-small-pool* tests.
https://bugs.webkit.org/show_bug.cgi?id=226205
Rubber-stamped by Saam Barati.
The bump to 75K didn't relieve the jsc EWS bot. Trying a bump to 100K this time.
* Scripts/run-jsc-stress-tests:
2021-05-25 Keith Miller <keith_miller@apple.com>
Wasm low memory tests should have a larger executable pool
https://bugs.webkit.org/show_bug.cgi?id=226233
Reviewed by Saam Barati.
With some other recent JSC changes we can sometimes go over the allocation pool we set aside. Let's bump the number.
* Scripts/run-jsc-stress-tests:
2021-05-25 Sam Sneddon <gsnedders@apple.com>
Run webkitpy integration tests under pytest by default
https://bugs.webkit.org/show_bug.cgi?id=226017
Reviewed by Jonathan Bedard.
This involves adding a variety of new xfail annotations and moving some tests to
be serial to avoid flakiness.
* Scripts/webkitpy/common/config/committers_unittest.py:
(CommittersTest):
* Scripts/webkitpy/conftest.py:
(pytest_addoption): Remove --run-integration
(pytest_collection_modifyitems): Remove --run-integration
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.serial_test_basic):
(RunTest.serial_test_batch_size):
(RunTest.serial_test_dryrun):
(RunTest.serial_test_full_results_html):
(RunTest.serial_test_no_order_with_directory_entries_in_natural_order):
(RunTest.serial_test_gc_between_tests):
(RunTest.serial_test_check_for_world_leaks):
(RunTest.serial_test_complex_text):
(RunTest.serial_test_threaded):
(RunTest.serial_test_run_force):
(RunTest.serial_test_run_singly):
(RunTest.serial_test_skip_failing_tests):
(RunTest.serial_test_run_singly_actually_runs_tests):
(RunTest.serial_test_stderr_is_saved):
(RunTest.serial_test_results_directory_absolute):
(RunTest.serial_test_results_directory_default):
(RunTest.serial_test_results_directory_relative):
(RunTest.serial_test_run_order__inline):
(RunTest.serial_test_additional_platform_directory):
(RunTest.serial_test_no_http_and_force):
(RunTest.serial_test_no_http_tests):
(RunTest.serial_test_platform_tests_are_found):
* Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
(BaseTest):
(HTTPServerTest):
(HTTPServerTest.integration_test_server__normal):
(HTTPServerTest.integration_test_server__fails):
(HTTPServerTest.integration_test_port_and_root):
(WebsocketserverTest):
(WebsocketserverTest.integration_test_server__normal):
(WebsocketserverTest.integration_test_server__fails):
(WebsocketserverTest.integration_test_port_and_root):
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase):
* Scripts/webkitpy/test/main_unittest.py:
(TesterTest):
* Scripts/webkitpy/test/markers.py:
(skip): Add skip
* Scripts/webkitpy/tool/steps/haslanded_unittest.py:
(HasLandedTest): Always skip this, as it seems to fail always
2021-05-24 Darin Adler <darin@apple.com>
Switch from WTF::Optional to std::optional
https://bugs.webkit.org/show_bug.cgi?id=211674
Reviewed by Chris Dumez.
* Scripts/webkitpy/style/checker.py: Removed exceptions from the WTF::Optional
style rule for WebRTC.
* Scripts/webkitpy/style/checkers/cpp.py: Removed check_wtf_optional.
* Scripts/webkitpy/style/checkers/cpp_unittest.py: Removed test_wtf_optional.
* TestWebKitAPI/CMakeLists.txt: Removed Optional.cpp.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
* TestWebKitAPI/Tests/WTF/Optional.cpp: Removed.
* TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp: Updated test to not rely on non-standard
aspects of moving from an optional. Instead check the retain count to make sure we
have moved successfully.
* TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: Ditto.
2021-05-25 Lauro Moura <lmoura@igalia.com>
[WebDriver][WPE] Support running w3c webdriver tests with Cog
https://bugs.webkit.org/show_bug.cgi?id=226203
Reviewed by Adrian Perez de Castro.
Using the same infrastructure as the MiniBrowser, through ENABLE_COG.
Selenium not yet supported, as the browserName capability is hardcoded
as MiniBrowser in selenium's test codebase.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.browser_env): Factored out of run_minibrowser to be used in the WebDriver driver module.
(WPEPort.run_minibrowser):
* Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
(WebDriverWPE.browser_args):
(WebDriverWPE.browser_env):
2021-05-24 Chris Dumez <cdumez@apple.com>
Stop using UncheckedLock in Condition API tests
https://bugs.webkit.org/show_bug.cgi?id=226198
Reviewed by Sam Weinig.
Stop using UncheckedLock in Condition API tests. This is a step towards phasing out UncheckedLock
in favor the Lock so that we can benefit from Clang Thread Safety Analysis.
* TestWebKitAPI/Tests/WTF/Condition.cpp:
2021-05-24 Mark Lam <mark.lam@apple.com>
Raise jitMemoryReservationSize for ftl-no-cjit-small-pool* tests.
https://bugs.webkit.org/show_bug.cgi?id=226205
Reviewed by Saam Barati.
Raise jitMemoryReservationSize for ftl-no-cjit-small-pool* tests from 50000 to
75000. The 50000 number was picked years ago to be a size that is small, but is
still large enough for JSC tests to pass. 50000 appears to not be sufficient
anymore. This has caused some JSC tests to fail intermittently on the EWS bots.
Raising the size to 75000 to give the tests a little more room to work in.
* Scripts/run-jsc-stress-tests:
2021-05-24 Chris Fleizach <cfleizach@apple.com>
AX: Fix build failure for WK API WTF::String usage
https://bugs.webkit.org/show_bug.cgi?id=226204
<rdar://problem/78428840>
Reviewed by Tim Horton.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::injectAccessibilityPreference):
2021-05-24 Sam Weinig <weinig@apple.com>
Convert DestinationColorSpace from an enum to class wrapping a platform color space (CGColorSpaceRef for CG ports, etc.)
https://bugs.webkit.org/show_bug.cgi?id=226143
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
Upate test to use new DestinationColorSpace type.
2021-05-24 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Update scripts for JSC test changes
https://bugs.webkit.org/show_bug.cgi?id=226181
Reviewed by Ross Kirsling.
Update the scripts to pass the status file location and
unique test id into the runner for handling some crash
cases, and update the status command because the status
is written as a number in our case rather than being
the return type from executing the program directly.
* Scripts/webkitruby/jsc-stress-test-writer-playstation.rb:
2021-05-24 Chris Fleizach <cfleizach@apple.com>
AX: Settings: Increase contrast isn't detected in browser until an additional setting is applied
https://bugs.webkit.org/show_bug.cgi?id=225909
Reviewed by Per Arne Vollan.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::injectAccessibilityPreference):
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::injectAccessibilityPreference):
2021-05-24 Darin Adler <darin@apple.com>
Remove StringBuilder::appendLiteral
https://bugs.webkit.org/show_bug.cgi?id=226137
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
Use append instead of appendLiteral.
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::createCommand): Use makeString instead of StringBuilder.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::TEST_F): Made lots of fixes to code inside #if TEST_OUTPUT,
which hasn't compiled in a long time. Still not 100% there, but closer.
* TestWebKitAPI/Tests/WebCore/TextCodec.cpp:
(TestWebKitAPI::testDecode): Use append instead of appendLiteral.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::helpText const): Ditto.
2021-05-24 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r277940.
https://bugs.webkit.org/show_bug.cgi?id=226182
Caused Safari crash under IPC::typeFromCFTypeRef
Reverted changeset:
"Convert DestinationColorSpace from an enum to class wrapping
a platform color space (CGColorSpaceRef for CG ports, etc.)"
https://bugs.webkit.org/show_bug.cgi?id=226143
https://trac.webkit.org/changeset/277940
2021-05-24 Chris Dumez <cdumez@apple.com>
Drop CheckedLock / CheckedCondition aliases
https://bugs.webkit.org/show_bug.cgi?id=226176
Reviewed by Kate Cheney.
Drop CheckedLock / CheckedCondition aliases now that they are the default.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CheckedConditionTest.cpp: Removed.
* TestWebKitAPI/Tests/WTF/CheckedLockTest.cpp: Removed.
* TestWebKitAPI/Tests/WTF/Condition.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/Lock.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AXThread::createThreadIfNeeded):
2021-05-24 Angelos Oikonomopoulos <angelos@igalia.com>
Be resilient against remote failure when determining the native architecture
https://bugs.webkit.org/show_bug.cgi?id=226009
Reviewed by Jonathan Bedard.
Change determineNativeArchitecture to not return an empty string if the
first remote host happens to be down. Instead, check every remote host in turn
until one responds.
Returning an empty string ended up passing an empty parameter to --arch when
invoking run-jsc-stress-tests, which resulted in an inappropriate set of tests
being selected, leading to occasional partial but massive test failures.
* Scripts/run-javascriptcore-tests:
(runTest):
(runJSCStressTests):
* Scripts/webkitdirs.pm:
(determineNativeArchitecture):
(determineArchitecture):
(nativeArchitecture):
2021-05-23 Chris Dumez <cdumez@apple.com>
Make CheckedLock the default Lock
https://bugs.webkit.org/show_bug.cgi?id=226157
Reviewed by Darin Adler.
Make CheckedLock the default Lock so that we get more benefits from Clang
Thread Safety Analysis. Note that CheckedLock 100% relies on the existing
Lock implementation and merely adds the clang anotations for thread
safety.
That this patch does is:
1. Rename the Lock class to UncheckedLock
2. Rename the CheckedLock class to Lock
3. Rename the Condition class to UncheckedCondition
4. Rename the CheckedCondition class to Condition
5. Update the types of certain variables from Lock / Condition to
UncheckedLock / UncheckedCondition if I got a build failure. Build
failures are usually caused by the following facts:
- Locker<CheckedLock> doesn't subclass AbstractLocker which a lot of
JSC code passes as argument
- Locker<CheckedLock> has no move constructor
- Locker<CheckedLock> cannot be constructed from a lock pointer, only
a reference
For now, CheckedLock and CheckedCondition remain as aliases to Lock and
Condition, in their respective CheckedLock.h / CheckedCondition.h headers.
I will drop them in a follow-up to reduce patch size.
I will also follow-up to try and get rid of as much usage of UncheckedLock
and UncheckedCondition as possible. I did not try very hard in this patch
to reduce patch size.
* TestWebKitAPI/Tests/WTF/CheckedConditionTest.cpp:
* TestWebKitAPI/Tests/WTF/Condition.cpp:
* TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AXThread::createThreadIfNeeded):
2021-05-23 Sam Weinig <weinig@apple.com>
Convert DestinationColorSpace from an enum to class wrapping a platform color space (CGColorSpaceRef for CG ports, etc.)
https://bugs.webkit.org/show_bug.cgi?id=226143
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
Upate test to use new DestinationColorSpace type.
2021-05-22 Chris Dumez <cdumez@apple.com>
Replace LockHolder with Locker in local variables
https://bugs.webkit.org/show_bug.cgi?id=226133
Reviewed by Darin Adler.
Replace LockHolder with Locker in local variables. It is shorter and it allows switching the lock
type more easily since the compiler with deduce the lock type T for Locker<T>.
* TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
(TestWebKitAPI::DeterministicScheduler::ThreadContext::waitMyTurn):
(TestWebKitAPI::DeterministicScheduler::ThreadContext::yieldToThread):
2021-05-22 Adrian Perez de Castro <aperez@igalia.com>
[Tools][run-webkit-tests] Remove more leftover tests webserver PHP remains
https://bugs.webkit.org/show_bug.cgi?id=226089
Reviewed by Alexey Proskuryakov.
Remove leftover PHP module configurations used on Linux now that PHP is not used anymore.
* Scripts/webkitpy/port/base.py:
(Port._debian_php_version): Removed.
(Port._fedora_php_version): Removed.
(Port._is_fedora_php_version_7): Removed.
(Port._apache_config_file_name_for_platform): Modofied to not use the removed
helper methods.
* gtk/install-dependencies: Remove PHP packages.
* wpe/install-dependencies: Ditto.
2021-05-22 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r277913.
https://bugs.webkit.org/show_bug.cgi?id=226140
Caused multiple layout-test crash on mac debug queues
Reverted changeset:
"Replace LockHolder with Locker in local variables"
https://bugs.webkit.org/show_bug.cgi?id=226133
https://trac.webkit.org/changeset/277913
2021-05-22 Julian Gonzalez <julian_a_gonzalez@apple.com>
[ Debug ] TestWebKitAPI.IPCTestingAPI.CanDetectNilReplyBlocks (API-tests) is a constant crash
https://bugs.webkit.org/show_bug.cgi?id=226125
Reviewed by Ryosuke Niwa.
Turn this test off for Debug.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
2021-05-21 Chris Dumez <cdumez@apple.com>
Replace LockHolder with Locker in local variables
https://bugs.webkit.org/show_bug.cgi?id=226133
Reviewed by Darin Adler.
Replace LockHolder with Locker in local variables. It is shorter and it allows switching the lock
type more easily since the compiler with deduce the lock type T for Locker<T>.
* TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/glib/WorkQueueGLib.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
(TestWebKitAPI::DeterministicScheduler::ThreadContext::waitMyTurn):
(TestWebKitAPI::DeterministicScheduler::ThreadContext::yieldToThread):
2021-05-21 Chris Dumez <cdumez@apple.com>
Stop using holdLock() in WebKit/WebKitLegacy/Tools as it is not compatible with Clang thread safety analysis
https://bugs.webkit.org/show_bug.cgi?id=226127
Reviewed by Alex Christensen.
* DumpRenderTree/JavaScriptThreading.cpp:
(runJavaScriptThread):
(startJavaScriptThreads):
(stopJavaScriptThreads):
* Scripts/webkitpy/style/checkers/cpp.py:
(check_lock_guard):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_lock_guard):
* TestWebKitAPI/Tests/WTF/Condition.cpp:
* TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
(TestWebKitAPI::testThreadGroup):
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AXThread::dispatch):
(WTR::AXThread::dispatchFunctionsFromAXThread):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AXThread::initializeRunLoop):
2021-05-21 Aakash Jain <aakash_jain@apple.com>
Run layout tests in stress mode for 10 iterations on regular EWS layout-test queues
https://bugs.webkit.org/show_bug.cgi?id=226097
Reviewed by Jonathan Bedard.
* CISupport/ews-build/factories.py:
* CISupport/ews-build/factories_unittest.py:
* CISupport/ews-build/steps.py:
(AnalyzePatch.getResultSummary):
(FindModifiedLayoutTests.__init__):
(FindModifiedLayoutTests.start):
(RunWebKitTestsInStressMode):
(RunWebKitTestsInStressMode.__init__):
(RunWebKitTestsInStressMode.setLayoutTestCommand):
(RunWebKitTestsInStressMode.doStepIf):
* CISupport/ews-build/steps_unittest.py:
2021-05-21 Eric Carlson <eric.carlson@apple.com>
[Cocoa] Update AudioSession buffer size handling
https://bugs.webkit.org/show_bug.cgi?id=225927
rdar://76920375
Reviewed by Jer Noble.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/audio-buffer-size.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/AudioBufferSize.mm: Added.
(TestWebKitAPI::waitForBufferSizeChange):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
(TEST_F):
2021-05-21 Sam Sneddon <gsnedders@apple.com>
Fix Python 3.6+ DeprecationWarnings about unknown escapes
https://bugs.webkit.org/show_bug.cgi?id=226018
Reviewed by Jonathan Bedard.
Fix Python 3.6+ DeprecationWarnings about unknown escapes
* CISupport/build-webkit-org/loadConfig.py:
(getTagsForBuilder):
* CISupport/build-webkit-org/steps.py:
(RunGLibAPITests.commandComplete):
(RunWebDriverTests.commandComplete):
* CISupport/ews-app/ews/common/bugzilla.py:
(BugzillaBeautifulSoup._parse_attachment_ids_request_query):
* CISupport/ews-app/ews/common/buildbot.py:
(Buildbot._get_display_name_from_builder_name):
* CISupport/ews-build/loadConfig.py:
(getTagsForBuilder):
* CISupport/ews-build/steps.py:
(CleanUpGitIndexLock.start):
(FindModifiedLayoutTests):
(BuildLogLineObserver.__init__):
(PushCommitToWebKitRepo):
* CISupport/ews-build/steps_unittest.py:
* Scripts/ic-stats.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn):
* Scripts/webkitpy/common/checkout/changelog.py:
(parse_bug_id_from_changelog):
(ChangeLogEntry):
(update_with_unreviewed_message):
(set_reviewer):
* Scripts/webkitpy/common/checkout/diff_parser.py:
(git_diff_to_svn_diff):
* Scripts/webkitpy/common/checkout/diff_test_data.py:
* Scripts/webkitpy/common/checkout/scm/commitmessage.py:
(_first_non_empty_line_after_index):
(CommitMessage.description):
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.commit_success_regexp):
(Git.timestamp_of_revision):
(Git.git_commit_from_svn_revision):
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.strip_r_from_svn_revision):
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.commit_success_regexp):
(SVN.revisions_changing_file):
* Scripts/webkitpy/common/checksvnconfigfile.py:
(check):
* Scripts/webkitpy/common/config/contributionareas.py:
(ContributionAreas._split_camelcase):
* Scripts/webkitpy/common/config/urls.py:
* Scripts/webkitpy/common/find_files_unittest.py:
(TestWinNormalize.assert_filesystem_normalizes):
* Scripts/webkitpy/common/net/bugzilla/bug.py:
(Bug.commit_revision):
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(BugzillaQueries._parse_attachment_ids_request_query):
(Bugzilla._parse_bug_id_from_attachment_page):
(Bugzilla._parse_attachment_id_from_add_patch_to_bug_response):
(Bugzilla._check_create_bug_response):
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
(BuildBot._parse_current_build_cell):
* Scripts/webkitpy/common/net/credentials.py:
(Credentials._parse_security_tool_output):
* Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
(ParsedJSONResultsTest):
* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs.get_timestamp_from_log):
* Scripts/webkitpy/common/system/crashlogs_unittest.py:
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.available_sdks):
* Scripts/webkitpy/common/system/user.py:
(User._wait_on_list_response):
* Scripts/webkitpy/common/watchlist/watchlistparser.py:
(WatchListParser._rule_definitions_as_set):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser):
(TestExpectationParser._parse_modifiers):
(TestExpectationParser._tokenize_line):
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):
* Scripts/webkitpy/port/base.py:
(Port._natural_sort_key):
* Scripts/webkitpy/port/driver.py:
(DriverOutput):
(Driver._check_for_driver_timeout):
(Driver._check_for_driver_crash_or_unresponsiveness):
* Scripts/webkitpy/port/image_diff.py:
(ImageDiffer._read):
* Scripts/webkitpy/port/win.py:
(WinPort.write_registry_value):
* Scripts/webkitpy/pytest.ini:
* Scripts/webkitpy/style/checker.py:
(CheckerDispatcher._should_skip_file_path):
* Scripts/webkitpy/style/checkers/changelog.py:
(ChangeLogChecker.check_entry):
* Scripts/webkitpy/style/checkers/cmake.py:
(CMakeChecker._process_line):
(CMakeChecker._check_no_space_cmds):
(CMakeChecker._check_one_space_cmds):
(CMakeChecker._check_non_lowercase_cmd):
(CMakeChecker._check_list_order):
* Scripts/webkitpy/style/checkers/cpp.py:
(FileInfo.repository_name):
(check_for_non_standard_constructs):
(check_spacing):
(check_language):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
* Scripts/webkitpy/style/checkers/jstest.py:
(map_functions_to_dict):
(strip_trailing_blank_lines_and_comments):
* Scripts/webkitpy/style/checkers/messagesin.py:
(MessagesInChecker.check_WTF_prefix):
* Scripts/webkitpy/style/patchreader.py:
(PatchReader.check):
* Scripts/webkitpy/test/runner.py:
* Scripts/webkitpy/test/runner_unittest.py:
(FakeLoader.__init__):
* Scripts/webkitpy/tool/commands/analyzechangelog.py:
(AnalyzeChangeLog._enumerate_changelogs):
* Scripts/webkitpy/tool/commands/queries.py:
(PrintBaselines.__init__):
(FindResolvedBugs.execute):
* Scripts/webkitpy/tool/commands/upload.py:
(MarkBugFixed._determine_bug_id_and_svn_revision):
* Scripts/webkitpy/tool/steps/promptforbugortitle.py:
(PromptForBugOrTitle.run):
* Scripts/webkitpy/w3c/test_converter.py:
(_W3CTestConverter.__init__):
(_W3CTestConverter.read_webkit_prefixed_css_property_list):
(_W3CTestConverter.legacy_read_webkit_prefixed_css_property_list):
* Scripts/webkitpy/w3c/test_parser.py:
(TestParser.support_files):
* lldb/lldb_dump_class_layout.py:
(LLDBDebuggerInstance._get_first_file_architecture):
2021-05-20 Julian Gonzalez <julian_a_gonzalez@apple.com>
WKRemoteObjectRegistry _invokeMethod needs to check for nil completionHandlers
https://bugs.webkit.org/show_bug.cgi?id=225941
Reviewed by Ryosuke Niwa.
Add an IPC test with a nil (really malformed) completion handler
that makes sure the invocation is not performed.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(-[IPCTestingAPIDelegate sayHello:completionHandler:]):
(-[IPCTestingAPIDelegate sayHelloWasCalled]):
(TEST):
2021-05-20 Alex Christensen <achristensen@webkit.org>
Unreviewed, reverting r277606.
rdar://78283324
Need to wait for more projects to migrate
Reverted changeset:
"[Cocoa] Remove prototype loadSimulatedRequest methods"
https://bugs.webkit.org/show_bug.cgi?id=223658
https://commits.webkit.org/r277606
2021-05-20 Kate Cheney <katherine_cheney@apple.com>
Mark ServiceWorkerThreadProxy with a default app-bound value
https://bugs.webkit.org/show_bug.cgi?id=223201
<rdar://problem/77664416>
Reviewed by Youenn Fablet.
Test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[SWAppBoundRequestMessageHandler userContentController:didReceiveScriptMessage:]):
2021-05-20 Aakash Jain <aakash_jain@apple.com>
Use Python 3 for running various scripts on EWS
https://bugs.webkit.org/show_bug.cgi?id=226041
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py: Use Python 3.
(CleanBuild):
(TriggerCrashLogSubmission):
(WaitForCrashCollection):
(ArchiveBuiltProduct):
(ExtractBuiltProduct):
* CISupport/ews-build/steps_unittest.py: Updated unit-tests.
2021-05-20 Robin Morisset <rmorisset@apple.com>
The test of SmallSet.cpp should pass the right HashTrait to the HashSet it uses as a reference
https://bugs.webkit.org/show_bug.cgi?id=226027
Reviewed by Mark Lam.
SmallSet allows all values except for the max value.
So we test it on small values, including 0.
HashSet by default forbids 0, so it made the test crash.
We can trivially fix it by passing UnsignedWithZeroKeyHashTraits, which allows everything which is not max() or max()-1
* TestWebKitAPI/Tests/WTF/SmallSet.cpp:
(TestWebKitAPI::testSmallSetOfUnsigned):
2021-05-20 Sam Sneddon <gsnedders@apple.com>
Add tox file for webkitpy
https://bugs.webkit.org/show_bug.cgi?id=226016
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/tox.ini: Added.
2021-05-20 Kate Cheney <katherine_cheney@apple.com>
Unreviewed contributor name update.
* Scripts/webkitpy/common/config/contributors.json:
2021-05-20 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Forward booted simulators to children processes
https://bugs.webkit.org/show_bug.cgi?id=225933
<rdar://problem/78169900>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/api_tests/runner.py:
(setup_shard): Set DeviceManager global variable from parent process.
(Runner.command_for_port): Use Port's device manager instead of simulated device manager.
(Runner.run): Pass DeviceManager details to children processes.
2021-05-20 Sam Sneddon <gsnedders@apple.com>
Store whether a test is slow on TestInput
https://bugs.webkit.org/show_bug.cgi?id=224563
Reviewed by Jonathan Bedard.
Additionally, notably, this makes a TestResult store a TestInput rather than a
test_name string. With that there, we then don't need to punch through multiple
layers to find out whether a test is slow or not. Note that replacing the
test_name with a Test or TestInput as part of removing the 1:1 relationship
between files and tests.
With this done, we don't have to pass around a test_is_slow_fn, as we can directly
look at the result to determine whether or not it is slow.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.__init__): Remove test_is_slow_fn argument
(LayoutTestRunner._mark_interrupted_tests_as_skipped): Remove test_is_slow argument
(LayoutTestRunner._update_summary_with_result): Remove test_is_slow argument
(Worker._run_test_in_another_thread): Remove test_is_slow argument
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(LayoutTestRunnerTests._runner): Remove test_is_slow_fn argument
(LayoutTestRunnerTests.test_update_summary_with_result): TestResult arg rename
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager): Improve docstring
(Manager.__init__): Tidy up reading tests-options.json
(Manager._test_input_for_file): Set is_slow
(Manager.run): Remove test_is_slow_fn argument
(Manager._look_for_new_crash_logs): Remove test_is_slow_fn/test_is_slow argument
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner.__init__): Store TestInput object
(SingleTestRunner._test_name): Replacement getter
(SingleTestRunner._should_run_pixel_test): Replacement getter
(SingleTestRunner._should_dump_jsconsolelog_in_stderr): Replacement getter
(SingleTestRunner._reference_files): Replacement getter
(SingleTestRunner._timeout): Replacement getter
(SingleTestRunner._compare_output): Pass TestInput to TestResult
(SingleTestRunner._run_reftest): Pass TestInput to TestResult
(SingleTestRunner._compare_output_with_reference): Pass TestInput to TestResult
* Scripts/webkitpy/layout_tests/models/test_input.py:
(TestInput): Add is_slow boolean
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.__init__): Rename test_name -> test_input, construct TestInput if we must
(TestResult.test_name): Replacement getter
* Scripts/webkitpy/layout_tests/models/test_results_unittest.py:
(TestResultsTest.test_pickle_roundtrip): TestResult arg rename
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.add): Remove test_is_slow argument, look at TestResult
* Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
(summarized_results): Remove test_is_slow argument
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.test_tests_options): Add a test that test-options.json works
2021-05-19 Devin Rousso <drousso@apple.com>
Add a way to create `"wheel"` events from gesture/touch events
https://bugs.webkit.org/show_bug.cgi?id=225788
<rdar://problem/76714308>
Reviewed by Simon Fraser.
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::scaleGestureStart): Added.
(WTR::EventSendingController::scaleGestureChange): Added.
(WTR::EventSendingController::scaleGestureEnd): Added.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/mac/EventSenderProxy.mm:
(EventSenderCGGesturePhaseFromNSEventPhase):
(-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:stageTransition:phase:time:eventNumber:window:]):
(-[EventSenderSyntheticEvent initMagnifyEventAtLocation:globalLocation:magnification:phase:time:eventNumber:window:]): Added.
(-[EventSenderSyntheticEvent magnification]): Added.
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::sendMouseDownToStartPressureEvents):
(WTR::EventSenderProxy::beginPressureEvent):
(WTR::EventSenderProxy::pressureChangeEvent):
(WTR::EventSenderProxy::mouseForceClick):
(WTR::EventSenderProxy::startAndCancelMouseForceClick):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::scaleGestureStart): Added.
(WTR::EventSenderProxy::scaleGestureChange): Added.
(WTR::EventSenderProxy::scaleGestureEnd): Added.
Allow tests to synthesize scale (a.k.a. magnify) gesture events.
* WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
(WTR::EventSenderProxy::EventSenderProxy):
Drive-by: Rename `eventNumber` to `m_eventNumber` since it's a member variable.
* DumpRenderTree/Scripts/generate-derived-sources.sh:
* DumpRenderTree/DerivedSources.make:
* WebKitTestRunner/Scripts/generate-derived-sources.sh:
* WebKitTestRunner/DerivedSources.make:
Make sure to pass all feature flags when generating JS files from IDL files.
2021-05-19 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, try to fix the internal build after r277740
It seems `keyData` was intended to be a `String` rather than a `Vector<uint8_t>`.
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
2021-05-19 Chris Dumez <cdumez@apple.com>
Drop "get" prefix from SQLiteStatement member functions as well as out-parameters
https://bugs.webkit.org/show_bug.cgi?id=225971
Reviewed by Darin Adler.
Add API test coverage for new Vector constructor.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2021-05-18 Darin Adler <darin@apple.com>
Move CFStringRef and NSString support from StringBuilder into StringConcatenateCF
https://bugs.webkit.org/show_bug.cgi?id=225839
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp: Updated
tests for changes to SaturatedArithmetic.h.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp: Updated tests for changes
to StringBuilder.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::wkMediaCaptureStateString): Ditto.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
Added include of StringConcatenateCF.h.
Added StringTypeAdapter for WKStringRef.
(WTR::styleDecToStr): Use ASCIILiteral instead of StringBuilder.
(WTR::string): Removed unneeded toWTFString since the WKStringRef
StringTypeAdapter takes care of it.
(WTR::string): Renamed from frameToStr. Use makeString.
(WTR::dumpResourceURL): Use append instead of appendLiteral.
(WTR::dumpFrameDescriptionSuitableForTestResult): Deleted.
(WTR::dumpLoadEvent): Use makeString.
(WTR::string): Renamed from a longer name. Return a String
instead of building in a StringBuilder. Use makeString.
(WTR::string): Ditto.
(WTR::dumpErrorDescriptionSuitableForTestResult): Removed
unneeded toWTFString.
(WTR::dumpFrameScrollPosition): Ditto.
(WTR::dumpDescendantFramesText): Ditto.
(WTR::InjectedBundlePage::dumpDOMAsWebArchive): Removed an
unneeded local variable.
(WTR::InjectedBundlePage::dump): Removed unneeded toWTFString.
(WTR::InjectedBundlePage::didReceiveTitleForFrame): Ditto.
(WTR::InjectedBundlePage::didFinishDocumentLoadForFrame):
Updated for functon name change.
(WTR::InjectedBundlePage::willSendRequestForFrame): Ditto.
Also use variadic append. Also use makeString.
(WTR::InjectedBundlePage::didReceiveResponseForResource): Ditto.
(WTR::InjectedBundlePage::didFinishLoadForResource): Ditto.
(WTR::InjectedBundlePage::didFailLoadForResource): Ditto.
(WTR::InjectedBundlePage::decidePolicyForNavigationAction): Ditto.
(WTR::InjectedBundlePage::decidePolicyForResponse): Ditto.
(WTR::InjectedBundlePage::willAddMessageToConsole): Ditto.
(WTR::InjectedBundlePage::willSetStatusbarText): Ditto.
(WTR::InjectedBundlePage::willRunJavaScriptPrompt): Ditto.
(WTR::InjectedBundlePage::didExceedDatabaseQuota): Ditto.
(WTR::InjectedBundlePage::shouldInsertNode): Ditto.
(WTR::InjectedBundlePage::shouldInsertText): Ditto.
(WTR::InjectedBundlePage::shouldDeleteRange): Ditto.
(WTR::InjectedBundlePage::shouldChangeSelectedRange): Ditto.
(WTR::InjectedBundlePage::shouldApplyStyle): Ditto.
(WTR::InjectedBundlePage::didBeginEditing): Ditto.
(WTR::InjectedBundlePage::didEndEditing): Ditto.
(WTR::InjectedBundlePage::didChange): Ditto.
(WTR::InjectedBundlePage::didChangeSelection): Ditto.
(WTR::InjectedBundlePage::dumpHistory): Ditto.
2021-05-19 Aakash Jain <aakash_jain@apple.com>
Use Python 3 for running various scripts on build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=225929
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py: Use Python 3. Also removed ./ from invocation to match with ews code.
(TriggerCrashLogSubmission):
(WaitForCrashCollection):
(CleanBuildIfScheduled):
(DeleteStaleBuildFiles):
(ArchiveBuiltProduct):
(ArchiveMinifiedBuiltProduct):
(ExtractBuiltProduct):
* CISupport/build-webkit-org/steps_unittest.py: Updated unit-tests.
(TestCleanBuildIfScheduled.test_success):
(TestCleanBuildIfScheduled.test_failure):
* CISupport/built-product-archive: Updated shebang to Python 3.
* CISupport/clean-build:
* CISupport/delete-stale-build-files:
* CISupport/trigger-crash-log-submission:
* CISupport/wait-for-crash-collection:
2021-05-19 Sam Weinig <weinig@apple.com>
Update Base64 encoding/decoding to match more modern WebKit conventions
https://bugs.webkit.org/show_bug.cgi?id=225920
Reviewed by Chris Dumez.
Update to use updated base64 and defaultWebCryptoMasterKey() related
functions.
* TestWebKitAPI/TCPServer.cpp:
(TestWebKitAPI::TCPServer::startSecureConnection):
(TestWebKitAPI::TCPServer::testCertificate):
(TestWebKitAPI::TCPServer::testPrivateKey):
* TestWebKitAPI/Tests/WebCore/ISOBox.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cocoa/PrivateClickMeasurementCocoa.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cocoa/SerializedCryptoKeyWrap.mm:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(testIdentity2):
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::Connection::webSocketHandshake):
2021-05-19 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Deprecate webkitpy/tool/grammar.py
https://bugs.webkit.org/show_bug.cgi?id=225943
<rdar://problem/78180111>
Reviewed by Stephanie Lewis.
* Scripts/bisect-builds:
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_found):
(Printer.print_workers_and_shards):
(Printer._print_one_line_summary):
* Scripts/webkitpy/test/printer.py:
* Scripts/webkitpy/tool/bot/flakytestreporter.py:
(FlakyTestReporter._lookup_bug_for_flaky_test):
(FlakyTestReporter._create_bug_for_flaky_test):
* Scripts/webkitpy/tool/commands/download.py:
(AbstractPatchProcessingCommand.execute):
(ProcessBugsMixin._fetch_list_of_patches_to_process):
(ProcessURLsMixin._fetch_list_of_patches_to_process):
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/commands/queries.py:
* Scripts/webkitpy/tool/commands/suggestnominations.py:
(SuggestNominations._print_nominations):
(SuggestNominations._print_counts):
* Scripts/webkitpy/tool/commands/upload.py:
(CleanPendingCommit._flags_to_clear_on_patch):
(PostCommits.execute):
* Scripts/webkitpy/tool/grammar.py: Removed.
* Scripts/webkitpy/tool/grammar_unittest.py: Removed.
* Scripts/webkitpy/tool/multicommandtool.py:
* Scripts/webkitpy/tool/steps/obsoletepatches.py:
(ObsoletePatches.run):
* Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
(PrepareChangeLogForRevert._message_for_revert):
* Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
* Scripts/webkitpy/tool/steps/reopenbugafterrevert.py:
(ReopenBugAfterRevert.run):
2021-05-19 Jonathan Bedard <JonWBedard@gmail.com>
[webkitscmpy] Apply logging options to every command
https://bugs.webkit.org/show_bug.cgi?id=225939
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): Specify help for the LoggingGroup, apply logging group to all subparsers.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize/__init__.py:
(Canonicalize.parser): Remove LoggingGroup.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py:
(Info.parser): Remove LoggingGroup.
2021-05-19 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r277444.
https://bugs.webkit.org/show_bug.cgi?id=225967
Broke api tests on iOS
Reverted changeset:
"[run-api-tests] Use Python 3 (Part 1)"
https://bugs.webkit.org/show_bug.cgi?id=225427
https://trac.webkit.org/changeset/277444
2021-05-18 Robin Morisset <rmorisset@apple.com>
Make AirAllocateRegistersByGraphColoring use less memory
https://bugs.webkit.org/show_bug.cgi?id=225848
Reviewed by Filip Pizlo.
Simply added some tests for SmallSet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/SmallSet.cpp: Added.
(TestWebKitAPI::testSmallSetOfUnsigned):
(TestWebKitAPI::testSmallSetOfPointers):
(TestWebKitAPI::testVectorsOfSmallSetsOfUnsigned):
(TestWebKitAPI::TEST):
2021-05-18 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r277675.
https://bugs.webkit.org/show_bug.cgi?id=225954
Broke Mac API tests trying to fix iOS
Reverted changeset:
"[webkitpy] Forward booted simulators to children processes"
https://bugs.webkit.org/show_bug.cgi?id=225933
https://trac.webkit.org/changeset/277675
2021-05-18 Aditya Keerthi <akeerthi@apple.com>
[macOS] Titlebar separator doesn't show when WKWebView is scrolled
https://bugs.webkit.org/show_bug.cgi?id=220633
<rdar://problem/71094055>
Reviewed by Darin Adler.
Added API tests to verify that the delegate implementation returns the
correct value for `hasScrolledContentsUnderTitlebar` depending on
the view's scroll position, visibility, and frame.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
* TestWebKitAPI/Tests/mac/WKWebViewTitlebarSeparatorTests.mm: Added.
(-[TitlebarSeparatorTestWKWebView initWithFrame:configuration:]):
(-[TitlebarSeparatorTestWKWebView separatorTrackingAdapter]):
(BackForwardCache):
(ChangeTitlebarAdjacency):
(ChangeViewVisibility):
(NavigationResetsTitlebarAppearance):
(ParentWhileScrolled):
(ScrollWithTitlebarAdjacency):
(ScrollWithoutTitlebarAdjacency):
2021-05-18 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Forward booted simulators to children processes
https://bugs.webkit.org/show_bug.cgi?id=225933
<rdar://problem/78169900>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/api_tests/runner.py:
(setup_shard): Set DeviceManager global variable from parent process.
(Runner.command_for_port): Use Port's device manager instead of simulated device manager.
(Runner.run): Pass DeviceManager details to children processes.
2021-05-18 Aakash Jain <aakash_jain@apple.com>
[ews] Style fixes in steps_unittest.py
https://bugs.webkit.org/show_bug.cgi?id=225932
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps_unittest.py:
2021-05-18 Jonathan Bedard <jbedard@apple.com>
[lint-test-expectations] Change shebang to Python 3
https://bugs.webkit.org/show_bug.cgi?id=225898
<rdar://problem/78130334>
Reviewed by Aakash Jain.
* Scripts/lint-test-expectations: Change shebang, remove version check.
2021-05-18 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Fix PlayStation port
https://bugs.webkit.org/show_bug.cgi?id=225913
Reviewed by Don Olmstead.
Fix PlayStation port
* MiniBrowser/playstation/CMakeLists.txt: Rename
PLAYSTATION_COPY_SHARED_LIBRARIES to PLAYSTATION_COPY_REQUIREMENTS.
* MiniBrowser/playstation/WebViewWindow.cpp:
(WebViewWindow::updateTitle): Add nullptr check.
(WebViewWindow::updateURL): Add nullptr check.
2021-05-17 Wenson Hsieh <wenson_hsieh@apple.com>
[GPU Process] Object identifiers with the deleted value should cause MESSAGE_CHECKs
https://bugs.webkit.org/show_bug.cgi?id=225886
rdar://78114708
Reviewed by Chris Dumez.
Adjust an existing API test to verify that the deleted object identifier value triggers an inline item decoding
failure.
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
2021-05-17 Kate Cheney <katherine_cheney@apple.com>
WebFrameLoaderClient::dispatchWillSendRequest sometimes resets app-bound value
https://bugs.webkit.org/show_bug.cgi?id=225829
<rdar://problem/78034595>
Reviewed by Alex Christensen.
API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacyPlugIn.mm: Added.
(-[InAppBrowserPrivacyPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[InAppBrowserPrivacyPlugIn webProcessPlugInBrowserContextController:frame:willSendRequestForResource:request:redirectResponse:]):
2021-05-17 Alex Christensen <achristensen@webkit.org>
Unreviewed, reverting r277605.
Broke iOS tests
Reverted changeset:
"Remove _WKUserContentFilter and _WKUserContentExtensionStore"
https://bugs.webkit.org/show_bug.cgi?id=224391
https://commits.webkit.org/r277605
2021-05-17 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support testing on machines without svn installed
https://bugs.webkit.org/show_bug.cgi?id=225891
<rdar://problem/78126369>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.executable): Ensure whichcraft import support mock.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__enter__): Mock git executable location.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.__enter__): Mock svn executable location.
2021-05-17 Alex Christensen <achristensen@webkit.org>
Remove API::Object::Type::BundlePageGroup
https://bugs.webkit.org/show_bug.cgi?id=225611
Reviewed by Brady Eidson.
Some tests were trying to encode a page group, but it was unused so I just removed them.
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/DocumentStartUserScriptAlertCrash.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/InjectedBundleMakeAllShadowRootsOpen.cpp:
(TestWebKitAPI::TEST):
2021-05-17 Aakash Jain <aakash_jain@apple.com>
Style checker should check for non-inclusive terminology
https://bugs.webkit.org/show_bug.cgi?id=213088
Reviewed by Jonathan Bedard.
Style checker should check for non-inclusive terminology so that we can avoid unintentional addition
of non-inclusive terminology in our codebase.
* Scripts/webkitpy/style/checkers/inclusive_language.py: Added inclusive language checker.
(InclusiveLanguageChecker):
(InclusiveLanguageChecker.check):
* Scripts/webkitpy/style/checkers/changelog.py: Check for inclusive language.
* Scripts/webkitpy/style/checkers/cpp.py: Ditto.
* Scripts/webkitpy/style/checkers/js.py: Ditto.
* Scripts/webkitpy/style/checkers/python.py: Ditto.
* Scripts/webkitpy/style/checkers/text.py: Ditto.
* Scripts/report-non-inclusive-language: Ignore the newly added inclusive_language.py file.
2021-05-17 Alex Christensen <achristensen@webkit.org>
Fix clean build after r277606
https://bugs.webkit.org/show_bug.cgi?id=223658
* TestWebKitAPI/Tests/WebKitCocoa/ContentSecurityPolicy.mm:
(TEST):
Use API instead of removed API.
Why EWS didn't find this, we may never know.
2021-05-17 Alex Christensen <achristensen@webkit.org>
[Cocoa] Remove prototype loadSimulatedRequest methods
https://bugs.webkit.org/show_bug.cgi?id=223658
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
(TEST):
2021-05-17 Alex Christensen <achristensen@webkit.org>
Remove _WKUserContentFilter and _WKUserContentExtensionStore
https://bugs.webkit.org/show_bug.cgi?id=224391
Reviewed by Darin Adler.
* MiniBrowser/mac/ExtensionManagerWindowController.m:
(-[ExtensionManagerWindowController init]):
(-[ExtensionManagerWindowController add:]):
(-[ExtensionManagerWindowController remove:]):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/_WKUserContentExtensionStore.mm: Removed.
These tests had already been copied to a version that uses WKContentRuleList.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::resetContentExtensions):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::configureContentExtensionForTest):
2021-05-15 Jer Noble <jer.noble@apple.com>
MediaSessionCoordinator survives page reload/navigation
https://bugs.webkit.org/show_bug.cgi?id=225822
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(-[_WKMockMediaSessionCoordinator trackIdentifierChanged:]):
2021-05-16 Chris Dumez <cdumez@apple.com>
Modernize / Optimize SQLiteStatement creation and preparation
https://bugs.webkit.org/show_bug.cgi?id=225791
Reviewed by Sam Weinig.
Update code base now that the SQLiteDatabase & SQLiteStatement API has changed.
Also use more ASCIILiterals.
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
(TestWebKitAPI::addToDatabasesTable):
2021-05-15 Ryosuke Niwa <rniwa@webkit.org>
Delete WebSQL code from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=225739
Reviewed by Sihui Liu.
* MiniBrowser/playstation/WebContext.cpp:
(WebContext::WebContext):
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories):
2021-05-15 Sam Weinig <weinig@apple.com>
Allow conditionally enabling OffscreenCanvas only for non-worker contexts
https://bugs.webkit.org/show_bug.cgi?id=225845
Reviewed by Darin Adler.
* Scripts/webkitperl/FeatureList.pm:
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
Match current behavior of ENABLE_OFFSCREEN_CANVAS and OffscreenCanvasEnabled
for ENABLE_OFFSCREEN_CANVAS_IN_WORKERS and OffscreenCanvasInWorkersEnabled.
2021-05-15 Alex Christensen <achristensen@webkit.org>
Remove _WKWebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=224293
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[CustomJavaScriptUserAgentDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[CustomNavigatorPlatformDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[PopUpPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[PopUpPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
(-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
(-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
(-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
2021-05-15 Aakash Jain <aakash_jain@apple.com>
report-non-inclusive-language should skip node_modules directory
https://bugs.webkit.org/show_bug.cgi?id=225827
Reviewed by Darin Adler.
* Scripts/report-non-inclusive-language: Skip node_modules directory as it contains external code.
2021-05-14 Chris Dumez <cdumez@apple.com>
Drop FileSystem::fileMetadata() / fileMetadataFollowingSymlinks()
https://bugs.webkit.org/show_bug.cgi?id=225820
Reviewed by Darin Adler.
Update the FileSystem API tests accordingly.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-14 Jonathan Bedard <jbedard@apple.com>
[WebKitTestRunner] Forward WebContent termination reason
https://bugs.webkit.org/show_bug.cgi?id=225818
<rdar://problem/78027164>
Reviewed by Chris Dumez.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage): Use didTerminate callback instead of didCrash callback.
(WTR::TestController::createWebViewWithOptions): Ditto.
(WTR::TestController::webProcessDidTerminate):
(WTR::TestController::processDidCrash): Renamed webProcessDidTerminate.
* WebKitTestRunner/TestController.h: Replace processDidCrash with webProcessDidTerminate.
* WebKitTestRunner/win/TestControllerWin.cpp:
(WTR::TestController::platformRunUntil):
2021-05-14 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Handle missing simulator state plist
https://bugs.webkit.org/show_bug.cgi?id=225833
<rdar://problem/78036930>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.state): If no device plist is found, assume the device is shut down.
* Scripts/webkitpy/xcode/simulated_device_unittest.py:
2021-05-14 Jonathan Bedard <jbedard@apple.com>
Fix iOS 14.5 embedded build
https://bugs.webkit.org/show_bug.cgi?id=225835
<rdar://problem/78039315>
Reviewed by Dewei Zhu.
* Scripts/configure-xcode-for-embedded-development: Add mach.h, mach_error.h and task.h.
2021-05-14 Devin Rousso <drousso@apple.com>
Sampled Page Top Color: move logic out of `Document`
https://bugs.webkit.org/show_bug.cgi?id=225480
<rdar://problem/77984539>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm:
(TEST.SampledPageTopColor.MainDocumentChange): Added.
2021-05-14 Chris Dumez <cdumez@apple.com>
Port WTF::FileSystem::realPath() to std::filesystem
https://bugs.webkit.org/show_bug.cgi?id=225828
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-14 Chris Dumez <cdumez@apple.com>
Drop "get" prefix from WTF::FileSystem's getFileModificationTime() / getFileCreationTime()
https://bugs.webkit.org/show_bug.cgi?id=225812
Reviewed by Darin Adler.
Update code base due to WTF API change.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::runGetFileModificationTimeTest):
(TestWebKitAPI::TEST_F):
2021-05-14 Chris Dumez <cdumez@apple.com>
Rename FileSystem::getVolumeFreeSpace() to FileSystem::volumeFreeSpace()
https://bugs.webkit.org/show_bug.cgi?id=225811
Reviewed by Darin Adler.
Update code base due to API change.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-14 Jean-Yves Avenard <jya@apple.com>
TestWebKitAPI.Fullscreen.WKViewDelegate is timing out
https://bugs.webkit.org/show_bug.cgi?id=223282
rdar://75495585
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
(TestWebKitAPI::TEST): Use WkView/NSWindow directly instead of using a
PlatformWebView. A PlatformWebView uses an OffscreenWindow which is a
NSWindow placed with a -10000 offset. This configuration appears to fail
to go into full screen in automation.
2021-05-14 Sam Weinig <weinig@apple.com>
REGRESSION(r277313): [ Debug ] 2 TestWebKitAPI.IPCTestingAPI (API-Tests) are constant timeouts
https://bugs.webkit.org/show_bug.cgi?id=225816
<rdar://problem/78025515>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
Update test for rename from ImageData to PixelBuffer.
2021-05-14 Devin Rousso <drousso@apple.com>
Promote `-[WKWebView _pageExtendedBackgroundColor]` SPI to `-[WKWebView underPageBackgroundColor]` API
https://bugs.webkit.org/show_bug.cgi?id=225615
<rdar://problem/76568094>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewUnderPageBackgroundColor.mm: Renamed from PageExtendedBackgroundColor.mm.
(defaultBackgroundColor): Added.
(TEST.WKWebViewUnderPageBackgroundColor.OnLoad):
(TEST.WKWebViewUnderPageBackgroundColor.SingleSolidColor): Added.
(TEST.WKWebViewUnderPageBackgroundColor.SingleBlendedColor): Added.
(TEST.WKWebViewUnderPageBackgroundColor.MultipleSolidColors): Added.
(TEST.WKWebViewUnderPageBackgroundColor.MultipleBlendedColors): Added.
(-[WKWebViewUnderPageBackgroundColorObserver initWithWebView:]): Added.
(-[WKWebViewUnderPageBackgroundColorObserver observeValueForKeyPath:ofObject:change:context:]): Added.
(TEST.WKWebViewUnderPageBackgroundColor.KVO):
(TEST.WKWebViewUnderPageBackgroundColor.MatchesScrollView): Added.
(TEST.WKWebViewUnderPageBackgroundColor.MultipleStyles): Deleted.
(-[WKWebViewPageExtendedBackgroundColorObserver initWithWebView:]): Deleted.
(-[WKWebViewPageExtendedBackgroundColorObserver observeValueForKeyPath:ofObject:change:context:]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm:
(createWebViewWithSampledPageTopColorMaxDifference):
(TEST.SampledPageTopColor.ExperimentalUseSampledPageTopColorForScrollAreaBackgroundColor): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewThemeColor.mm:
(createWebView): Deleted.
(TEST.WKWebView.ExperimentalUseThemeColorForScrollAreaBackgroundColor): Deleted.
Remove the experimental settings `UseSampledPageTopColorForScrollAreaBackgroundColor` and
`UseThemeColorForScrollAreaBackgroundColor` now that clients can override the default
overscroll area background color using `-[WKWebView setUnderPageBackgroundColor:]`.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2021-05-14 Devin Rousso <drousso@apple.com>
[iOS] contextmenu hints can be clipped by the WKWebView
https://bugs.webkit.org/show_bug.cgi?id=224204
<rdar://problem/77089174>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(-[TestContextMenuHintPreviewContainerUIDelegate webView:contextMenuWillPresentForElement:]): Added.
(-[TestContextMenuHintPreviewContainerUIDelegate _contextMenuHintPreviewContainerViewForWebView:]): Added.
(TEST.ContextMenu.HintPreviewContainer): Added.
2021-05-14 Chris Dumez <cdumez@apple.com>
Introduce FileSystem::updateFileModificationTime()
https://bugs.webkit.org/show_bug.cgi?id=225810
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-14 Jonathan Bedard <jbedard@apple.com>
[run-api-tests] Use Python 3 (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=225427
<rdar://problem/77584713>
Reviewed by Aakash Jain.
* Scripts/run-api-tests: Change she-bang to Python 3.
2021-05-14 Chris Dumez <cdumez@apple.com>
Rename FileSystem::getFileSize() to FileSystem::fileSize()
https://bugs.webkit.org/show_bug.cgi?id=225798
Reviewed by Alex Christensen.
Update code path to due to the API change.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
(TestWebKitAPI::TEST):
2021-05-14 Chris Dumez <cdumez@apple.com>
Rename FileSystem::pathGetFileName() to FileSystem::pathFileName()
https://bugs.webkit.org/show_bug.cgi?id=225806
Reviewed by Alex Christensen.
Rename FileSystem::pathGetFileName() to FileSystem::pathFileName(), as we avoid "get" prefixes in WebKit.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-14 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Remove unused imports
https://bugs.webkit.org/show_bug.cgi?id=225776
<rdar://problem/77982408>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/benchmark_runner/benchmark_json_merge.py:
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
* Scripts/webkitpy/browserperfdash/browserperfdash_runner.py:
* Scripts/webkitpy/common/config/ports.py:
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
* Scripts/webkitpy/common/net/layouttestresults_unittest.py:
* Scripts/webkitpy/common/net/networktransaction_unittest.py:
* Scripts/webkitpy/common/system/zipfileset_unittest.py:
* Scripts/webkitpy/common/test_expectations_unittest.py:
* Scripts/webkitpy/inspector/main.py:
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
* Scripts/webkitpy/layout_tests/controllers/manager.py:
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
* Scripts/webkitpy/layout_tests/servers/websocket_server.py:
* Scripts/webkitpy/layout_tests/views/printing.py:
* Scripts/webkitpy/minibrowser/run_webkit_app.py:
* Scripts/webkitpy/performance_tests/perftest.py:
* Scripts/webkitpy/port/base.py:
* Scripts/webkitpy/port/builders.py:
* Scripts/webkitpy/port/config_unittest.py:
* Scripts/webkitpy/results/upload_unittest.py:
* Scripts/webkitpy/style/checkers/test_expectations.py:
* Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
* Scripts/webkitpy/style/checkers/text_unittest.py:
* Scripts/webkitpy/style/filereader_unittest.py:
* Scripts/webkitpy/style/optparser.py:
* Scripts/webkitpy/test/printer.py:
* Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
* Scripts/webkitpy/tool/bot/retrylogic_unittest.py:
* Scripts/webkitpy/tool/commands/queuestest.py:
* Scripts/webkitpy/tool/commands/rebaselineserver.py:
* Scripts/webkitpy/tool/commands/setupgitclone.py:
* Scripts/webkitpy/tool/commands/suggestnominations.py:
* Scripts/webkitpy/tool/commands/upload.py:
* Scripts/webkitpy/tool/main.py:
* Scripts/webkitpy/tool/mocktool.py:
* Scripts/webkitpy/tool/multicommandtool_unittest.py:
* Scripts/webkitpy/tool/servers/gardeningserver.py:
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
* Scripts/webkitpy/tool/servers/reflectionhandler.py:
* Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:
* Scripts/webkitpy/tool/steps/wptchangeexport.py:
* Scripts/webkitpy/w3c/wpt_runner.py:
* Scripts/webkitpy/webdriver_tests/pytest_runner.py:
* Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
* Scripts/webkitpy/webdriver_tests/webdriver_test_result.py:
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
2021-05-14 Jonathan Bedard <jbedard@apple.com>
test-lldb-webkit failing with import of lldb
https://bugs.webkit.org/show_bug.cgi?id=225792
<rdar://problem/77993980>
Reviewed by Dewei Zhu.
* CISupport/build-webkit-org/steps.py:
(RunLLDBWebKitTests): Invoke test-lldb-webkit with Python 3.
* CISupport/build-webkit-org/steps_unittest.py:
* Scripts/test-lldb-webkit: Change shebang to Python 3.
2021-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. [GTK] Fix make distcheck
Update library version now that we build with soup3 by default.
* Scripts/make-dist:
(Distcheck.check_symbols):
(ensure_version_if_possible):
2021-05-13 Aakash Jain <aakash_jain@apple.com>
report-non-inclusive-language should skip symlinks
https://bugs.webkit.org/show_bug.cgi?id=225789
Reviewed by Darin Adler.
* Scripts/report-non-inclusive-language: Skip symlinks since most likely the linked file would be checked
directly by the script while iterating the directory structure and would result in it being counted twice.
Also the script fails with an error if there is a symlink pointing to a non-existing file.
2021-05-13 Aakash Jain <aakash_jain@apple.com>
[ews] Style fixes in steps.py
https://bugs.webkit.org/show_bug.cgi?id=225784
Reviewed by Dewei Zhu.
* CISupport/ews-build/steps.py:
(CheckOutSource.__init__):
(ShowIdentifier.hideStepIf):
(BugzillaMixin.get_bugzilla_api_key):
(RunJavaScriptCoreTests.commandComplete):
(AnalyzeJSCTestsResults.send_email_for_pre_existing_failure):
(AnalyzeLayoutTestsResults._report_flaky_tests):
(DownloadBuiltProduct):
(AnalyzeAPITestsResults.analyzeResults.getAPITestFailures):
(AnalyzeAPITestsResults.send_email_for_pre_existing_failure):
2021-05-13 Chris Dumez <cdumez@apple.com>
Tweak ServiceWorkers.SuspendServiceWorkerProcessBasedOnClientProcesses to find out source of timeout
https://bugs.webkit.org/show_bug.cgi?id=225770
Reviewed by Alexey Proskuryakov.
Wait for conditions with our own timeout so that the test fails with useful errors instead
of just a generic timeout. This just help us find out where in the test things go wrong.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2021-05-13 Alex Christensen <achristensen@webkit.org>
Add unit test using WKHTTPCookieStoreObserver and cookies received from HTTP
https://bugs.webkit.org/show_bug.cgi?id=225773
Reviewed by Chris Dumez.
We only had tests that added cookies through the API, not through the network.
I thought it was broken but it isn't. Still worth adding the test.
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(deleteAllCookies):
(TEST):
2021-05-13 Chris Dumez <cdumez@apple.com>
Rename FileSystem::directoryName() to FileSystem::parentPath()
https://bugs.webkit.org/show_bug.cgi?id=225768
Reviewed by Darin Adler.
Rename FileSystem::directoryName() to FileSystem::parentPath() for clarity and
consistency with std::filesystem::parent_path() which is used internally.
* DumpRenderTree/win/DumpRenderTree.cpp:
(findFontFallback):
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
(TestWebKitAPI::Util::moduleDirectory):
2021-05-13 Chris Dumez <cdumez@apple.com>
Rename FileSystem::fileIsDirectory(path, followSymlinks) to isDirectory(path) / isDirectoryFollowingSymlinks(path)
https://bugs.webkit.org/show_bug.cgi?id=225772
Reviewed by Darin Adler.
Update code base due to API naming change.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-13 Chris Dumez <cdumez@apple.com>
Introduce FileSystem::hardLinkCount()
https://bugs.webkit.org/show_bug.cgi?id=225767
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-13 Jonathan Bedard <jbedard@apple.com>
[run-api-tests] Use Python 3 (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=225427
<rdar://problem/77584713>
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/steps.py:
(RunAPITests): Use Python3 to invoke run-api-tests.
* CISupport/ews-build/steps.py:
(RunAPITests): Use Python3 to invoke run-api-tests.
* CISupport/ews-build/steps_unittest.py:
2021-05-13 Jonathan Bedard <jbedard@apple.com>
Few webkitpy unit-tests fails in non-PST timezones
https://bugs.webkit.org/show_bug.cgi?id=225741
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py: Ditto.
(Svn.request): Serve SVN content from California time (like our SVN server)
2021-05-13 Darin Adler <darin@apple.com>
Remove StringBuilder::appendNumber
https://bugs.webkit.org/show_bug.cgi?id=225732
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
Test append with a number instead of appendNumber.
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
Use append instead of appendNumber.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::dumpResponseDescriptionSuitableForTestResult): Use append instead
of appendNumber.
(WTR::dumpFrameScrollPosition): Ditto.
(WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): Use makeString
instead of StringBuilder.
(WTR::InjectedBundlePage::shouldCacheResponse): Ditto.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::attributesOfElement): Use append instead of appendNumber.
(WTR::AccessibilityUIElement::attributedStringForRange): Ditto.
(WTR::stringAtOffset): Ditto.
2021-05-13 Dmitry Bezhetskov <dbezhetskov@igalia.com>
Add dbezhetskov as a commiter
https://bugs.webkit.org/show_bug.cgi?id=225742
Reviewed by Caio Araujo Neponoceno de Lima.
* Scripts/webkitpy/common/config/contributors.json:
2021-05-13 Tim Horton <timothy_horton@apple.com>
ResizeReversePaginatedWebView fails on some OS versions on some hardware
https://bugs.webkit.org/show_bug.cgi?id=224699
<rdar://76782199>
Reviewed by Megan Gardner.
* TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
(TestWebKitAPI::didLayout):
This test does *not* care about the specific number of pages that are
generated; the key to the test is the scroll position check.
Since the page-count check in this test has caused lots of trouble
in the past (see the history) just remove it and replace it with a
check that we ended up paginated at all.
2021-05-12 Simon Fraser <simon.fraser@apple.com>
Update the MotionMark 1.1 plan file
Unreviewed.
Update MotionMark 1.1 to use the version from r277406, which removes the
Focus subtest.
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
2021-05-12 Myles C. Maxfield <mmaxfield@apple.com>
[MotionMark] Update plan file after r277406
https://bugs.webkit.org/show_bug.cgi?id=225721
Rubber-stamped by Geoffrey Garen.
Just update the plan.
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
2021-05-12 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Bots should automatically recover from svn checkout is already locked issue
https://bugs.webkit.org/show_bug.cgi?id=225717
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(CheckOutSource): Set haltOnFailure to False so that cleanup step can run. Also set the step name while we are at it.
(CheckOutSource.__init__): Also set logEnviron to False.
(CheckOutSource.getResultSummary): Run SVNCleanup step in case of failure.
(SVNCleanup):
(SVNCleanup.__init__):
(SVNCleanup.evaluateCommand):
* CISupport/build-webkit-org/steps_unittest.py: Added unit-tests for the new step.
2021-05-12 Chris Dumez <cdumez@apple.com>
Unreviewed follow-up to r277376.
Enable the API tests only if ENABLE(NOTIFICATIONS). It is important since
notifications are enabled on macOS but not iOS currently.
* TestWebKitAPI/Tests/WebKitCocoa/NotificationAPI.mm:
2021-05-12 Sihui Liu <sihui_liu@apple.com>
[ BigSur Release ] TestWebKitAPI.IndexedDB.KillWebProcessWithOpenConnection is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=225372
<rdar://problem/77532291>
Reviewed by Chris Dumez.
Ensure IDB data is cleared before test and make error logging more detailed.
* TestWebKitAPI/Tests/WebKitCocoa/KillWebProcessWithOpenConnection-1.html:
* TestWebKitAPI/Tests/WebKitCocoa/KillWebProcessWithOpenConnection-2.html:
* TestWebKitAPI/Tests/WebKitCocoa/WebProcessKillIDBCleanup.mm: Listen to version change event because it
indicates that server starts handling second open request in KillWebProcessWithOpenConnection-2.html.
(-[IndexedDBWebProcessKillMessageHandler userContentController:didReceiveScriptMessage:]):
(getNextMessage):
(TEST):
2021-05-12 Jonathan Bedard <jbedard@apple.com>
[TestWebKitAPI] Explicitly exit after completing tests
https://bugs.webkit.org/show_bug.cgi?id=225703
<rdar://problem/77673980>
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/ios/mainIOS.mm:
(main): Explicitly exit the testing process.
2021-05-12 Chris Dumez <cdumez@apple.com>
Queue notification permission requests for the same origin on WebKit side
https://bugs.webkit.org/show_bug.cgi?id=225701
<rdar://76804977>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/NotificationAPI.mm: Added.
(-[NotificationPermissionMessageHandler userContentController:didReceiveScriptMessage:]):
(-[NotificationPermissionUIDelegate initWithHandler:]):
(-[NotificationPermissionUIDelegate _webView:requestNotificationPermissionForSecurityOrigin:decisionHandler:]):
(TestWebKitAPI::runRequestPermissionTest):
(TestWebKitAPI::TEST):
(TestWebKitAPI::runParallelPermissionRequestsTest):
2021-05-11 Chris Dumez <cdumez@apple.com>
Port WTF::FileSystem::listDirectory to std::filesystem
https://bugs.webkit.org/show_bug.cgi?id=225633
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::createTestFile):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
(TestWebKitAPI::removeDirectoryAndAllContents):
2021-05-11 Chris Dumez <cdumez@apple.com>
Add SPI to suspend / resume a WKWebView
https://bugs.webkit.org/show_bug.cgi?id=225333
<rdar://77462543>
Reviewed by Geoff Garen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspension.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/postMessage-regularly.html: Added.
2021-05-11 Darin Adler <darin@apple.com>
Remove the String::toInt family of functions
https://bugs.webkit.org/show_bug.cgi?id=225599
Reviewed by Anders Carlsson.
* TestWebKitAPI/CMakeLists.txt: Added StringToIntegerConversion.cpp.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
* TestWebKitAPI/Tests/WTF/StringToIntegerConversion.cpp: Added.
Contains tests moved and adapted from the files below so we don't
lose test coverage. We and and should add many more tests.
* TestWebKitAPI/Tests/WTF/StringView.cpp: Removed tests for parseUInt16
and StringView::toIntStrict.
* TestWebKitAPI/Tests/WTF/WTFString.cpp: Removed tests for String::toInt.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: Use
parseInteger<uint64_t> instead of StringView::toUInt64Strict.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: Ditto.
2021-05-11 Devin Rousso <drousso@apple.com>
[macCatalyst] should have CSS `hover: hover` and `pointer: fine`
https://bugs.webkit.org/show_bug.cgi?id=225672
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(TEST.iOSMouseSupport.MouseAlwaysConnected):
* TestWebKitAPI/Tests/WebKitCocoa/iOSStylusSupport.mm:
2021-05-11 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r277341.
https://bugs.webkit.org/show_bug.cgi?id=225685
Caused WK2 layout tests to exit with an exception
Reverted changeset:
"Add SPI to suspend / resume a WKWebView"
https://bugs.webkit.org/show_bug.cgi?id=225333
https://trac.webkit.org/changeset/277341
2021-05-11 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Mail compose web view doesn't scroll to reveal the selection in certain configurations
https://bugs.webkit.org/show_bug.cgi?id=225675
rdar://77095886
Reviewed by Tim Horton.
Rename some testing SPI. See WebKit/ChangeLog for more information.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::inputViewBounds const):
2021-05-11 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r277319.
https://bugs.webkit.org/show_bug.cgi?id=225680
Always enabling AsyncOverflowScrolling made many tests fail or
crash
Reverted changeset:
"[GTK] compositing/overflow/dynamic-composited-scrolling-
status.html is failing"
https://bugs.webkit.org/show_bug.cgi?id=225644
https://trac.webkit.org/changeset/277319
2021-05-11 Sihui Liu <sihui_liu@apple.com>
Use one VM per thread for IDB serialization work
https://bugs.webkit.org/show_bug.cgi?id=225658
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
(-[DatabaseProcessKillMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
2021-05-11 Chris Dumez <cdumez@apple.com>
Add SPI to suspend / resume a WKWebView
https://bugs.webkit.org/show_bug.cgi?id=225333
<rdar://77462543>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspension.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/postMessage-regularly.html: Added.
2021-05-11 Alex Christensen <achristensen@webkit.org>
Add SPI to restrict networking to a set of hosts
https://bugs.webkit.org/show_bug.cgi?id=225426
<rdar://77571521>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(TEST):
(webSocketAcceptValue): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::Connection::webSocketHandshake):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::Connection::webSocketHandshake):
2021-05-11 Diego Pino Garcia <dpino@igalia.com>
[GTK] compositing/overflow/dynamic-composited-scrolling-status.html is failing
https://bugs.webkit.org/show_bug.cgi?id=225644
Reviewed by Carlos Garcia Campos.
The test started failing in r277258, which makes WebKitGTK to use
always async scrolling in AC mode. After this change, WebKitTestRunner
should always enable AsyncOverflowScrolling.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const): Enable AsyncOverflowScrolling.
2021-05-11 Angelos Oikonomopoulos <angelos@igalia.com>
[JSC] detect infrastructure failure for remote stress tests
https://bugs.webkit.org/show_bug.cgi?id=222601
Reviewed by Mark Lam.
run-jsc-stress-tests currently detects failures by the absence of
a failure file (that is generated by each failing test). This is
fragile to begin with, as it assumes that tests that fail to run
(e.g. because of an error in the runner script) are successful by
default.
However, the main motivation for this patch is to make execution
more robust when using remote hosts. Currently,
--gnu-parallel-runner will transparently reschedule jobs on a
different host when a remote host goes away. But detectFailures
expects to be able to connect to all hosts and fetch the failure
files, which fails if a remote host is still down when the run
finishes.
Instead, this patch changes the runners to always generate a status
file with the exit code. detectFailures then fetches all status
files from all hosts that are live on exit. Tests that failed to
run are explicitly accounted for as 'noreport' and are set to
ERROR in the final report.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2021-05-10 Chris Dumez <cdumez@apple.com>
Use non-throwing std::filesystem API in TestRunner
https://bugs.webkit.org/show_bug.cgi?id=225632
Reviewed by Darin Adler.
* TestRunnerShared/TestCommand.cpp:
(WTR::testPath):
(WTR::testURLString):
* TestRunnerShared/TestFeatures.cpp:
(WTR::parseTestHeader):
2021-05-10 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Allow immediate action gestures to begin when force clicking text inside image overlays
https://bugs.webkit.org/show_bug.cgi?id=225600
<rdar://problem/77792365>
Reviewed by Tim Horton.
Add new API tests to exercise these changes by grabbing the immediate action `NSGestureRecognizer` from
`WKWebView` and calling into its delegate. This patch adds two basic immediate action tests by simulating the
immediate action over text and the body element, and includes a third test that installs an image overlay using
an injected `internals` object, and verifies that the immediate action in an image overlay matches that of
regular text on the page.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/ImmediateActionTests.mm: Added.
(swizzledImmediateActionLocationInView):
(-[WKWebViewForTestingImmediateActions _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
(-[WKWebViewForTestingImmediateActions immediateActionGesture]):
(-[WKWebViewForTestingImmediateActions simulateImmediateAction:]):
(TestWebKitAPI::TEST):
2021-05-10 Kate Cheney <katherine_cheney@apple.com>
Preflight requests not properly attributed as app-bound
https://bugs.webkit.org/show_bug.cgi?id=225596
<rdar://problem/77664272>
Reviewed by Brent Fulgham.
Add test infrastructure.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::didLoadAppBoundRequest):
(WTR::TestRunner::didLoadNonAppBoundRequest):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didLoadAppBoundRequest):
(WTR::TestController::didLoadNonAppBoundRequest):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::didLoadAppBoundRequest):
(WTR::TestController::didLoadNonAppBoundRequest):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _didLoadAppBoundRequest:]):
(-[TestRunnerWKWebView _didLoadNonAppBoundRequest:]):
2021-05-10 Chris Dumez <cdumez@apple.com>
[iOS] Pages with service workers do not suspend promptly
https://bugs.webkit.org/show_bug.cgi?id=225598
<rdar://problem/77753717>
Reviewed by Youenn Fablet.
Update WebKit API test accordingly.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2021-05-10 Alex Christensen <achristensen@webkit.org>
Add ObjC API similar to WKBundlePageCopyGroupIdentifier
https://bugs.webkit.org/show_bug.cgi?id=225477
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn getGroupIdentifier:]):
2021-05-10 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Rename master_buildbot2.cfg to master.cfg
https://bugs.webkit.org/show_bug.cgi?id=222600
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/buildbot.tac:
* CISupport/build-webkit-org/master.cfg: Moved from Tools/CISupport/build-webkit-org/master_buildbot2.cfg.
* CISupport/build-webkit-org/master_buildbot2.cfg: Removed.
2021-05-10 Alex Christensen <achristensen@webkit.org>
Add unit test for r274129
https://bugs.webkit.org/show_bug.cgi?id=224021
Reviewed by Chris Dumez.
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn sendAwakener:completionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/TestAwakener.h: Added.
* TestWebKitAPI/Tests/WebKitCocoa/TestAwakener.mm: Added.
(-[TestAwakener awakeAfterUsingCoder:]):
(-[TestAwakener initWithValue:]):
(-[TestAwakener value]):
(+[TestAwakener supportsSecureCoding]):
(-[TestAwakener encodeWithCoder:]):
(-[TestAwakener initWithCoder:]):
2021-05-10 Devin Rousso <drousso@apple.com>
Add support for a `media` attribute on `<meta name="theme-color" content="...">`
https://bugs.webkit.org/show_bug.cgi?id=224389
<rdar://problem/74991621>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewThemeColor.mm:
(TEST.WKWebViewThemeColor.MetaElementValidNameAndColor): Added.
(TEST.WKWebViewThemeColor.MetaElementValidNameAndColorAndMedia): Added.
(TEST.WKWebViewThemeColor.MetaElementInvalidName): Added.
(TEST.WKWebViewThemeColor.MetaElementInvalidColor): Added.
(TEST.WKWebViewThemeColor.MetaElementInvalidMedia): Added.
(TEST.WKWebViewThemeColor.MetaElementMultipleValid): Added.
(TEST.WKWebViewThemeColor.MetaElementValidSubframe): Added.
(-[WKWebViewThemeColorObserver observeValueForKeyPath:ofObject:change:context:]):
(TEST.WKWebViewThemeColor.KVO):
(TEST.WKWebViewThemeColor.MetaElementOnLoad): Deleted.
(TEST.WKWebViewThemeColor.MetaElementMultipleTags): Deleted.
2021-05-09 Darin Adler <darin@apple.com>
Remove all remaining uses of the String::toInt family of functions
https://bugs.webkit.org/show_bug.cgi?id=225580
Reviewed by Sam Weinig.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::numberAttributeValue): Use
parseIntegerAllowingTrailingJunk<int> instead of String::toInt.
(WTR::AccessibilityUIElement::hierarchicalLevel const): Ditto.
2021-05-10 Alex Christensen <achristensen@webkit.org>
css-display-none actions from WKContentRuleList should apply to pages loaded with loadData and loadHTMLString
https://bugs.webkit.org/show_bug.cgi?id=225493
<rdar://77331789>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(TEST):
2021-05-10 Chris Dumez <cdumez@apple.com>
Fix potential races in AppleLanguagesTest.UpdateAppleLanguages API test
https://bugs.webkit.org/show_bug.cgi?id=225429
Reviewed by Darin Adler.
Calling [TestWKWebView performAfterReceivingAnyMessage] registers a MessageHandler which sends an
async WebUserContentController::AddUserScriptMessageHandlers IPC to the WebProcess. We want to
make sure that that message handler is registered in the WebProcess before the JS on the page
calls `webkit.messageHandlers.testHandler.postMessage()`. To address this issue, I moved the
call to `[TestWKWebView performAfterReceivingAnyMessage]` before the call to evaluateJavaScript
that registers the event listener that may call `webkit.messageHandlers.testHandler.postMessage()`.
Also make sure the PreferenceObserver has been allocated after sending the
"NSApplicationDidBecomeActiveNotification" and before proceeding with the test.
I am also adding an extra check at the end to make sure that the value of navigator.language is
correct and to make sure that WKPreferenceObserver.preferenceDidChange was called. This was done
to help diagnose flakiness issues on the bots that I cannot reproduce locally.
* TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
(TEST_F):
2021-05-10 Aditya Keerthi <akeerthi@apple.com>
[iPadOS] Do not present custom input peripherals when switching back to a tab with a focused element
https://bugs.webkit.org/show_bug.cgi?id=225541
<rdar://problem/77537795>
Reviewed by Wenson Hsieh.
Updated a UIScriptController hook that simulates attaching a hardware
keyboard to also swizzle [UIKeyboard isInHardwareKeyboardMode].
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformInitialize):
(WTR::TestController::platformResetStateToConsistentValues):
Moved the default swizzling behavior into this method so that it remains
consistent across tests.
Unfortunately, the default swizzling behavior contrasts with the default
value of GSEventSetHardwareKeyboardAttached. However, this is an existing
inconsistency, and should be looked at more carefully in a separate
investigation.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::returnYes):
(WTR::returnNo):
(WTR::UIScriptControllerIOS::setHardwareKeyboardAttached):
2021-05-10 Alex Christensen <achristensen@webkit.org>
Remove WKBundlePageGroupRef
https://bugs.webkit.org/show_bug.cgi?id=225471
Reviewed by Darin Adler.
Also use some smart pointers instead of raw pointers to keep things safe.
* TestWebKitAPI/InjectedBundleController.cpp:
(TestWebKitAPI::InjectedBundleController::InjectedBundleController):
(TestWebKitAPI::InjectedBundleController::initialize):
(TestWebKitAPI::InjectedBundleController::didInitializePageGroup): Deleted.
* TestWebKitAPI/InjectedBundleController.h:
(TestWebKitAPI::InjectedBundleController::bundle const):
* TestWebKitAPI/InjectedBundleTest.h:
(TestWebKitAPI::InjectedBundleTest::willDestroyPage):
(TestWebKitAPI::InjectedBundleTest::Register::create):
(TestWebKitAPI::InjectedBundleTest::didInitializePageGroup): Deleted.
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionNoCache_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit/DocumentStartUserScriptAlertCrash_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit/InjectedBundleMakeAllShadowRootsOpen_Bundle.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::initialize):
(WTR::InjectedBundle::didCreatePage):
(WTR::InjectedBundle::didReceiveMessage):
(WTR::InjectedBundle::reportLiveDocuments):
(WTR::InjectedBundle::didReceiveMessageToPage):
(WTR::InjectedBundle::beginTesting):
(WTR::InjectedBundle::statisticsNotifyObserver):
(WTR::InjectedBundle::didInitializePageGroup): Deleted.
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::InjectedBundle::bundle const):
(WTR::InjectedBundle::pageGroup const): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUserStyleSheetEnabled):
(WTR::TestRunner::setAsynchronousSpellCheckingEnabled):
2021-05-09 Khem Raj <raj.khem@gmail.com>
[Tools] Generate marshalling code without source reference
https://bugs.webkit.org/show_bug.cgi?id=225283
Reviewed by Carlos Alberto Lopez Perez.
* MiniBrowser/gtk/CMakeLists.txt:
2021-05-09 Ryosuke Niwa <rniwa@webkit.org>
IPC testing API should have the ability to send and receive shared memory
https://bugs.webkit.org/show_bug.cgi?id=225576
Reviewed by Wenson Hsieh.
Added tests for sending and receiving shared memory in the IPC testing API.
Also added a test to send semaphore, which was missing in r277199.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(IPCTestingAPI.CanReceiveSharedMemory): Added.
(IPCTestingAPI.CanCreateSharedMemory): Added.
(IPCTestingAPI.CanSendSemaphpre): Added after r277199.
(IPCTestingAPI.CanSendSharedMemory): Added.
2021-05-09 Myles C. Maxfield <mmaxfield@apple.com>
[GPU Process] Simplify DisplayList::Iterator part 6: Migrate ItemBufferWritingClient from ItemHandle to a const Variant&
https://bugs.webkit.org/show_bug.cgi?id=224270
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
2021-05-08 Alex Christensen <achristensen@webkit.org>
REGRESSION (r276797?): [ macOS/iOS ] TestWebKitAPI.URLSchemeHandler.Exceptions is flakey crashing
https://bugs.webkit.org/show_bug.cgi?id=225373
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:
(runUntilTasksInFlight):
2021-05-08 Chris Dumez <cdumez@apple.com>
Port Filesystem::pathByAppendingComponent() & Filesystem:: pathByAppendingComponents() to std::filesystem
https://bugs.webkit.org/show_bug.cgi?id=225550
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-07 Chris Dumez <cdumez@apple.com>
Port FileSystem::pathGetFileName() & Filesystem::directoryName() to std::filesystem
https://bugs.webkit.org/show_bug.cgi?id=225524
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-07 Brent Fulgham <bfulgham@apple.com>
[iOS] Make AccessibilityReduceMotion test case work on iOS
https://bugs.webkit.org/show_bug.cgi?id=225244
<rdar://problem/77589455>
Reviewed by Per Arne Vollan.
New tests for Accessibility-related features were added in Bug 215664, but only for macOS.
We support these same features on iOS, and should have test coverage.
* TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm:
(notificationCallback):
(TEST):
2021-05-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r277201.
https://bugs.webkit.org/show_bug.cgi?id=225542
Includes project file change.
Reverted changeset:
"[iOS] Make AccessibilityReduceMotion test case work on iOS"
https://bugs.webkit.org/show_bug.cgi?id=225244
https://trac.webkit.org/changeset/277201
2021-05-07 Carlos Garcia Campos <cgarcia@igalia.com>
Do not try to remove and already removed node while deleting selection
https://bugs.webkit.org/show_bug.cgi?id=224893
Reviewed by Ryosuke Niwa.
Add new API to allow tests to trigger a force repaint on load finished.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::frameDidChangeLocation):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::displayOnLoadFinish):
(WTR::TestRunner::shouldDisplayOnLoadFinish):
2021-05-07 Brent Fulgham <bfulgham@apple.com>
[iOS] Make AccessibilityReduceMotion test case work on iOS
https://bugs.webkit.org/show_bug.cgi?id=225244
<rdar://problem/77589455>
New tests for Accessibility-related features were added in Bug 215664, but only for macOS.
We support these same features on iOS, and should have test coverage.
Reviewed by Per Arne Vollan.
* TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm:
(notificationCallback):
(TEST):
2021-05-07 Ryosuke Niwa <rniwa@webkit.org>
IPC testing API should have the ability to create and receive IPC::Semaphore
https://bugs.webkit.org/show_bug.cgi?id=225537
Reviewed by Wenson Hsieh.
Added tests to make sure IPC testing API allows creation of a semaphore,
and receiving one as a reply to an IPC message.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(IPCTestingAPI.CanReceiveIPCSemaphore): Added.
(IPCTestingAPI.CanCreateIPCSemaphore): Added.
2021-05-07 Aakash Jain <aakash_jain@apple.com>
Use test-tube emoji for EWS status bubbles for tester queues
https://bugs.webkit.org/show_bug.cgi?id=225517
Reviewed by Alan Bujtas.
* CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
2021-05-07 Chris Dumez <cdumez@apple.com>
Add API test for FileSystem::fileExists() and FileSystem::fileMetadata() when dealing with symlinks to symlinks
https://bugs.webkit.org/show_bug.cgi?id=225491
Reviewed by Sam Weinig.
Update FileSystemTest::SetUp() to use a valid path when constructing the test symlink
(tempFileSymlinkPath). Add API test for FileSystem::fileExists() and FileSystem::fileMetadata()
when dealing with symlinks to symlinks.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-07 Philippe Normand <pnormand@igalia.com>
Unreviewed, WPE gardening
* TestWebKitAPI/glib/TestExpectations.json: Unflag test, wpebackend-fdo was downgraded in
the SDK revision r277166.
2021-05-06 Chris Dumez <cdumez@apple.com>
Port Filesystem::fileMetadata() & Filesystem::getFileModificationTime() to std::filesystem
https://bugs.webkit.org/show_bug.cgi?id=225362
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::runGetFileModificationTimeTest):
2021-05-06 Lauro Moura <lmoura@igalia.com>
[WPE] Garden web-process-crashed API test flakiness after SDK update
Unreviewed test gardening.
* TestWebKitAPI/glib/TestExpectations.json:
2021-05-06 Chris Dumez <cdumez@apple.com>
Regression(r254389?) navigator.languages returns all lowercase languages for ports using CF
https://bugs.webkit.org/show_bug.cgi?id=225461
Reviewed by Darin Adler.
Update existing API tests to reflect behavior change.
* TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
(TEST):
(TEST_F):
2021-05-06 Devin Rousso <drousso@apple.com>
Sampled Page Top Color: make hit tests consider elements with `pointer-events: none`
https://bugs.webkit.org/show_bug.cgi?id=225419
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm:
(TEST.SampledPageTopColor.HitTestCSSPointerEventsNone): Added.
2021-05-06 Devin Rousso <drousso@apple.com>
Sampled Page Top Color: don't snapshot if the hit test location is a canvas
https://bugs.webkit.org/show_bug.cgi?id=225418
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm:
(TEST.SampledPageTopColor.HitTestHTMLCanvasWithoutRenderingContext): Added.
(TEST.SampledPageTopColor.HitTestHTMLCanvasWithRenderingContext): Added.
2021-05-06 Jonathan Bedard <jbedard@apple.com>
[webkit-patch] setup-git-clone uses master instead of main
https://bugs.webkit.org/show_bug.cgi?id=225460
<rdar://problem/77616439>
Reviewed by Aakash Jain.
* Scripts/webkitpy/tool/commands/setupgitclone.py:
(SetupGitClone.execute): Pair the remote branch ref with the Svn remote.
2021-05-06 Chris Dumez <cdumez@apple.com>
Add API test for FileSystem::fileExists() on a broken symbolic link
https://bugs.webkit.org/show_bug.cgi?id=225476
Reviewed by Darin Adler.
Add API test for FileSystem::fileExists() on a broken symbolic link since this is a special
case. FileSystem::fileExists() currently tries to follow symbolic links and will thus return
false. The behavior is a little odd but I have verified that this is what our access()-based
implementation was returning also before I ported FileSystem::fileExists() to std::filesystem.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-06 Filip Pizlo <fpizlo@apple.com>
Make it easy to pass __XPC variables to run-benchmark
https://bugs.webkit.org/show_bug.cgi?id=225473
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launch_url):
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(config_argument_parser):
2021-05-06 Aakash Jain <aakash_jain@apple.com>
EWS bubbles should show current status after pressing 'Retry failed builds' button
https://bugs.webkit.org/show_bug.cgi?id=225411
Reviewed by Jonathan Bedard.
* CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble):
2021-05-06 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add API to efficiently create a sequence of commits
https://bugs.webkit.org/show_bug.cgi?id=224890
<rdar://problem/76975733>
Rubber-stamped by Aakash Jain.
While it is possible to simple iterate through a range of commits to define them,
every API we use to define commits has much more efficient techniques.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor): Add revision to SVN_AUTHOR_RE and add regex without lines.
(Contributor.from_scm_log): Strip leading whitespace from author.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git._args_from_content):
(Git.commits): Use `git log` to efficiently compute a range of commits.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn._args_from_content):
(Svn.commits): Use `svn log` to efficiently compute a range of commits.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__init__): Add `git log` mock.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.__init__): Add `svn log` mock and more explicit `svn info` mock.
(Svn._log_range):
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub._commits_response): Return all parent commits to provided ref.
(GitHub.request):
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.range): More efficiently compute the range.
(Svn.request):
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.request): Allow caller to disable pagination.
(GitHub.commit): Reduce number of requests required to compute order.
(GitHub.commits): Using the `commits` endpoint, more efficiently
compute a range of commits.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn): Generalize HISTORY_RE to match any single-line SVN XML response.
(Svn._cache_revisions): Replace HISTORY_RE with DATA_RE.
(Svn.commits): Use svn/rvr to efficiently compute a range of commits.
* Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase._commit_range): Return a pair of commits representing the range
the caller is requesting, and preform some basic sanity checks.
(ScmBase.commits): Declare function implemented by decedents.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_commits):
(TestGit.test_commits_branch):
(TestGitHub.test_commits):
(TestGitHub.test_commits_branch):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_commits):
(TestLocalSvn.test_commits_branch):
(TestRemoteSvn.test_commits):
(TestRemoteSvn.test_commits_branch):
2021-05-06 Chris Dumez <cdumez@apple.com>
REGRESSION (r272414?): [macOS] TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=221742
<rdar://problem/74220428>
Reviewed by Youenn Fablet.
Check that video.currentTime is changing to determine if the video is playing, instead of
relying on [webView _isPlayingAudio]. Also use a test page with a single video element instead
of multiple. I am hoping this will make the test more reliable or at least shade some light on
why this is flaky.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-05-06 Sam Sneddon <gsnedders@apple.com>
mark all SCM tests using SVN as slow, a couple as xfail; enable SCM
https://bugs.webkit.org/show_bug.cgi?id=225156
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(SVNTest): Mark all tests with @slow
(GitSVNTest): Mark all tests with @slow
* Scripts/webkitpy/conftest.py:
(pytest_configure): Define the "slow" marker
(pytest_addoption): Add --run-slow to opt-in
(pytest_collection_modifyitems): Implement --run-slow
* Scripts/webkitpy/pytest.ini: remove "not scm_unitest"
* Scripts/webkitpy/test/markers.py:
(slow): add our own wrapper around the pytest mark function
2021-05-05 Diego Pino Garcia <dpino@igalia.com>
[build.webkit.org] Add new post-commit builder WPE-Linux-64-bit-Release-Non-Unified-Build
https://bugs.webkit.org/show_bug.cgi?id=225385
Reviewed by Aakash Jain.
This new post-commit builder will build WPE with Unified builds disabled.
By default, builders build WebKit using Unified sources to speed up
time compilation. Unfortunately, unified source compilation may hide
compilation errors sometimes. A common hidden error are missing headers
in some source files. This hidden compilation errors might be discovered
later when a group of source files are stashed together in a different
manner.
Having a Non-Unified source post-commit builder will help to detect
regressions in unified source compilation for a certain WebKit port,
in this case WPE Release. Usually when these regressions happen they
tend to happen too in other ports such as WebKitGTK, Win or PlayStation.
* CISupport/build-webkit-org/config.json:
2021-05-05 Jonathan Bedard <jbedard@apple.com>
[run-api-tests] Use webkitcorepy's TaskPool
https://bugs.webkit.org/show_bug.cgi?id=225221
<rdar://problem/77352465>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(TaskPool.__enter__): Ensure that mock has been imported before spawning child processes.
* Scripts/run-api-tests: Moved from webkitpy/api_tests/run_api_tests.py.
* Scripts/webkitpy/api_tests/run_api_tests.py: Moved to run-api-tests.
* Scripts/webkitpy/api_tests/runner.py:
(_Worker): Representation of Worker process.
(_Worker.setup): Pass port object to worker process.
(_Worker.teardown): Un-set port object on worker process.
(_Worker.__init__): Construct object to hold a Worker process's variables.
(_Worker._run_single_test): Log test results, post results to parent.
(_Worker.run): Run shard with and post results to parent process.
(setup_shard): Run setup in Worker process.
(run_shard): Run test shard in Worker process.
(report_result): Receive result in the parent process.
((teardown_shard): Tear down Worker process.
(Runner.__init__):
(Runner.command_for_port):
(Runner._shard_tests): Split tests into shards to be efficiently run.
(Runner.run): Use TaskPool to run tests in sub processes.
(Runner.callback): Save results in parent process.
(Runner.result_map_by_status):
(Runner.handle): Deleted.
(_Worker._run_shard_with_binary): Deleted.
(_Worker.post): Deleted.
(_Worker.handle): Deleted.
2021-05-05 Devin Rousso <drousso@apple.com>
Sampled Page Top Color: don't snapshot if the hit test location is an image or has an animation
https://bugs.webkit.org/show_bug.cgi?id=225338
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm:
(TEST.SampledPageTopColor.HitTestHTMLImage):
(TEST.SampledPageTopColor.HitTestCSSBackgroundImage):
(TEST.SampledPageTopColor.HitTestCSSAnimation):
2021-05-05 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Add a build step to set appropriate permissions on uploaded test results
https://bugs.webkit.org/show_bug.cgi?id=225415
Reviewed by Dewei Zhu.
* CISupport/build-webkit-org/factories.py:
(TestFactory.__init__): Added the build-step.
* CISupport/build-webkit-org/steps.py:
(ExtractTestResults.resultDirectoryURL):
(SetPermissions): Build step to set permissions on uploaded test result directory.
2021-05-05 Alicia Boya García <aboya@igalia.com>
[MSE][GStreamer] WebKitMediaSrc rework v2
https://bugs.webkit.org/show_bug.cgi?id=225192
Reviewed by Xabier Rodriguez-Calvar.
WebKitMediaSrc is a GObject class and needs to follow some GObject
conventions that conflict with WebKit's. Make the checker aware of
this.
* Scripts/webkitpy/style/checker.py:
2021-05-05 Devin Rousso <drousso@apple.com>
Sampled Page Top Color: take additional snapshots further down the page to see if the sampled top color is more than just a tiny strip
https://bugs.webkit.org/show_bug.cgi?id=225323
Reviewed by Beth Dakin.
* TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm:
(createWebViewWithSampledPageTopColorMaxDifference):
(createHTMLGradientWithColorStops):
(TEST.SampledPageTopColor.ZeroMaxDifference):
(TEST.SampledPageTopColor.NegativeMaxDifference):
(TEST.SampledPageTopColor.SolidColor):
(TEST.SampledPageTopColor.DifferentColorsWithoutOutlierBelowMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsWithLeftOutlierAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsWithMiddleOutlierAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsWithRightOutlierAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsIndividuallyAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsCumulativelyAboveMaxDifference):
(TEST.SampledPageTopColor.VerticalGradientBelowMaxDifference): Added.
(TEST.SampledPageTopColor.VerticalGradientAboveMaxDifference): Added.
(TEST.SampledPageTopColor.DISABLED_DisplayP3):
(TEST.SampledPageTopColor.ExperimentalUseSampledPageTopColorForScrollAreaBackgroundColor):
2021-05-05 Sam Weinig <weinig@apple.com>
Add preliminary support for specifying a color space for 2D canvas
https://bugs.webkit.org/show_bug.cgi?id=225286
Reviewed by Dean Jackson.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
Add CanvasColorSpaceEnabled for windows.
2021-05-05 Chris Dumez <cdumez@apple.com>
Unreviewed, reverting r276985.
This test is still failing on Apple Silicon
Reverted changeset:
"Unreviewed, try and re-enable
AppleLanguagesTest.UpdateAppleLanguages on Apple Silicon."
https://commits.webkit.org/r276985
2021-05-05 Chris Dumez <cdumez@apple.com>
REGRESSION (r272414?): [macOS] TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=221742
<rdar://problem/74220428>
Reviewed by Youenn Fablet.
Make sure the video is looping so that it cannot stop playing before the end of the test.
This is a speculative fix since I haven't been able to reproduce the issue.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-05-05 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Wrong cookie timestamp in case of long expire time
https://bugs.webkit.org/show_bug.cgi?id=225389
Reviewed by Adrian Perez de Castro.
Add a test case.
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerLongExpires):
(beforeAll):
2021-05-04 Jiewen Tan <jiewen_tan@apple.com>
PCM: Find a way to validate source_secret_token and source_secret_token_signature
https://bugs.webkit.org/show_bug.cgi?id=224321
<rdar://problem/76695542>
Reviewed by John Wilander.
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
Uses RSA-PSS with SHA-384 to verify the signature.
2021-05-04 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Scope classes used in TaskPool to object
https://bugs.webkit.org/show_bug.cgi?id=225361
<rdar://problem/77514131>
Reviewed by Dewei Zhu.
The classes used by TaskPool must be stand-alone because they are passed between processes.
However, it makes sense that those classes are scoped to the TaskPool object since their
usage should always be associated with the TaskPool object
* Scripts/libraries/webkitcorepy/setup.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(_Message): Renamed from Message.
(_Task): Renamed from Task.
(_Result): Renamed from Result.
(_Log): Renamed from Log.
(_Print): Renamed from Print.
(_State): Renamed from State.
(_ChildException): Renamed from ChildException.
(_BiDirectionalQueue): Renamed from BiDirectionalQueue.
(_Process): Renamed from Process.
(TaskPool):
(TaskPool.do):
(Message): Renamed to _Message..
(Task): Renamed to _Task.
(Result): Renamed to _Result.
(Log): Renamed to _Log.
(Print): Renamed to _Print.
(State): Renamed to _State.
(ChildException): Renamed to _ChildException.
(BiDirectionalQueue): Renamed to _BiDirectionalQueue.
(Process): Renamed to _Process.
2021-05-04 Chris Dumez <cdumez@apple.com>
Unreviewed, try and re-enable AppleLanguagesTest.UpdateAppleLanguages on Apple Silicon.
The test has been updated and it may be passing now or at least fail with a more useful output.
* TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
2021-05-04 Alex Christensen <achristensen@webkit.org>
localStorage changes aren't reflected between WKWebViews using WKWebViewConfiguration._groupIdentifier
https://bugs.webkit.org/show_bug.cgi?id=225344
<rdar://77496721>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST):
2021-05-04 Aakash Jain <aakash_jain@apple.com>
[ews] Ensure file handles are not leaked in unit tests
https://bugs.webkit.org/show_bug.cgi?id=225360
Reviewed by Jonathan Bedard.
* CISupport/ews-build/email_unittest.py:
(EmailsDotJSONTest.test_valid_emails_json):
(EmailsDotJSONTest.test_emails_json_required_categories_present):
* CISupport/ews-build/loadConfig_unittest.py:
(ConfigDotJSONTest.get_config):
2021-05-04 Kate Cheney <katherine_cheney@apple.com>
Unreviewed, adding myself as a reviewer.
* Scripts/webkitpy/common/config/contributors.json:
2021-05-03 Kimmo Kinnunen <kkinnunen@apple.com>
[GPUP] Move GPUProcess WebGL to Experimental Feature
https://bugs.webkit.org/show_bug.cgi?id=222836
rdar://75048190
Reviewed by Brent Fulgham.
Move the setting for WebGL in GPU process
to experimental features but disable it by default,
even on layout tests.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
2021-05-03 Chris Dumez <cdumez@apple.com>
Restore pre-r276879 behavior for FileSystem::moveFile()
https://bugs.webkit.org/show_bug.cgi?id=225307
Reviewed by Sam Weinig.
Add API test to make sure that FileSystem::moveFile() is able to move directories since this
was the case prior to r276879.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-03 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Support pickling platforminfo
https://bugs.webkit.org/show_bug.cgi?id=225230
<rdar://problem/77384913>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__): Define default arguments.
(PlatformInfo.display_name): Use default platform module if platform_module undefined.
(PlatformInfo._win_version_str): Ditto.
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_real_code):
* Scripts/webkitpy/common/system/systemhost.py:
(SystemHost.__init__): Use default platforminfo sys and platform modules.
2021-05-03 Alex Christensen <achristensen@webkit.org>
WKWebView: WKURLSchemeHandler request don't have Range headers for custom scheme videos
https://bugs.webkit.org/show_bug.cgi?id=203302
<rdar://63750321>
Reviewed by Jer Noble and Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2021-05-03 Fujii Hironori <Hironori.Fujii@sony.com>
REGRESSION(r275810): [WebKitTestRunner] fast/text/basic/004.html fails after running fast/layoutformattingcontext tests
https://bugs.webkit.org/show_bug.cgi?id=225087
Reviewed by Don Olmstead.
fast/layoutformattingcontext tests enable some internal debug
settings by using the test file header. These settings weren't
reset after running the tests.
r275810 changed resetPreferencesToConsistentValues not to call
WKPreferencesResetAllInternalDebugFeatures.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Call WKPreferencesResetAllInternalDebugFeatures.
2021-05-03 Tim Nguyen <ntim@apple.com>
Add committer status for "Tim Nguyen" in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=225320
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-05-03 Wenson Hsieh <wenson_hsieh@apple.com>
editing/selection/ios/become-key-window-when-focusing-editable-area.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=225274
rdar://77042575
Reviewed by Tim Horton.
This test is timing out on recent versions of iOS because the `-becomeKeyWindow` subclassing hook is no longer
invoked when calling `-makeKeyWindow`, in the case where the `UIWindow` was already the key window. The iOS
version of WebKitTestRunner on iOS was dependent on this behavior because `setWindowIsKey(false)` on
`PlatformWebView` did not actually cause the test runner window to resign from being the key window. Instead, it
only set the boolean flag `PlatformWebView::m_windowIsKey`, which `WebKitTestRunnerWindow` then uses to override
the value of `-[WebKitTestRunnerWindow isKeyWindow]` (effectively side-stepping platform key window state).
We can fix this by refactoring `PlatformWebView::setWindowIsKey` to actually make the `WebKitTestRunnerWindow`
resign key window when calling `setWindowIsKey(false)`. Compared to macOS, doing this on iOS is a bit tricky
since `-[UIWindow resignKeyWindow]` is purely a subclassing hook that is invoked when the window loses its
status as the key window. However, we can work around this limitation by creating a separate `UIWindow` and
making that window key instead (which implicitly makes our current `WebKitTestRunnerWindow` resign key window).
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::setWindowIsKey):
Install the other `UIWindow` and make it key in order to resign the current key window. Note that this window is
placed just offscreen, so that simulated taps and other gestures will continue to go to the original window.
(-[WebKitTestRunnerWindow isKeyWindow]): Deleted.
Stop overriding the platform key window state with the simulated test runner state, since we now correctly
update platform key window state when setting `m_windowIsKey`. This adjustment is also necessary to ensure that
we actually end up in the `!isKey && m_window.keyWindow` case above.
2021-05-03 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Pass logging level to child processes
https://bugs.webkit.org/show_bug.cgi?id=225311
<rdar://problem/77457646>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(Process.main): Set root logging level.
(TaskPool.__init__): Pass logging level to child process.
2021-05-03 Chris Dumez <cdumez@apple.com>
Restore pre-r276879 behavior for FileSystem::deleteFile() and FileSystem::deleteEmptyDirectory()
https://bugs.webkit.org/show_bug.cgi?id=225289
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2021-05-03 Sam Weinig <weinig@apple.com>
Remove default parameter values for color space and pixel format from ImageBuffer::create to make it clear everwhere we are explicitly requesting SRGB/BGRA8 buffers
https://bugs.webkit.org/show_bug.cgi?id=225288
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
Pass arguments explicitly that were previously default values.
2021-05-03 Aakash Jain <aakash_jain@apple.com>
Remove unused gtk_im_multicontext_get_slave from valgrind/suppressions.txt
https://bugs.webkit.org/show_bug.cgi?id=225300
Reviewed by Žan Doberšek.
* Scripts/valgrind/suppressions.txt:
2021-05-03 Youenn Fablet <youenn@apple.com>
Use OptionSet for MediaProducer::MutedStateFlags
https://bugs.webkit.org/show_bug.cgi?id=224550
<rdar://problem/76960294>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
2021-05-01 Chris Dumez <cdumez@apple.com>
Start leveraging std::filesystem in WTF::FileSystem
https://bugs.webkit.org/show_bug.cgi?id=225255
Reviewed by Sam Weinig.
Add API test coverage for the FileSystem API that was modified.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::FileSystemTest::tempFilePath const):
(TestWebKitAPI::FileSystemTest::tempFileSymlinkPath const):
(TestWebKitAPI::FileSystemTest::tempEmptyFolderPath const):
(TestWebKitAPI::FileSystemTest::tempEmptyFolderSymlinkPath const):
(TestWebKitAPI::FileSystemTest::tempEmptyFilePath const):
(TestWebKitAPI::FileSystemTest::spaceContainingFilePath const):
(TestWebKitAPI::FileSystemTest::bangContainingFilePath const):
(TestWebKitAPI::FileSystemTest::quoteContainingFilePath const):
(TestWebKitAPI::TEST_F):
2021-05-01 Aakash Jain <aakash_jain@apple.com>
start-local-buildbot-server should fail gracefully for Python 2
https://bugs.webkit.org/show_bug.cgi?id=225268
Reviewed by Alexey Proskuryakov.
* CISupport/start-local-buildbot-server:
2021-05-01 Aakash Jain <aakash_jain@apple.com>
Disable search engine crawling on build.webkit.org webpages
https://bugs.webkit.org/show_bug.cgi?id=225252
Reviewed by Jonathan Bedard.
Referencec: https://developers.google.com/search/docs/advanced/robots/create-robots-txt
* CISupport/build-webkit-org/public_html/robots.txt:
2021-04-30 Wenson Hsieh <wenson_hsieh@apple.com>
App highlight UI should be disabled when selecting text in image overlays
https://bugs.webkit.org/show_bug.cgi?id=225260
rdar://77359313
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
Add a new API test to verify the behavior of `-targetForAction:withSender:` in `WKContentView`.
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
(WTR::TestOptions::keyTypeMapping):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::appHighlightsEnabled const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
Add support for a new `TestOption` that enables app highlights. See the new layout test for more information.
2021-04-30 Carlos Alberto Lopez Perez <clopez@igalia.com>
[tools] Make run-buildbot-test compatible with buildbot 2.10.5
https://bugs.webkit.org/show_bug.cgi?id=222540
Reviewed by Aakash Jain.
This renames the previous tool run-buildbot-test to start-buildbot-server-virtualenv
and it makes several changes to it:
- Use python3 and refactor the code.
- Make it also work with the EWS config (previously it only worked for the build.webkit.org config).
- Use newer buildbot configs.
- Instead of hardcoding values try to automatically detect the values from the config dir.
- Instead of starting Nth workers by default start only one round-robin worker (local-worker).
It also modifies the configuration of the EWS server to add a force scheduler in order
to allow to manually trigger builds (only in test mode).
* CISupport/build-webkit-org/run-buildbot-test.py: Removed.
* CISupport/ews-build/loadConfig.py:
(loadBuilderConfig):
* CISupport/ews-build/steps.py:
(ApplyPatch.start):
* CISupport/start-local-buildbot-server: Added.
(check_tcp_port_open):
(create_tempdir):
(print_if_error_stdout_stderr):
(cmd_exists):
(BuildbotTestRunner):
(BuildbotTestRunner.__init__):
(BuildbotTestRunner._get_config_tcp_ports):
(BuildbotTestRunner.start):
(BuildbotTestRunner._wait_for_server_ready):
(BuildbotTestRunner._create_mock_worker_passwords_dict):
(BuildbotTestRunner._setup_server_workdir):
(BuildbotTestRunner._setup_virtualenv):
(BuildbotTestRunner._upgrade_db_needed):
(BuildbotTestRunner._start_server):
(BuildbotTestRunner._get_list_workers):
(BuildbotTestRunner._start_worker):
(BuildbotTestRunner._clean):
2021-04-30 Brent Fulgham <bfulgham@apple.com>
[Cocoa] Always extend access to local process HTTP/3 cache directory
https://bugs.webkit.org/show_bug.cgi?id=225171
<rdar://problem/76287224>
Reviewed by Alex Christensen.
Since we always create the directory (even if HTTP/3 is turned off) we should expect that it is
created after loading a page.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2021-04-30 Kyle Piddington <kpiddington@apple.com>
Add kpiddington to commiters list
https://bugs.webkit.org/show_bug.cgi?id=225253
Reviewed by Dean Jackson.
* Scripts/webkitpy/common/config/contributors.json:
2021-04-30 Jonathan Bedard <jbedard@apple.com>
[webkitcmpy] Better document inner-workings of identifier generation
https://bugs.webkit.org/show_bug.cgi?id=225241
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.commit):
(Git.find):
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.commit):
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.commit):
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.commit):
2021-04-30 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Add a heuristic to determine whether a synthetic click triggered any meaningful changes
https://bugs.webkit.org/show_bug.cgi?id=225240
rdar://77221196
Reviewed by Tim Horton.
Add test runner plumbing to test the new heuristic. Note that we can't just utilize the `WKUIDelegatePrivate`
method directly, since we end up overriding the web view's `UIClient` via `WKPageSetPageUIClient`, so the call
to `m_uiClient->didNotHandleTapAsMeaningfulClickAtPoint(point);` ends up being a no-op.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::installDidNotHandleTapAsMeaningfulClickCallback):
(WTR::TestRunner::callDidNotHandleTapAsMeaningfulClickCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didNotHandleTapAsMeaningfulClick):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didNotHandleTapAsMeaningfulClick):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _didNotHandleTapAsMeaningfulClickAtPoint:]):
2021-04-30 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r276846.
https://bugs.webkit.org/show_bug.cgi?id=225242
Breaks test execution in GTK and WPE ports
Reverted changeset:
"[webkitpy] Support pickling platforminfo"
https://bugs.webkit.org/show_bug.cgi?id=225230
https://trac.webkit.org/changeset/276846
2021-04-30 Miguel Gomez <magomez@igalia.com>
[GTK][WPE] Properly recover from unresponsive web processes
https://bugs.webkit.org/show_bug.cgi?id=224533
Reviewed by Carlos Garcia Campos.
Add unit tests for the new webkit_web_view_terminate_web_process GLib API method. Also move
the methods used to wait for responsiveness changes to WebViewTest, as they are used by more
than a single test.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewIsWebProcessResponsive):
(testWebViewTerminateWebProcess):
(testWebViewTerminateUnresponsiveWebProcess):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(isWebProcessResponsiveChanged):
(WebViewTest::waitUntilIsWebProcessResponsiveChanged):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2021-04-30 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Support pickling platforminfo
https://bugs.webkit.org/show_bug.cgi?id=225230
<rdar://problem/77384913>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__): Define default arguments.
(PlatformInfo.display_name): Use default platform module if platform_module undefined.
(PlatformInfo._win_version_str): Ditto.
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_real_code):
* Scripts/webkitpy/common/system/systemhost.py:
(SystemHost.__init__): Use default platforminfo sys and platform modules.
2021-04-30 Aakash Jain <aakash_jain@apple.com>
report-non-inclusive-language should skip buildstream directory
https://bugs.webkit.org/show_bug.cgi?id=225212
Reviewed by Alexey Proskuryakov.
* Scripts/report-non-inclusive-language:
2021-04-30 Jonathan Bedard <jbedard@apple.com>
[webkitscpy] Support arguments to TaskPool setup and teardown
https://bugs.webkit.org/show_bug.cgi?id=225220
<rdar://problem/77352340>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(Process.main): Accept setup and teardown arguments to child processes.
(TaskPool.__init__): Pass setup and teardown arguments to child processes.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py:
(setup): Acception optional argument.
(teardown): Ditto.
(TaskPoolUnittest.test_setup_arguments):
(TaskPoolUnittest.test_teardown_arguments):
2021-04-29 Darin Adler <darin@apple.com>
Extend SortedArrayMap further to work on case-folded strings, use in MIMETypeRegistry
https://bugs.webkit.org/show_bug.cgi?id=224968
Reviewed by Sam Weinig.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added SortedArrayMap.cpp,
and removed references to non-existent FullscreenRemoveNodeBeforeEnter.h and
FloatQuadTests.h.
* TestWebKitAPI/Tests/WTF/SortedArrayMap.cpp: Added.
2021-04-29 Roy Reapor <rreapor@apple.com>
[webkitcorepy] Allow user to specify interpreter used by autoinstall.py to install imported dependencies
https://bugs.webkit.org/show_bug.cgi?id=225172
Reviewed by Jonathan Bedard.
* Scripts/libraries/webkitcorepy/setup.py: Version bump.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Version bump.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): AUTOINSTALL_PYTHON_EXECUTABLE environment variable can override python interpreter used by this module.
2021-04-29 Aakash Jain <aakash_jain@apple.com>
[webkitpy] Remove deprecated slave-config-json-path parameter in perftestsrunner.py
https://bugs.webkit.org/show_bug.cgi?id=225106
Reviewed by Ryosuke Niwa.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.test_parse_deprecated_args): Deleted.
2021-04-29 Aakash Jain <aakash_jain@apple.com>
Remove unused slave parameter from run-jsc-benchmarks script
https://bugs.webkit.org/show_bug.cgi?id=225153
Reviewed by Alexey Proskuryakov.
* Scripts/run-jsc-benchmarks:
2021-04-29 Sam Sneddon <gsnedders@apple.com>
Make sure webkitpy tests pass on Linux and on more Python versions
https://bugs.webkit.org/show_bug.cgi?id=225157
Reviewed by Jonathan Bedard.
This gets us passing the webkitpy tests, run under pytest, on Linux,
under Python 2.7, 3.6, 3.7, 3.8, 3.9, and alpha 3.10.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
Conditionally install setuptools 56 on Python 3, keep setuptools
44.1.1 on Python 2. (44.1.1 is the last release supporting Python 2,
but due to removals doesn't install on Python 3.10.)
* Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py:
(FakeBrowserDriver): Implement a FakeBrowserDriver which does nothing.
(FakeBrowserDriver.__init__):
(FakeBrowserDriver.prepare_env):
(FakeBrowserDriver.prepare_initial_env):
(FakeBrowserDriver.restore_env):
(FakeBrowserDriver.restore_env_after_all_testing):
(FakeBrowserDriver.close_browsers):
(FakeBrowserDriver.launch_url):
(FakeBrowserDriver.launch_webdriver):
(BrowserPerfDashRunnerTest.test_can_construct_runner_object_minimum_parameters):
Use the FakeBrowserRunner rather than the platform/browser
default. (This fixes this test on Linux when no minibrowser-gtk is
available.)
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(GitTest.setUp): Set user.name/user.email to ensure they're set.
(GitSVNTest._setup_git_checkout): Set user.name/user.email to ensure
they're set.
* Scripts/webkitpy/common/net/credentials.py: Conditionally import
keyring; the rest of the code already supports keyring being
None. (keyring doesn't have any release supporting both Python 2 and
3.10, but updating keyring pulls in new dependencies and is left as
future work.)
* Scripts/webkitpy/common/prettypatch_unittest.py:
(PrettyPatchTest.check_ruby): Also check Ruby version.
(test_pretty_diff_encodings): Explicitly skip; don't just return.
(test_pretty_print_empty_string): Explicitly skip; don't just return.
* Scripts/webkitpy/common/system/logtesting.py:
(TestLogStream.write): Python 3.6's logging appears to put new lines
following a message in a new message, which breaks many tests.
* Scripts/webkitpy/pytest.ini: Broaden ignored warnings.
* Scripts/webkitpy/results/upload_unittest.py:
(UploadTest.normalize): collections -> collections.abc for Py3.10
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._create_device_with_runtime): Use modern
plistlib API.
(SimulatedDevice.state): Use modern plistlib API.
2021-04-28 Devin Rousso <drousso@apple.com>
experiment with averaging sampling colors across the top of the page as the scroll area background
https://bugs.webkit.org/show_bug.cgi?id=224987
<rdar://problem/76251889>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/SampledPageTopColor.mm: Added.
(-[TestKVOWrapper initWithObservable:keyPath:callback:]):
(-[TestKVOWrapper dealloc]):
(-[TestKVOWrapper observeValueForKeyPath:ofObject:change:context:]):
(createWebViewWithSampledPageTopColorMaxDifference):
(waitForSampledPageTopColorToChangeForHTML):
(createHTMLGradientWithColorStops):
(TEST.SampledPageTopColor.ZeroMaxDifference):
(TEST.SampledPageTopColor.NegativeMaxDifference):
(TEST.SampledPageTopColor.SolidColor):
(TEST.SampledPageTopColor.DifferentColorsWithoutOutlierBelowMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsWithLeftOutlierAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsWithMiddleOutlierAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsWithRightOutlierAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsIndividuallyAboveMaxDifference):
(TEST.SampledPageTopColor.DifferentColorsCumulativelyAboveMaxDifference):
(TEST.SampledPageTopColor.DisplayP3):
(TEST.SampledPageTopColor.ExperimentalUseSampledPageTopColorForScrollAreaBackgroundColor):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2021-04-28 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Refactor SimulatorDevice
https://bugs.webkit.org/show_bug.cgi?id=225158
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._get_device_identifier_for_type): Handle partially defined device types.
(SimulatedDevice.is_usable): Place Home Screen services into dictionary.
2021-04-28 Ryosuke Niwa <rniwa@webkit.org>
When IPC testing API is enabled, GPU process shouldn't kill Web Process
https://bugs.webkit.org/show_bug.cgi?id=225143
<rdar://70692277>
Reviewed by Chris Dumez.
Added tests for sending IPC messages to GPU process via IPC testing API.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(IPCTestingAPI.CanSendInvalidAsyncMessageToUIProcessWithoutTermination): Renamed from
CanSendInvalidAsyncMessageWithoutTermination.
(IPCTestingAPI.CanSendInvalidSyncMessageToUIProcessWithoutTermination): Renamed from
CanSendInvalidMessageWithoutTermination.
(IPCTestingAPI.CanSendSyncMessageToGPUProcess): Added.
(IPCTestingAPI.CanSendAsyncMessageToGPUProcess): Added.
(IPCTestingAPI.CanSendInvalidAsyncMessageToGPUProcessWithoutTermination): Added.
2021-04-28 Wenson Hsieh <wenson_hsieh@apple.com>
Fine-tune some more selection behaviors in image overlays
https://bugs.webkit.org/show_bug.cgi?id=225121
Reviewed by Tim Horton.
Add an API test to verify that selected text inside image overlays is dragged out as plain text only.
* TestWebKitAPI/Tests/WebKit/simple-image-overlay.html:
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
(TEST):
2021-04-28 Alex Christensen <achristensen@webkit.org>
Add SPI to query whether a URL would be upgraded to HTTPS
https://bugs.webkit.org/show_bug.cgi?id=225154
<rdar://77269904>
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:
(TEST):
2021-04-28 Jonathan Bedard <jbedard@apple.com>
[configure-xcode-for-embedded-development] Support Xcode 12.5
https://bugs.webkit.org/show_bug.cgi?id=225127
Reviewed by Stephanie Lewis.
* Scripts/configure-xcode-for-embedded-development: Add definition of
com.apple.package-type.mach-o-executable and com.apple.product-type.tool instead
of copying from the MacOS SDK.
2021-04-28 Alex Christensen <achristensen@webkit.org>
Remove support for NPAPI plugins in WebView
https://bugs.webkit.org/show_bug.cgi?id=224449
Reviewed by Geoffrey Garen.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
2021-04-28 Kimmo Kinnunen <kkinnunen@apple.com>
Asserting that function or variable is accessed in a certain thread should be simpler and more robust
https://bugs.webkit.org/show_bug.cgi?id=224971
Reviewed by Darin Adler.
Add simple tests to make sure code in ThreadAssertions.h
compiles.
* Scripts/generate-gpup-webgl:
Use ThreadAssertions in RemoteGraphicsContextGL implementation
as an example.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/ThreadAssertionsTest.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::WTF_REQUIRES_LOCK):
2021-04-27 Aakash Jain <aakash_jain@apple.com>
Delete unused iExploder
https://bugs.webkit.org/show_bug.cgi?id=225118
Rubber-stamped by Alexey Proskuryakov.
* iExploder: Removed.
2021-04-27 Kimmo Kinnunen <kkinnunen@apple.com>
Add a Condition type that supports thread safety analysis
https://bugs.webkit.org/show_bug.cgi?id=224970
Reviewed by Darin Adler.
A simple test for CheckedCondition to make sure
it compiles.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CheckedConditionTest.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/CheckedLockTest.cpp.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/CheckedLockTest.cpp:
2021-04-27 Sam Sneddon <gsnedders@apple.com>
Make TestInput immutable
https://bugs.webkit.org/show_bug.cgi?id=224989
Reviewed by Jonathan Bedard.
The main point here is moving computing reference_files and
should_run_pixel_test to when we initially construct TestInput, as at
this point this happens in the some process and thread (since bug
221577), hence there's no real reason for it to happen later.
In doing this, I've eliminated Port.should_run_as_pixel_test on the
basis that no port actually overrode this to apply any different logic,
especially given it seems unlikely that any port would want to use
different logic here. (Note that ports still have some control through
Port.default_pixel_tests.)
With this done, it should then be possible to make TestInput immutable,
which should help make things easier to understand.
Expect, as it happens, there was a reason for it to happen later: we
previously generated all the TestInputs twice, once to find out how
many workers we need and then another time to actually run them (plus
potentially a third time for retries!). There's no actual reason to do
this, so move the creation to Manager.run and pass that list around
instead of the Tests.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests): Don't update TestInput.
(LayoutTestRunner._update_test_input): Deleted.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._test_input_for_file): Moved from _update_test_input and
Port.should_run_as_pixel_test.
(Manager._get_test_inputs): Deleted.
(Manager._multiply_test_inputs): Simplify code used to generated
repeated/rerun test inputs.
(Manager._update_worker_count): Don't create TestInputs; take
test_inputs as arg.
(Manager._set_up_run): Rename test_names to test_inputs.
(Manager.run): Create TestInput objects here.
(Manager._run_test_subset): Take TestInputs not Tests, generate new
TestInputs for retry if needed.
(Manager._run_tests): Don't create TestInputs; take test_inputs as arg.
* Scripts/webkitpy/layout_tests/models/test.py: Fly-by: use __slots__.
* Scripts/webkitpy/layout_tests/models/test_input.py:
(TestInput): Migrate to attrs.
(TestInput.__init__): Deleted.
(TestInput.__repr__): Deleted.
* Scripts/webkitpy/port/base.py:
(Port.should_run_as_pixel_test): Deleted.
(Port._should_run_as_pixel_test): Deleted.
2021-04-27 Sam Sneddon <gsnedders@apple.com>
Optimize Port._expected_baselines_for_suffixes
https://bugs.webkit.org/show_bug.cgi?id=225115
Reviewed by Jonathan Bedard.
This takes out the join() and splitext() calls from the inner loop as
they are loop invariant, and account for a large proportion of the
function's execution time. After this, exists() account for almost
all.
* Scripts/webkitpy/port/base.py:
(Port._expected_baselines_for_suffixes):
2021-04-27 Ryan Haddad <ryanhaddad@apple.com>
[ews] Configure bots for stress test queue
https://bugs.webkit.org/show_bug.cgi?id=225000
Reviewed by Aakash Jain.
* CISupport/ews-build/config.json: Add ews181 and ews182.
2021-04-27 Alex Christensen <achristensen@webkit.org>
Unreviewed, reverting r275912.
rdar://77179042
Broke internal client
Reverted changeset:
"Remove support for NPAPI plugins in WebView"
https://bugs.webkit.org/show_bug.cgi?id=224449
https://commits.webkit.org/r275912
2021-04-27 Angelos Oikonomopoulos <angelos@igalia.com>
[JSC] Autoscale jobs for remote boards
https://bugs.webkit.org/show_bug.cgi?id=225100
Reviewed by Mark Lam.
When using --gnu-parallel-runner, let GNU parallel handle the number of jobs
unless the user has explicitly requested a specific number of remote processes.
Previously, run-jsc-stress-tests would set numChildProcesses by querying the
first remote, under the assumption that the remotes are homogeneous. The number
of jobs inferred by looking at the CPUs of the first remote may be
inappropriate for the rest of the remotes.
* Scripts/run-jsc-stress-tests:
2021-04-27 Don Olmstead <don.olmstead@sony.com>
[CMake] Don't use FORWARDING_HEADERS_DIR for GTK WebKit headers
https://bugs.webkit.org/show_bug.cgi?id=225006
Reviewed by Michael Catanzaro.
Use WebKit2Gtk_FRAMEWORK_HEADERS_DIR and WebKit2Gtk_DERIVED_SOURCES_DIR for WebKit2 GTK
headers instead of FORWARDING_HEADERS_DIR and DERIVED_SOURCES_DIR.
* MiniBrowser/gtk/CMakeLists.txt:
* TestWebKitAPI/glib/PlatformGTK.cmake:
2021-04-27 Aakash Jain <aakash_jain@apple.com>
Rename slave to worker in TestFailures
https://bugs.webkit.org/show_bug.cgi?id=225079
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/public_html/TestFailures/scripts/Builder.js:
* CISupport/build-webkit-org/public_html/TestFailures/scripts/builders_unittests.js:
* CISupport/build-webkit-org/public_html/TestFailures/scripts/results_unittests.js:
2021-04-26 Wenson Hsieh <wenson_hsieh@apple.com>
Subdivide image overlay text into one or more elements per line
https://bugs.webkit.org/show_bug.cgi?id=225038
rdar://75505043
Reviewed by Tim Horton and Devin Rousso.
Adjust several existing layout tests after changing `internals.installImageOverlay`. See WebCore ChangeLog for
more details. Additionally, rename a WebCore geometry helper method.
* TestWebKitAPI/Tests/WebCore/FloatQuadTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/simple-image-overlay.html:
2021-04-26 Kate Cheney <katherine_cheney@apple.com>
ResourceLoadStatisticsDatabaseStore::aggregatedThirdPartyData() hangs for a long time
https://bugs.webkit.org/show_bug.cgi?id=225063
<rdar://problem/76248557>
Reviewed by Brent Fulgham.
Test coverage. Currently API testing is the only way to test data
migration and schema changes in the ITP database because we can load
a pre-seeded database and check the correct values after migration.
We should add some ability for unit testing in the future.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2021-04-26 Alex Christensen <achristensen@webkit.org>
Update Mac-specific CMake files
https://bugs.webkit.org/show_bug.cgi?id=225064
Rubber-stamped by Tim Horton.
* MiniBrowser/mac/CMakeLists.txt:
2021-04-26 Aakash Jain <aakash_jain@apple.com>
[ews-app] Status bubble should only display important messages in pop-over - part 4
https://bugs.webkit.org/show_bug.cgi?id=225076
Reviewed by Jonathan Bedard.
* CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
2021-04-26 Don Olmstead <don.olmstead@sony.com>
[CMake] Modernize WebKit GLib testing
https://bugs.webkit.org/show_bug.cgi?id=225052
Reviewed by Adrian Perez de Castro.
Set values on targets directly rather than the older add_definitions and
include_directories style. Clean up the code and format it properly.
A NO_GTEST_USAGE definition is used to prevent gtest from being included when an alternate
testing framework is used.
* TestWebKitAPI/config.h:
* TestWebKitAPI/glib/CMakeLists.txt:
2021-04-26 Don Olmstead <don.olmstead@sony.com>
Fix includes for some GTK/GLib headers
https://bugs.webkit.org/show_bug.cgi?id=225020
Reviewed by Adrian Perez de Castro.
Update include paths to use their correct <> path.
* TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
* TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
* TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
2021-04-26 Enrique Ocaña González <eocanha@igalia.com>
[GStreamer] media/track/in-band/ layout tests introduced in r154908 are failing
https://bugs.webkit.org/show_bug.cgi?id=120665
Reviewed by Philippe Normand.
Fix media/track/in-band/tests
Add libkate as dependency, so gst-plugins-bad detects it and can build the GstKateDec element.
This isn't actually needed when using Flatpak (the dependency has been added there), but is still
useful when using jhbuild and is also coherent with the need of other multimedia dependencies
such as libvpx.
* gtk/install-dependencies:
* wpe/install-dependencies:
2021-04-25 Ryosuke Niwa <rniwa@webkit.org>
Add an option to not enable all experimental features in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=225041
Reviewed by Wenson Hsieh.
Added --no-enable-all-experimental-features to DumpRenderTree as we did
for WebKitTestRunner in r276559.
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
(initializeGlobalsFromCommandLineOptions):
2021-04-25 Darin Adler <darin@apple.com>
Fix handling of overflow of /= and *= operators with double over Checked<uint64_t> and other 64-bit types.
https://bugs.webkit.org/show_bug.cgi?id=224835
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
Removed tests of the "/=" operator with floating point arguments, no longer supported.
2021-04-25 Tyler Wilcock <twilco.o@protonmail.com>
jsonchecker.py validate_string uses Python 2 basestring type instead of Python 2/3 str type
https://bugs.webkit.org/show_bug.cgi?id=224978
Reviewed by Darin Adler.
validate_string uses the Python 2 basestring type instead of the Python 2/3
str type. This causes the check to exit early the first time it validates
a string with this error:
name 'basestring' is not defined
This resulted in jsonchecker not checking the file beyond the first
string validation.
I believe this caused jsonchecker to miss a bug in one of my previous
patches in which I put the "settings-flag" property in the wrong
place:
https://bugs.webkit.org/show_bug.cgi?id=224718#c20
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.validate_string):
validate_string with Python 2 / 3 str type instead of Python 2
basestring.
2021-04-24 Aakash Jain <aakash_jain@apple.com>
Rename slave to worker in webkitpy - part 2
https://bugs.webkit.org/show_bug.cgi?id=224988
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/system/crashlogs_unittest.py:
2021-04-24 Ryosuke Niwa <rniwa@webkit.org>
Add an option to not enable all experimental features in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=224958
Reviewed by Tim Horton.
Added --no-enable-all-experimental-features to run-webkit-tests and WebKitTestRunner.
It causes a crash in DumpRenderTree for now. We should rectify this in the future
when we align the behaviors of WebKitTestRunner and DumpRenderTree.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Added --no-enable-all-experimental-features.
* Scripts/webkitpy/port/driver.py:
(Driver.cmd_line): Pass along the option to WebKitTestRunner.
* WebKitTestRunner/Options.cpp:
(WTR::handleOptionNoEnableAllExperimentalFeatures): Added.
(WTR::OptionsHandler::OptionsHandler): Added --no-enable-all-experimental-features.
* WebKitTestRunner/Options.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::resetPreferencesToConsistentValues):
* WebKitTestRunner/TestController.h:
2021-04-24 Tyler Wilcock <twilco.o@protonmail.com>
Refactor ValueRange from enum to enum class
https://bugs.webkit.org/show_bug.cgi?id=224981
Reviewed by Sam Weinig.
ValueRange has been refactored from enum to enum class : uint8_t to
make it smaller and harder to misuse.
* TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
(TestWebKitAPI::createTestValue):
Refactor ValueRangeAll and ValueRangeNonNegative to ValueRange::All
and ValueRange::NonNegative.
2021-04-23 Aakash Jain <aakash_jain@apple.com>
Delete unused buildbot.css and default.css
https://bugs.webkit.org/show_bug.cgi?id=224997
Reviewed by Alexey Proskuryakov.
* CISupport/build-webkit-org/public_html/buildbot.css: Removed.
* CISupport/build-webkit-org/public_html/default.css: Removed.
2021-04-23 Sam Sneddon <gsnedders@apple.com>
Add a conftest.py to run existing webkitpy tests in pytest
https://bugs.webkit.org/show_bug.cgi?id=224687
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/system/executive_unittest.py:
(ExecutiveTest.serial_test_run_in_parallel): Deal with the fact that pytest
running the tests might be not be the same version as the autoinstalled version,
and not API compatible.
* Scripts/webkitpy/conftest.py: Added.
(pytest_configure): Define the markers the plugins in conftest use
(pytest_addoption): Add --run-integration to allow them to be disabled by default.
(pytest_pycollect_makeitem): Rename serial/integration tests so pytest finds them.
(pytest_collection_modifyitems): Mark tests as skipped when needed per the above.
* Scripts/webkitpy/pytest.ini: Added.
* Scripts/webkitpy/test/main_unittest.py:
(TestStubs): Stop these from being picked up by pytest as tests.
* Scripts/webkitpy/test/markers.py: Fix this so pytest is technically optional,
even though it is always present because of the autoinstalled copy.
2021-04-23 Aakash Jain <aakash_jain@apple.com>
Make report-non-inclusive-language ignore .db files
https://bugs.webkit.org/show_bug.cgi?id=224979
Reviewed by Darin Adler.
* Scripts/report-non-inclusive-language:
2021-04-23 Youenn Fablet <youenn@apple.com>
Fix KVO for camera/microphone capture state WKWebView API
https://bugs.webkit.org/show_bug.cgi?id=224922
<rdar://problem/77008199>
Reviewed by Eric Carlson.
Add tests for capture state API.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(-[MediaCaptureObserver observeValueForKeyPath:ofObject:change:context:]):
(TestWebKitAPI::waitUntilCameraState):
(TestWebKitAPI::waitUntilMicrophoneState):
(TestWebKitAPI::TEST):
2021-04-22 Tyler Wilcock <twilco.o@protonmail.com>
[css-counter-styles] Parse @counter-style descriptors
https://bugs.webkit.org/show_bug.cgi?id=224718
Reviewed by Darin Adler.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
Fix typo (missing 's'). CSSCounterStyleAtRulesEnabled, not
CSSCounterStyleAtRuleEnabled.
2021-04-22 BJ Burg <bburg@apple.com>
[Cocoa] re-enable test case WKInspectorDelegate.InspectorConfiguration
https://bugs.webkit.org/show_bug.cgi?id=224577
<rdar://70505272>
Reviewed by Devin Rousso.
Trigger a fetch of a resource that uses a custom URL scheme handler in
order to test that custom scheme handlers registered in an _WKInspectorConfiguration
are getting used as expected.
Add an -inspectorFrontendLoaded: delegate method to -WKInspectorDelegate.
This is mainly used to prevent tests from progressing with a half-loaded inspector.
To make it possible to do this fetch(), there are some CSP related changes
that were made for Main.html so that fetching from a registered custom scheme is allowed.
Drive-by, per post-commit comments, add a better fix for the memory leak reported in
https://bugs.webkit.org/show_bug.cgi?id=223899. Thanks Joe!
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:
(resetGlobalState):
(-[InspectorDelegate inspectorFrontendLoaded:]):
(TEST):
(-[UIDelegate _webView:didAttachLocalInspector:]):
(-[UIDelegate _webView:willCloseLocalInspector:]):
(-[UIDelegate _webViewDidEnableInspectorBrowserDomain:]):
(-[UIDelegate _webViewDidDisableInspectorBrowserDomain:]):
2021-04-22 Lauro Moura <lmoura@igalia.com>
Unreviewed. Gardening TestSSL flakiness
* TestWebKitAPI/glib/TestExpectations.json:
2021-04-22 Simon Fraser <simon.fraser@apple.com>
Add trace points for WKWebView snapshotting
https://bugs.webkit.org/show_bug.cgi?id=224943
Reviewed by Tim Horton.
New snapshot descriptions.
* Tracing/SystemTracePoints.plist:
2021-04-22 Tim Nguyen <ntim@apple.com>
Add "Tim Nguyen" to contributors.json.
https://bugs.webkit.org/show_bug.cgi?id=224936
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/contributors.json:
2021-04-22 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][WTR] eventSender.leapForward doesn't work as expected
https://bugs.webkit.org/show_bug.cgi?id=224918
Reviewed by Don Olmstead.
fast/events/click-count.html was failing because
eventSender.leapForward didn't work as expected.
Use Sleep() API to implement it as well as DRT does.
* WebKitTestRunner/win/EventSenderProxyWin.cpp:
(WTR::EventSenderProxy::dispatchMessage):
(WTR::EventSenderProxy::EventSenderProxy):
(WTR::EventSenderProxy::leapForward):
2021-04-22 BJ Burg <bburg@apple.com>
v2: REGRESSION(r266890): [Cocoa] Fix API::InspectorClient leak
https://bugs.webkit.org/show_bug.cgi?id=223899
<rdar://problem/75249282>
Reviewed by Devin Rousso.
Address post-review feedback.
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:
(TEST):
2021-04-22 Sam Sneddon <gsnedders@apple.com>
Ensure all non-local AutoInstalled libraries specify version
https://bugs.webkit.org/show_bug.cgi?id=224872
Reviewed by Jonathan Bedard.
Currently on Python 3 running test-webkitpy fails due to us attempting to
install flask 2.0.0rc1, recently released. We shouldn't, however, be installing
the latest possible version of flask, but rather specifying one. We do actually
attempt to specify one in webkitflaskpy, but we pass the Version object to the
wrong place.
Now actually specifying the versions, we need to change some of them to the
latest version which supports Python 2 to be able to install them to run
test-webkitpy-python2.
To ensure we don't repeat this, this makes AutoInstall.register raise if you try
to register a non-local package without specifying a version.
Additionally, require AutoInstall.register's package argument be a Package by
passing moving the lookup to AutoInstall.install and requiring it to be
successful.
Finally, while I'm touching this, make registering 'autoinstalled' an outright
failure, and make installing a local package fail if it cannot be found.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall.register):
(AutoInstall.install):
* Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py:
2021-04-21 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] The Look Up text service popover should avoid covering selected text
https://bugs.webkit.org/show_bug.cgi?id=224915
rdar://75891746
Reviewed by Megan Gardner.
Add a new API test to exercise the change.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/TextServicesTests.mm: Added.
(TestWebKitAPI::handleLookup):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/UIKitSPI.h: Add SPI declarations for UIWKTextInteractionAssistant.
2021-04-22 Aakash Jain <aakash_jain@apple.com>
Services EWS should run for webkitscmpy and webkitcorepy changes
https://bugs.webkit.org/show_bug.cgi?id=223941
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(CheckPatchRelevance):
* CISupport/ews-build/steps_unittest.py: Added unit-test.
2021-04-22 Sam Sneddon <gsnedders@apple.com>
Add an xfail marker for webkitpy's tests; get SCM passing
https://bugs.webkit.org/show_bug.cgi?id=224886
Reviewed by Jonathan Bedard.
Also:
Delete the old, unused skip_if decorator.
Fix our runner to detect unexpected-success and report them as failures.
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(GitSVNTest.test_rebase_in_progress):
(GitTestWithMock.test_create_patch):
* Scripts/webkitpy/test/markers.py:
(xfail):
(xfail.decorator):
* Scripts/webkitpy/test/runner.py:
(Runner.handle):
(_Worker.handle):
(TestResult):
(TestResult.__init__):
(TestResult.addSuccess):
* Scripts/webkitpy/test/runner_unittest.py:
(FakeTestCase):
(FakeTestCase.__init__):
(FakeTestCase.id):
(FakeModuleSuite.run):
* Scripts/webkitpy/test/skip.py: Removed.
* Scripts/webkitpy/test/skip_unittest.py: Removed.
2021-04-22 Sam Sneddon <gsnedders@apple.com>
server_process_unittest.py's MockFile should all be bytes
https://bugs.webkit.org/show_bug.cgi?id=224877
Reviewed by Jonathan Bedard.
This fixes the test when run under pytest on Python 3.
* Scripts/webkitpy/port/server_process_unittest.py:
(MockFile.read):
2021-04-22 Sam Sneddon <gsnedders@apple.com>
Fix potential flakiness when running webkitpy tests
https://bugs.webkit.org/show_bug.cgi?id=224887
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/system/executive_unittest.py:
(ExecutiveTest.serial_test_run_in_parallel): Increase the delay to ensure it's
much greater than the VM spawn time, as the current time is a bit marginal when
the system is under load and we're using the spawn multiprocessing start method
* Scripts/webkitpy/test/main.py:
(Tester.run): Allow argv to be passed through for testing
* Scripts/webkitpy/test/main_unittest.py:
(TesterTest.test_no_tests_found): Explicitly pass argv to avoid using sys.argv
* Scripts/webkitpy/w3c/test_parser_unittest.py:
(TestParserTest.test_analyze_pixel_test_all_true): Reset options after test
(TestParserTest.test_analyze_pixel_test_all_false): Reset options after test
* Scripts/webkitpy/xcode/simulated_device_unittest.py:
(SimulatedDeviceTest.reset_simulated_device_manager): _device_identifier_to_name
is a dict, and should remain one
2021-04-22 Myles C. Maxfield <mmaxfield@apple.com>
[iOS] Web processes recreated after crashing are not created with the right contentSizeCategory
https://bugs.webkit.org/show_bug.cgi?id=224916
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/TextStyleFontSize.mm: Added.
(-[TextStyleFontSizeWebView _contentSizeCategory]):
(TEST):
2021-04-21 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r276380 and r276386.
https://bugs.webkit.org/show_bug.cgi?id=224912
Caused WPT css/css-counter-styles/cssom test crashes on macOS
WK1 with ASan
Reverted changesets:
"[css-counter-styles] Parse @counter-style descriptors"
https://bugs.webkit.org/show_bug.cgi?id=224718
https://trac.webkit.org/changeset/276380
"CSSComputedStyleDeclaration.cpp should use C++ style
comments"
https://bugs.webkit.org/show_bug.cgi?id=224875
https://trac.webkit.org/changeset/276386
2021-04-21 Chris Dumez <cdumez@apple.com>
Regression(r275887) open.spotify.com says Safari is not supported
https://bugs.webkit.org/show_bug.cgi?id=224905
<rdar://76982108>
Reviewed by Eric Carlson.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-04-21 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Disable unused parameters in force build dialog box
https://bugs.webkit.org/show_bug.cgi?id=224544
Unreviewed minor infrastructure fix.
* CISupport/build-webkit-org/loadConfig.py:
2021-04-21 Don Olmstead <don.olmstead@sony.com>
[Python 3] Update gni-to-cmake.py
https://bugs.webkit.org/show_bug.cgi?id=224880
Reviewed by Kenneth Russell.
Update script to use the `--prepend` argument.
* Scripts/update-angle:
2021-04-21 Chris Dumez <cdumez@apple.com>
GPUProcess launches unnecessarily when loading the amazon front page
https://bugs.webkit.org/show_bug.cgi?id=224843
Reviewed by Eric Carlson.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-04-21 Sam Sneddon <gsnedders@apple.com>
Always pass --no-abbrev-commit to git-log/show
https://bugs.webkit.org/show_bug.cgi?id=224879
Reviewed by Jonathan Bedard.
Currently some of the SCM tests fail with git's log.abbrevCommit; we should
avoid any risk of the tests failing or functionality being broken by always
asking for the unabbreviated commit.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.local_commits):
(Git.exists):
(Git._changes_files_for_commit):
(Git.revisions_changing_file):
(Git._most_recent_log_matching):
(Git._most_recent_log_for_revision):
(Git.git_commit_from_svn_revision):
(Git.contents_at_revision):
(Git.show_head):
(Git.committer_email_for_revision):
2021-04-21 Tyler Wilcock <twilco.o@protonmail.com>
[css-counter-styles] Parse @counter-style descriptors
https://bugs.webkit.org/show_bug.cgi?id=224718
Reviewed by Darin Adler.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
Fix typo (missing 's'). CSSCounterStyleAtRulesEnabled, not
CSSCounterStyleAtRuleEnabled.
2021-04-21 Sam Sneddon <gsnedders@apple.com>
Handle os.getenv returning None
https://bugs.webkit.org/show_bug.cgi?id=224869
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVNRepository.has_authorization_for_realm): This entirely replaces reading
$HOME with a call to os.path.expanduser. Notably, the stdlib function both
handles cases on Unix-like OSes when $HOME is undefined and on Windows (where
$HOME is undefined by default) correctly constructs the path.
* Scripts/webkitpy/common/system/executive.py:
(Executive.kill_all): Handle $USER being undefined by just attempting to kill
all processes regardless of owner.
2021-04-21 Simon Fraser <simon.fraser@apple.com>
Enhance scrolling-related trace points
https://bugs.webkit.org/show_bug.cgi?id=224852
Reviewed by Tim Horton.
Update trace point descriptions.
* Tracing/SystemTracePoints.plist:
2021-04-21 Lauro Moura <lmoura@igalia.com>
[WPE] Allow defining custom repo and branch for Cog checkout
https://bugs.webkit.org/show_bug.cgi?id=224739
Reviewed by Philippe Normand.
Use cmake args "-DWPE_COG_REPO=<repo>" and "-DWPE_COG_TAG=<tag>" to
build different cog versions without having to edit the cmake files.
There might be the need to wipe the checked-out dir from time to time,
as only CMake 3.18 introduced different checkout strategies. Previous
cmakes try to rebase the previously checked out branch which might
lead to conflicts.
This commit also allows selecting between Cog and MiniBrowser with the
WPE_BROWSER envvar.
* PlatformWPE.cmake:
* Scripts/webkitpy/port/wpe.py:
(WPEPort.cog_path):
(WPEPort):
(WPEPort.browser_name):
(WPEPort.run_minibrowser):
* Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest.test_default_upload_configuration):
(WPEPortTest):
(WPEPortTest.test_browser_name_default):
(WPEPortTest.test_browser_name_with_cog_built):
(WPEPortTest.test_browser_name_override_minibrowser_with_cog_built):
(WPEPortTest.test_browser_name_override_cog_without_cog_built):
(WPEPortTest.test_browser_name_override_unknown):
* Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
(WebDriverWPE.browser_name): Make it cog-aware.
(WebDriverWPE.browser_path): Ditto.
2021-04-21 Tim Horton <timothy_horton@apple.com>
Long-pressing a data detectors link causes the link to be followed
https://bugs.webkit.org/show_bug.cgi?id=224847
<rdar://problem/72889738>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(TEST):
Add tests ensuring that we get a click event for completed touches, and not for cancelled touches.
2021-04-21 Megan Gardner <megan_gardner@apple.com>
Support scrolling to a selected AppHighlight
https://bugs.webkit.org/show_bug.cgi?id=224773
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKAppHighlights.mm:
(TestWebKitAPI::TEST):
2021-04-20 Devin Rousso <drousso@apple.com>
Parse `theme_color` in web application manifests and pass it along to `-[WKWebView themeColor]`
https://bugs.webkit.org/show_bug.cgi?id=224796
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(ApplicationManifestParserTest::testThemeColor): Added.
(TEST_F.ApplicationManifestParserTest.ThemeColor): Added.
* TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:
(TEST.ApplicationManifestBasic):
(TEST.ApplicationManifestCoding):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewThemeColor.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/HTMLMetaThemeColor.mm.
(TEST.WKWebViewThemeColor.ApplicationManifest):
(TEST.WKWebViewThemeColor.MetaElementOverridesApplicationManifest):
Rename this file now that it also deals with web application manifest (in addition to `<meta name="theme-color">`).
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2021-04-20 Tim Horton <timothy_horton@apple.com>
MacCatalyst tests crash on NSInternalInconsistencyException, reason: NSApplication has not been created yet
https://bugs.webkit.org/show_bug.cgi?id=224606
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
Link UIKitMacHelper in macCatalyst builds.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/ios/UIKitMacHelperSPI.h: Added.
* TestWebKitAPI/ios/mainIOS.mm:
(main):
Call UINSApplicationInstantiate to keep the tests limping along until we create an actual UIApp.
* TestWebKitAPI/Configurations/TestWTF.xcconfig:
Also, fix the TestWTF configuration to not link Cocoa in macCatalyst builds.
2021-04-20 Kate Cheney <katherine_cheney@apple.com>
Preconnect tasks and preflight checks do not correctly mark app-bound context string
https://bugs.webkit.org/show_bug.cgi?id=224779
<rdar://problem/76738879>
Reviewed by Brent Fulgham.
We should clear data between tests to avoid flakiness or failures.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::clearAppBoundNavigationData):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::clearAppBoundNavigationData):
2021-04-20 Basuke Suzuki <basuke.suzuki@sony.com>
[PlayStation] Remove warnings for unused parameter.
https://bugs.webkit.org/show_bug.cgi?id=224830
Reviewed by Darin Adler.
* MiniBrowser/playstation/main.cpp:
(main):
2021-04-20 Kimmo Kinnunen <kkinnunen@apple.com>
gtest.a exports symbols, causing link-time warning: direct access in function ... means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
https://bugs.webkit.org/show_bug.cgi?id=224812
Reviewed by Alexey Proskuryakov.
Compile and use gtest as a static library that does not export any symbols.
Fixes link-time warnings about mismatch of symbol visibility. The error occurs when
gtest.a is compiled exporting symbols with default visibility, but the clients use the library
and hide the symbols via ld flags.
* TestWebKitAPI/Configurations/TestWTF.xcconfig:
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
Compile the gtest clients with GTEST_API_=
2021-04-20 Don Olmstead <don.olmstead@sony.com>
[CMake] Don't use FORWARDING_HEADERS_DIR for JSC GLib headers
https://bugs.webkit.org/show_bug.cgi?id=224821
Reviewed by Michael Catanzaro.
Use JavaScriptCoreGLib_FRAMEWORK_HEADERS_DIR and JavaScriptCoreGLib_DERIVED_SOURCES_DIR
for GLib JSC headers instead of FORWARDING_HEADERS_DIR and DERIVED_SOURCES_DIR.
* MiniBrowser/wpe/CMakeLists.txt:
* TestWebKitAPI/glib/CMakeLists.txt:
* TestWebKitAPI/glib/PlatformWPE.cmake:
2021-04-20 Aakash Jain <aakash_jain@apple.com>
Switch commit-queue back to git.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=224762
Reviewed by Jonathan Bedard.
* CISupport/ews-build/factories.py:
(CommitQueueFactory.__init__): Use git.webkit.org for Commit-Queue.
* CISupport/ews-build/factories_unittest.py:
(TestCommitQueueFactory.test_commit_queue_factory): Updated unit-tests.
* CISupport/ews-build/steps.py:
(CheckOutSource.__init__):
(PushCommitToWebKitRepo.evaluateCommand):
2021-04-20 Alex Christensen <achristensen@webkit.org>
Fix use-after-move introduced in r275407
https://bugs.webkit.org/show_bug.cgi?id=224045
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/Geolocation.mm:
(-[FakeWebGeolocationPolicyDecider receivedRequest]):
(-[FakeWebGeolocationPolicyDecider decidePolicyForGeolocationRequestFromOrigin:requestingURL:window:listener:]):
(fakeWebGeolocationPolicyDecider):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/UIKitSPI.h:
2021-04-20 Marco Felsch <m.felsch@pengutronix.de>
[WPE][Qt] Fix build failure after r270690
https://bugs.webkit.org/show_bug.cgi?id=223070
Reviewed by Philippe Normand.
* Scripts/webkitpy/style/checker.py:
Add exception for WPE QT wrapper library to use system alloc instead
of WTF.
2021-04-19 Chris Dumez <cdumez@apple.com>
REGRESSION (r276189): GPUProcess.WebProcessTerminationAfterTooManyGPUProcessCrashes is crashing
https://bugs.webkit.org/show_bug.cgi?id=224790
<rdar://problem/76869318>
Reviewed by Darin Adler.
Re-enable API test now that it is no longer crashing.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-04-19 Chris Dumez <cdumez@apple.com>
Unreviewed, temporarily disable GPUProcess.DISABLED_WebProcessTerminationAfterTooManyGPUProcessCrashes
https://bugs.webkit.org/show_bug.cgi?id=224790
It is crashing. I will renable it with the fix at Bug 224790.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-04-19 Aakash Jain <aakash_jain@apple.com>
[ews] Enabled detailed error log when unit-tests fails
https://bugs.webkit.org/show_bug.cgi?id=224789
Unreviewed minor unit-test fix.
* CISupport/ews-build/factories_unittest.py:
(TestCase): Set maxDiff to None.
2021-04-19 BJ Burg <bburg@apple.com>
Can't use Web Inspector on web views made by TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=147073
<rdar://problem/76708379>
Reviewed by Devin Rousso.
It is necessary to spin a nested run loop at the point in the test where you would
like to remote inspect a WebView. Messages from the remote connection are dispatched
through UIProcess, so if lldb has paused UIProcess, WebInspectorUI will not be able to
get any data from the inspected WebView.
* TestWebKitAPI/DebugUtilities.h: Added.
Add macros to wait for a remote inspector to attach or detach, then drop into
the debugger when it has done so.
* TestWebKitAPI/PlatformUtilities.h: Add missing `#pragma once`.
* TestWebKitAPI/WTFStringUtilities.h: Force the build to fail noisily if we have
attempted to redefine WTF_STRINGTYPEADAPTER_COPIED_WTF_STRING. Force the correct
ordering between "WTFStringUtilities.h" and <wtf/text/StringConcatenate.h>.
2021-04-19 Wenson Hsieh <wenson_hsieh@apple.com>
Rename FloatQuad::isEmpty() to boundingBoxIsEmpty() and reimplement isEmpty()
https://bugs.webkit.org/show_bug.cgi?id=224769
Reviewed by Tim Horton.
Add an API test to exercise the new `FloatQuad::isEmpty()` method.
* TestWebKitAPI/Tests/WebCore/FloatQuadTests.cpp:
(TestWebKitAPI::checkIsEmpty):
(TestWebKitAPI::TEST):
2021-04-19 Tim Horton <timothy_horton@apple.com>
Fix the macCatalyst TestWebKitAPI build
https://bugs.webkit.org/show_bug.cgi?id=224780
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
Unreviewed build fix; link PDFKit since we now enable it.
2021-04-19 Chris Dumez <cdumez@apple.com>
SVG Images launch the GPUProcess unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=224770
Reviewed by Eric Carlson.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-04-19 Philippe Normand <pnormand@igalia.com>
Unreviewed, WPE Minibrowser build warning fix.
* MiniBrowser/wpe/main.cpp: No need to use typedef for this struct declaration.
2021-04-19 Kimmo Kinnunen <kkinnunen@apple.com>
Enable -Wthread-safety, add attributes to custom lock classes, and provide macros to declare guards
https://bugs.webkit.org/show_bug.cgi?id=221614
<rdar://problem/74396781>
Reviewed by David Kilzer.
* TestWebKitAPI/Configurations/Base.xcconfig:
Add -Wthread-safety to compile flags.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CheckedLock.cpp: Added.
(TestWebKitAPI::TEST):
Implement a test for testing that CheckedLock compiles.
2021-04-18 Zalan Bujtas <zalan@apple.com>
Update name in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=224731
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-04-17 Chris Dumez <cdumez@apple.com>
GPUConnectionToWebProcess::allowsExitUnderMemoryPressure() should check if libWebRTCCodecsProxy is used
https://bugs.webkit.org/show_bug.cgi?id=224709
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(runMemoryPressureExitTest):
(waitUntilCaptureState):
(TEST):
2021-04-17 Wenson Hsieh <wenson_hsieh@apple.com>
Remove PromisedAttachmentInfo::blobURL and adjacent code
https://bugs.webkit.org/show_bug.cgi?id=224720
Reviewed by Ryosuke Niwa.
Rebaseline a couple of iOS WKAttachment tests that are failing on recent versions of the iOS SDK. The content
type of text files that are inserted as attachments is now a MIME type rather than a UTI, which is still valid
since it is valid for the content type of an attachment to be either a MIME type or UTI.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
2021-04-17 Aakash Jain <aakash_jain@apple.com>
Do not configure Janitor to delete old logs in local testing mode
https://bugs.webkit.org/show_bug.cgi?id=224552
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
* CISupport/ews-build/master.cfg:
2021-04-16 Lauro Moura <lmoura@igalia.com>
REGRESSION(r276164) [GTK] WKPreferencesDefaults API test is failing
https://bugs.webkit.org/show_bug.cgi?id=224710
Reviewed by Alex Christensen.
As of r276164, Mac/iOS disabled application cache by default but other
ports are still enabling it.
* TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
(TestWebKitAPI::TEST): Add missing WPE guard and test against expected
port value instead of enforcing a single value for every port.
* TestWebKitAPI/glib/TestExpectations.json: Remove WPE expected
failure.
2021-04-16 Brent Fulgham <bfulgham@apple.com>
Perform port blocking earlier in the load
https://bugs.webkit.org/show_bug.cgi?id=224525
<rdar://problem/75440591>
Reviewed by Darin Adler.
Update URLScheme test to use a non-prohibited port for the test. Tests of
failed fetches are already handled in WPT and other tests, so using a valid
port here should continue to be a valid test.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
(-[FrameSchemeHandler webView:startURLSchemeTask:]): Use allowed port or the test
instead of 123.
2021-04-16 Chris Dumez <cdumez@apple.com>
RemoteAudioDestinationProxy should not launch / relaunch the GPUProcess unless it is actually rendering
https://bugs.webkit.org/show_bug.cgi?id=224691
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/audio-context-playing.html:
2021-04-16 Jiewen Tan <jiewen_tan@apple.com>
Pass credential name to the WebAuthn UI during registration
https://bugs.webkit.org/show_bug.cgi?id=224697
<rdar://75803352>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
2021-04-16 Kate Cheney <katherine_cheney@apple.com>
Disable app-bound request API tests on specific OS versions
https://bugs.webkit.org/show_bug.cgi?id=223692
<rdar://problem/75787288>
Reviewed by Brent Fulgham.
These test rely on internal additions only available on certain OS
versions. We should disable them on other versions.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2021-04-16 Alex Christensen <achristensen@webkit.org>
Disable ApplicationCache with linkedOnOrAfter check
https://bugs.webkit.org/show_bug.cgi?id=224629
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
2021-04-16 Tyler Wilcock <twilco.o@protonmail.com>
[css-counter-styles] Parse and add feature flag for @counter-style
https://bugs.webkit.org/show_bug.cgi?id=223150
Reviewed by Darin Adler.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
Add `false` defaults for CSSCounterStyleAtRulesEnabled and
CSSCounterStyleAtRuleImageSymbolsEnabled flags.
2021-04-16 Chris Dumez <cdumez@apple.com>
Exit the GPUProcess when under memory pressure if it is not being used
https://bugs.webkit.org/show_bug.cgi?id=224556
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(runMemoryPressureExitTest):
(TEST):
2021-04-16 Aakash Jain <aakash_jain@apple.com>
[ews] Improve step description when layout-tests step is skipped
https://bugs.webkit.org/show_bug.cgi?id=224666
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(RunWebKitTests.getResultSummary):
* CISupport/ews-build/steps_unittest.py: Updated unit-tests.
2021-04-16 Manuel Rego Casasnovas <rego@igalia.com>
Avoid converting HTML chars in _W3CTestConverter
https://bugs.webkit.org/show_bug.cgi?id=224658
Reviewed by Adrian Perez de Castro.
There has been a change in Python HTMLParser in version 3.5 that makes convert_charrefs to be True by default:
https://docs.python.org/3/library/html.parser.html
This is causing that we're modifying the tests that have HTML characters, which is something
we shouldn't change and was not happening in previous Python 3 versions, or Python 2.
* Scripts/webkitpy/w3c/test_converter.py:
(_W3CTestConverter.__init__): Set convert_charrefs to False.
* Scripts/webkitpy/w3c/test_converter_unittest.py: Update test to include HTML chars and check that they're not modified.
2021-04-16 Youenn Fablet <youenn@apple.com>
Promote WKWebView device orientation permission delegate to API
https://bugs.webkit.org/show_bug.cgi?id=223919
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
(-[DeviceOrientationPermissionUIDelegate webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
(-[DeviceOrientationPermissionValidationDelegate webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[WebsitePoliciesDeviceOrientationUIDelegate webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
2021-04-15 Aakash Jain <aakash_jain@apple.com>
Pass -d parameter to git clean in commit-queue
https://bugs.webkit.org/show_bug.cgi?id=224636
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(CleanGitRepo):
* CISupport/ews-build/steps_unittest.py:
2021-04-15 Sam Sneddon <gsnedders@apple.com>
scm_unittest.py fails at import-time on Python 2
https://bugs.webkit.org/show_bug.cgi?id=224627
Reviewed by Jonathan Bedard.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.__repr__): Add a __repr__ for debug friendliness
* Scripts/webkitpy/__init__.py: pathlib2 never provides pathlib
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py: ditto
2021-04-15 Jonathan Bedard <jbedard@apple.com>
style checker should warn about adding new PHP files
https://bugs.webkit.org/show_bug.cgi?id=223905
<rdar://problem/76112036>
Reviewed by Youenn Fablet.
* Scripts/webkitpy/style/checker.py:
(CheckerDispatcher.is_valid_file): Check if a file has a file extension for an unsupported language.
(StyleProcessor.should_process): If a file has an extension of an unsupported language, report a
style error.
* Scripts/webkitpy/style/checker_unittest.py:
(CheckerDispatcherDispatchTest.test_text_paths): php files are now invalid extensions.
(CheckerDispatcherDispatchTest.test_none_paths): php files have no checker.
(StyleProcessor_CodeCoverageTest.MockDispatcher.is_valid_file):
(StyleProcessor_CodeCoverageTest.test_invalid_file): Check that an error is returned when checking
a file with an invalid extension.
* Scripts/webkitpy/style/checkers/cpp.py:
(CppChecker): Add a language rule.
2021-04-15 Sam Sneddon <gsnedders@apple.com>
webkitpy classes need not define loads/dumps helpers for pickle
https://bugs.webkit.org/show_bug.cgi?id=224620
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/layout_tests/models/test_failures.py:
(TestFailure.loads): Deleted.
(TestFailure.dumps): Deleted.
* Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
(TestFailuresTest.assert_pickle_roundtrip):
(TestFailuresTest.test_pickle_roundtrip):
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.loads): Deleted.
(TestResult.dumps): Deleted.
* Scripts/webkitpy/layout_tests/models/test_results_unittest.py:
(TestResultsTest.test_pickle_roundtrip):
2021-04-15 Wenson Hsieh <wenson_hsieh@apple.com>
WKContentView should become focused without requiring -[WKWebView canBecomeFocused] to return YES
https://bugs.webkit.org/show_bug.cgi?id=224613
<rdar://problem/76710314>
Reviewed by Tim Horton.
Adjust an existing API test so that it adopts the new UI delegate method.
* TestWebKitAPI/Tests/ios/UIFocusTests.mm:
(-[UIFocusDelegate _webViewCanTakeFocus:]):
(-[UIFocusDelegate _webView:takeFocus:]):
(TestWebKitAPI::TEST):
(-[UIFocusTestWKWebView canBecomeFocused]): Deleted.
2021-04-15 Jonathan Bedard <jbedard@apple.com>
[results.webkit.org] Fully report git commits
https://bugs.webkit.org/show_bug.cgi?id=224519
<rdar://problem/76619007>
Reviewed by Aakash Jain.
Rather than allowing the back-end to fully define commits associated with a test,
define those commits client side and post the result.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(summarize_results): Handle fully qualified commits.
* Scripts/webkitpy/port/base.py:
(Port.commits_for_upload): Fully define git commits.
* Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_commits_for_upload_git_svn):
2021-04-15 Brady Eidson <beidson@apple.com>
Move WKURLSchemeTask redirect API to SPI
https://bugs.webkit.org/show_bug.cgi?id=224581
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
(-[TaskSchemeHandler webView:startURLSchemeTask:]):
(-[HTTPRedirectTest webView:startURLSchemeTask:]): Deleted.
(-[HTTPRedirectTest webView:stopURLSchemeTask:]): Deleted.
2021-04-15 Aakash Jain <aakash_jain@apple.com>
Allow fast-cq as a prefix for patch name for fast-cq mode on commit-queue
https://bugs.webkit.org/show_bug.cgi?id=224580
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(BugzillaMixin):
(BugzillaMixin._is_patch_obsolete):
* CISupport/ews-build/steps_unittest.py: Updated unit-test.
2021-04-14 Devin Rousso <drousso@apple.com>
Promote `-[WKWebView _themeColor]` SPI to API
https://bugs.webkit.org/show_bug.cgi?id=224571
<rdar://problem/75231602>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/HTMLMetaThemeColor.mm:
(TEST.HTMLMetaThemeColor.OnLoad):
(TEST.HTMLMetaThemeColor.MultipleTags):
(-[WKWebViewThemeColorObserver initWithWebView:]):
(TEST.HTMLMetaThemeColor.KVO):
(TEST.HTMLMetaThemeColor.ExperimentalUseThemeColorForScrollAreaBackgroundColor):
2021-04-14 Youenn Fablet <youenn@apple.com>
Update WKPageSet implementation according new MediaProducer::MutedState values
https://bugs.webkit.org/show_bug.cgi?id=224548
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::doCaptureMuteTest):
(TestWebKitAPI::TEST):
2021-04-14 Alex Christensen <achristensen@webkit.org>
Don't block proxy authentication challenges
https://bugs.webkit.org/show_bug.cgi?id=224564
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::proxyAuthenticationServer):
(TestWebKitAPI::webViewAndDelegate):
(TestWebKitAPI::TEST):
2021-04-14 Jonathan Bedard <jbedard@apple.com>
[GitHub] Add script to verify integrity of the mirror
https://bugs.webkit.org/show_bug.cgi?id=224514
<rdar://problem/76613576>
Reviewed by Aakash Jain.
* Scripts/check-github-mirror-integrity: Added.
2021-04-14 Jonathan Bedard <jbedard@apple.com>
[results.webkit.org] Document ref API argument
https://bugs.webkit.org/show_bug.cgi?id=224435
<rdar://problem/76599481>
Reviewed by Aakash Jain.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/documentation.html:
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
2021-04-14 Kate Cheney <katherine_cheney@apple.com>
Service worker soft-update loads not being marked app-bound
https://bugs.webkit.org/show_bug.cgi?id=223200
<rdar://problem/75438555>
Reviewed by Youenn Fablet.
API test coverage. Refactor to avoid code duplication in other tests.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
A soft update might be delayed after the synthetic response comes
back. We should wait until we receive the test data indicating that
a soft update has occurred before checking the app-bound values.
2021-04-14 Aakash Jain <aakash_jain@apple.com>
Add support for using local-worker for build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=224551
Reviewed by Carlos Alberto Lopez Perez.
* CISupport/build-webkit-org/loadConfig.py:
(loadBuilderConfig): Added local-worker support.
* CISupport/ews-build/loadConfig.py:
(loadBuilderConfig): Removed use_localhost_worker variable.
2021-04-14 Aakash Jain <aakash_jain@apple.com>
Commit queue isn't skipping builds and test on revert patches
https://bugs.webkit.org/show_bug.cgi?id=224477
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(BugzillaMixin): Changed preamble to lower-case to match with new logic.
* CISupport/ews-build/steps_unittest.py: Added unit-tests.
2021-04-14 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Use a while loop in PlatformWebView::dismissAllPopupMenus()
https://bugs.webkit.org/show_bug.cgi?id=224534
Reviewed by Philippe Normand.
The child might be destroyed during the loop iteration. Using a while loop we ensure we get the next sibling
before the current child is destroyed.
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::dismissAllPopupMenus):
2021-04-14 Miguel Gomez <magomez@igalia.com>
[GTK][WPE] Add a property to the WebKitWebView indicating whether the web process is responsive
https://bugs.webkit.org/show_bug.cgi?id=224359
Reviewed by Adrian Perez de Castro.
Added unit test for web process responsiveness API.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewIsWebProcessResponsive):
(beforeAll):
2021-04-13 Myles C. Maxfield <mmaxfield@apple.com>
[GPU Process] Simplify DisplayList::Iterator part 4: Move DisplayList::Iterator to its own .h/.cpp files
https://bugs.webkit.org/show_bug.cgi?id=224146
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
2021-04-13 Alex Christensen <achristensen@webkit.org>
Remove support for NPAPI plugins in WebView
https://bugs.webkit.org/show_bug.cgi?id=224449
Reviewed by Chris Dumez.
Keep them on in tests until we remove the code.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
2021-04-13 Alex Christensen <achristensen@webkit.org>
Remove support for NPAPI plugins in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=224451
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/Copying.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[PlugInDelegate _webView:unavailablePlugInButtonClickedWithReason:plugInInfo:]): Deleted.
2021-04-13 Yusuke Suzuki <ysuzuki@apple.com>
[WTF] Add Vector&& move constructor / assignment to FixedVector and RefCountedArray
https://bugs.webkit.org/show_bug.cgi?id=224475
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WTF/FixedVector.cpp:
(TestWebKitAPI::TEST):
2021-04-13 Alex Christensen <achristensen@webkit.org>
Remove SharedBuffer's equality operators with Ref<SharedBuffer>
https://bugs.webkit.org/show_bug.cgi?id=224464
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
2021-04-13 Devin Rousso <drousso@apple.com>
[iOS] Only use the theme color if it's valid when `UseThemeColorForScrollAreaBackgroundColor` is enabled
https://bugs.webkit.org/show_bug.cgi?id=224455
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/HTMLMetaThemeColor.mm:
(createWebView): Added.
(TEST.HTMLMetaThemeColor.ExperimentalUseThemeColorForScrollAreaBackgroundColor): Added.
2021-04-12 Simon Fraser <simon.fraser@apple.com>
REGRESSION (r275792): [ iOS wk2 ] TestWebKitAPI.IndexedDB.DatabaseProcessKill is a flakey timeout
https://bugs.webkit.org/show_bug.cgi?id=224454
Reviewed by Brady Eidson, Sihui Liu.
This test was racey; the content ran script immediately, and it was possible for
the first set of messages to be received before -_test_waitForDidFinishNavigation
returned; the test would then stall because nothing triggered any more messages.
Fix by removing the call to -_test_waitForDidFinishNavigation and setting
receivedScriptMessage to false after waiting for the previous message.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill-1.html:
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
(TEST):
2021-04-13 Sam Sneddon <gsnedders@apple.com>
Test objects should know if they need servers
https://bugs.webkit.org/show_bug.cgi?id=224442
Reviewed by Jonathan Bedard.
This also removes the unused Manager.needs_servers
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.__init__): Move known paths from Manager.__init__
(LayoutTestFinder.find_tests_by_path):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__):
(Manager._is_http_test): Deleted.
(Manager._is_websocket_test): Deleted.
(Manager._needs_web_platform_test): Deleted.
(Manager._http_tests): Deleted.
(Manager._tests_to_run):
(Manager._test_input_for_file):
(Manager.needs_servers): Deleted.
(Manager.run):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_needs_servers): Deleted.
(ManagerTest.integration_test_needs_servers): Deleted.
* Scripts/webkitpy/layout_tests/models/test.py:
(Test):
(Test.needs_http_server):
(Test.needs_websocket_server):
(Test.needs_wpt_server):
(Test.needs_any_server):
2021-04-13 Chris Dumez <cdumez@apple.com>
The GPUProcess should only launch when it is needed
https://bugs.webkit.org/show_bug.cgi?id=224461
Reviewed by Eric Carlson.
Add layout test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-04-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] WTR crash in PlatformWebView::dismissAllPopupMenus()
https://bugs.webkit.org/show_bug.cgi?id=224487
Reviewed by Philippe Normand.
This is because we are using a for loop to iterate children that are destroyed. We should not be destroying the
children, though, we should just hide them, since they are owned by the web view.
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::dismissAllPopupMenus):
2021-04-13 Aakash Jain <aakash_jain@apple.com>
Delete various old EWS specific scripts
https://bugs.webkit.org/show_bug.cgi?id=224460
Reviewed by Alexey Proskuryakov.
* EWSTools/Start-Queue.ps1: Removed.
* EWSTools/boot.sh: Removed.
* EWSTools/build-boot-cmd.sh: Removed.
* EWSTools/screen-config: Removed.
* EWSTools/start-queue-mac.sh: Removed.
* EWSTools/start-queue-win.sh: Removed.
* EWSTools/start-queue.sh: Removed.
* EWSTools/ubuntu-ews-packages: Removed.
2021-04-12 Aakash Jain <aakash_jain@apple.com>
Make Commit Queue robust by adding few git commands to clean up repository
https://bugs.webkit.org/show_bug.cgi?id=224444
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(CleanGitRepo): Build step to run few commands to cleanup git repository.
(CleanGitRepo.run):
(CleanGitRepo.getResultSummary): Custom failure message.
* CISupport/ews-build/steps_unittest.py: Added unit-tests.
* CISupport/ews-build/factories.py:
(CommitQueueFactory.__init__):
* CISupport/ews-build/factories_unittest.py:
(TestCommitQueueFactory.test_commit_queue_factory): Updated unit-test.
2021-04-11 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r275801.
https://bugs.webkit.org/show_bug.cgi?id=224423
run-jsc-stress-tests output includes a lot of texts
Reverted changeset:
"[JSC] detect infrastructure failure for remote stress tests"
https://bugs.webkit.org/show_bug.cgi?id=222601
https://trac.webkit.org/changeset/275801
2021-04-11 Sam Weinig <weinig@apple.com>
Simplify WebKitTestRunner preference reset to be more like DRT
https://bugs.webkit.org/show_bug.cgi?id=224410
Reviewed by Darin Adler.
- Use boolWebPreferenceFeatures consistently for accessibilityIsolatedTreeMode
- Adopt new WKPreferencesStartBatchingUpdates/WKPreferencesEndBatchingUpdates
to ensure all preferences updates are batched.
- Move all preference overrides that can be moved (two still require some
specialized handling for now) to TestOptions defaults.
- Remove now unnecessary platformResetPreferencesToConsistentValues()
platform configuration point.
* WebKitTestRunner/Options.cpp:
(WTR::handleOptionAccessibilityIsolatedTreeMode):
* WebKitTestRunner/Options.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::batchUpdatePreferences):
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::resetStateToConsistentValues):
* WebKitTestRunner/TestController.h:
(WTR::TestController::accessibilityIsolatedTreeMode const): Deleted.
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::accessibilityIsolatedTreeMode const):
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::platformResetPreferencesToConsistentValues): Deleted.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::platformResetPreferencesToConsistentValues): Deleted.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues): Deleted.
* WebKitTestRunner/win/TestControllerWin.cpp:
(WTR::TestController::platformResetPreferencesToConsistentValues): Deleted.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformResetPreferencesToConsistentValues): Deleted.
2021-04-10 Angelos Oikonomopoulos <angelos@igalia.com>
[JSC] detect infrastructure failure for remote stress tests
https://bugs.webkit.org/show_bug.cgi?id=222601
Reviewed by Yusuke Suzuki.
run-jsc-stress-tests currently detects failures by the absence of
a failure file (that is generated by each failing test). This is
fragile to begin with, as it assumes that tests that fail to run
(e.g. because of an error in the runner script) are successful by
default.
However, the main motivation for this patch is to make execution
more robust when using remote hosts. Currently,
--gnu-parallel-runner will transparently reschedule jobs on a
different host when a remote host goes away. But detectFailures
expects to be able to connect to all hosts and fetch the failure
files, which fails if a remote host is still down when the run
finishes.
Instead, this patch changes the runners to always generate a status
file with the exit code. detectFailures then fetches all status
files from all hosts that are live on exit. Tests that failed to
run are explicitly accounted for as 'noreport' and are set to
ERROR in the final report.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2021-04-10 Aakash Jain <aakash_jain@apple.com>
Improve step description when compile-webkit step is skipped
https://bugs.webkit.org/show_bug.cgi?id=224373
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(CompileWebKit.getResultSummary): Set custom summary when this step is skipped.
* CISupport/ews-build/steps_unittest.py: Updated unit-tests.
2021-04-09 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r271660): Tap highlight no longer shows when tapping clickable elements without touch event listeners
https://bugs.webkit.org/show_bug.cgi?id=224385
<rdar://problem/76462370>
Reviewed by Tim Horton.
Add plumbing to expose the frame of the tap highlight view via `UIScriptController`.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::tapHighlightViewRect const):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::tapHighlightViewRect const):
2021-04-09 Aakash Jain <aakash_jain@apple.com>
git-webkit find doesn't work well with unicode characters in author name (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=223686
Reviewed by Jonathan Bedard.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py:
(Info.main): Updated the error message.
2021-04-09 Sam Sneddon <gsnedders@apple.com>
Make TestInput take a Test object, not a path
https://bugs.webkit.org/show_bug.cgi?id=224329
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests): Remove test_to_skip argument; skipped tests aren't for the runner.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(LayoutTestRunnerTests._run_tests): TestInput expects a Test.
(LayoutTestRunnerTests.test_interrupt_if_at_failure_limits): TestInput expects a Test.
(SharderTests.get_test_input): TestInput expects a Test.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._collect_tests):
Move duplicated code from Manager.run and Manager.print_expectations here.
(Manager._tests_to_run):
Renamed from Manager._prepare_lists; now just gives tests to run.
(Manager._test_input_for_file): Now takes a Test, not a str; device_type changes behaviour and shouldn't have any default.
(Manager._test_is_slow): device_type changes behaviour and shouldn't have any default.
(Manager._test_should_dump_jsconsolelog_in_stderr): device_type changes behaviour and shouldn't have any default.
(Manager._get_test_inputs): device_type changes behaviour and shouldn't have any default.
(Manager._update_worker_count): device_type changes behaviour and shouldn't have any default.
(Manager._set_up_run): device_type changes behaviour and shouldn't have any default.
(Manager.run):
Largely just change for Manager._collect_tests, also renaming the sets to match their
clearer names in print_expectations.
Additionally, now generate skip results here, as they aren't to do with actually running
tests, they're about test selection.
(Manager._run_test_subset): Remove tests_to_skip argument, devie_type is required.
(Manager._run_tests): Remove tests_to_skip argument, devie_type is required.
(Manager._print_expectation_line_for_test): Now takes a Test, not a str; device_type changes behaviour and shouldn't have any default.
(Manager._print_expectations_for_subset): Change default of tests_to_skip to avoid set/dict oddness.
(Manager.print_expectations): Largely change for Manager._collect_tests.
* Scripts/webkitpy/layout_tests/models/test.py:
(Test): Use attrs to avoid having to define cmp, hash, repr, etc.
* Scripts/webkitpy/layout_tests/models/test_input.py:
(TestInput.__init__): Take a Test, not a str.
(TestInput.test_name): Maintain compatibility with code reading TestInput.test_name for now.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.merge): Fix merging of dicts-of-sets, rather than overwriting the sets.
(TestRunResults.merge.merge_dict_sets): Implement the merging.
2021-04-09 Aditya Keerthi <akeerthi@apple.com>
[iOS][FCR] Use context menus for text input datalist dropdowns
https://bugs.webkit.org/show_bug.cgi?id=224287
<rdar://problem/76351317>
Reviewed by Wenson Hsieh.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::isShowingDataListSuggestions const):
Use the exposed information from the webview to determine whether the
datalist suggestions are visible, rather than traversing the view
hierarchy.
2021-04-08 Jiewen Tan <jiewen_tan@apple.com>
PCM: Write more blinded secret tests
https://bugs.webkit.org/show_bug.cgi?id=222018
<rdar://problem/74674160>
Reviewed by John Wilander.
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
Adds the new test.
2021-04-08 Alex Christensen <achristensen@webkit.org>
Serialize URL instead of entire challenge for informing client that modern TLS was negotiated
https://bugs.webkit.org/show_bug.cgi?id=224346
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(-[TLSNavigationDelegate waitForDidNegotiateModernTLS]):
(-[TLSNavigationDelegate _webView:didNegotiateModernTLSForURL:]):
(TestWebKitAPI::TEST):
(-[TLSNavigationDelegate _webView:didNegotiateModernTLS:]): Deleted.
2021-04-08 Tim Horton <timothy_horton@apple.com>
Safari unit tests sometimes fail an ASSERTion in IOSurface.mm's optionsFor32BitSurface()
https://bugs.webkit.org/show_bug.cgi?id=224351
<rdar://problem/76405354>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/ios/NavigationSwipeTests.mm:
(TEST):
Add a test that taking navigation snapshots for a 0x0 WKWebView doesn't assert.
2021-04-08 Alex Christensen <achristensen@webkit.org>
REGRESSION(r273541) WKWebView can't load NSURLRequest subclasses
https://bugs.webkit.org/show_bug.cgi?id=224338
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(respond):
* TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
(-[TestURLRequest initWithURL:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/TestURLSchemeHandler.h:
2021-04-08 David Kilzer <ddkilzer@apple.com>
REGRESSION (r275150): set-webkit-configuration is too aggressive at deleting config files when coverage/sanitizer switch is not set
<https://webkit.org/b/224343>
Reviewed by Mark Lam.
* Scripts/set-webkit-configuration:
(updateOrDeleteConfigurationFile):
- Change to take enabled and disabled arguments, and only
reset (unlink) a config file if the --no-<option> is
explicitly set.
2021-04-08 Kate Cheney <katherine_cheney@apple.com>
Add test infrastructure for app bound request context string
https://bugs.webkit.org/show_bug.cgi?id=224311
<rdar://problem/76229003>
Reviewed by Brent Fulgham.
Layout test infrastructure.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::appBoundRequestContextDataForDomain):
(WTR::TestRunner::callDidReceiveAppBoundRequestContextDataForDomainCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::appBoundRequestContextDataForDomain):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveAppBoundRequestContextDataForDomain):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::appBoundRequestContextDataForDomain):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _appBoundNavigationDataForDomain:completionHandler:]):
2021-04-08 Aakash Jain <aakash_jain@apple.com>
Add webkit-patch support for fast-cq mode
https://bugs.webkit.org/show_bug.cgi?id=224286
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/tool/steps/options.py:
(Options): Added --fast-cq parameter.
* Scripts/webkitpy/tool/steps/postdiff.py:
(PostDiff.options):
(PostDiff.run): Set the patch name appropriately for fast-cq mode.
* Scripts/webkitpy/common/net/bugzilla/attachment.py:
* Scripts/webkitpy/tool/commands/upload_unittest.py: Added unit test.
2021-04-08 Aakash Jain <aakash_jain@apple.com>
EWS should keep working when Bugzilla is down
https://bugs.webkit.org/show_bug.cgi?id=224336
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(BugzillaMixin.get_patch_json):
(BugzillaMixin.get_bug_json):
2021-04-08 Adam Roben <aroben@apple.com>
prepare-ChangeLog fails to find deleted functions in files with spaces in their path in Git repositories
https://bugs.webkit.org/show_bug.cgi?id=224303
Reviewed by Sam Weinig.
It would also print a bunch of errors like this on stderr:
fatal: ambiguous argument 'Foo/Bar.cpp': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
* Scripts/prepare-ChangeLog:
(originalFile): Quote the file path in the `git show` command we
construct.
2021-04-08 Truitt Savell <tsavell@apple.com>
Repalce bot187 with bot178 for CLoop tester.
rdar://76009577
Unreviewed infrustructure fix.
* CISupport/build-webkit-org/config.json:
2021-04-08 Sihui Liu <sihui_liu@apple.com>
Remove logging for investigating http/tests/IndexedDB/storage-limit-1.html failure
https://bugs.webkit.org/show_bug.cgi?id=223086
<rdar://problem/75591816>
Reviewed by Chris Dumez.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setQuotaLoggingEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setQuotaLoggingEnabled): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2021-04-08 Simon Fraser <simon.fraser@apple.com>
Copy-constructed Vectors should not have excess capacity
https://bugs.webkit.org/show_bug.cgi?id=224313
Reviewed by Darin Adler.
New API tests for testing capacity on copy-construct, with tests for copy-constructing
with various configs of inline capacity.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2021-04-08 Youenn Fablet <youenn@apple.com>
Update SFrame implementation to latest version
https://bugs.webkit.org/show_bug.cgi?id=224276
Reviewed by Eric Carlson.
Update tests according new way of deriving keys and generating the signature.
* TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp:
(TestWebKitAPI::TEST):
2021-04-07 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Handle multiple double-branch commits
https://bugs.webkit.org/show_bug.cgi?id=224251
<rdar://problem/76288547>
Reviewed by Dewei Zhu.
There are a few cases, namely on the safari-607-branch, where some commits where made both
on trunk and on a branch. In one notable case, two sequential commits were made this way.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn._cache_revisions): Handle multiple double-branch commits.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn._cache_revisions): Handle multiple double-branch commits.
2021-04-07 Aakash Jain <aakash_jain@apple.com>
commit-queue should perform git reset --hard between retry attempts
https://bugs.webkit.org/show_bug.cgi?id=224300
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(GitResetHard): Build step to perform git reset --hard.
(GitResetHard.start):
(PushCommitToWebKitRepo.evaluateCommand):
* CISupport/ews-build/steps_unittest.py: Added unit-test.
2021-04-07 Jonathan Bedard <jbedard@apple.com>
[build.webkit.org] Commit queue should post the identifier
https://bugs.webkit.org/show_bug.cgi?id=223829
<rdar://problem/75908321>
Reviewed by Aakash Jain.
* CISupport/ews-build/steps.py:
(PushCommitToWebKitRepo.url_for_revision): Use COMMITS_INFO_URL.
(PushCommitToWebKitRepo.url_for_identifier): Convert identifier
to commits.webkit.org URL.
(PushCommitToWebKitRepo.identifier_for_revision): Convert a commit
revision to an identifier string.
(PushCommitToWebKitRepo.comment_text_for_bug): Consult commits.webkit.org
to convert revision to identifier.
* CISupport/ews-build/steps_unittest.py:
2021-04-07 Aakash Jain <aakash_jain@apple.com>
git-webkit find doesn't work well with unicode characters in author name
https://bugs.webkit.org/show_bug.cgi?id=223686
Reviewed by Jonathan Bedard.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py:
(Info.main): Added a try except block while printing author, since the script should still print rest of the info.
2021-04-07 Jonathan Bedard <jbedard@apple.com>
REGRESSION(r274366): webkitscmpy.test.svn_unittest.TestRemoteSvn.test_info fails in non-PDT timezones
https://bugs.webkit.org/show_bug.cgi?id=223606
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestRemoteSvn.test_info): Use utc shifted into PDT for consistency across timezones.
2021-04-07 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WebKit::gtest target
https://bugs.webkit.org/show_bug.cgi?id=224203
Reviewed by Adrian Perez de Castro.
Use the WebKit::gtest target. Remove uses of ${THIRDPARTY_DIR}/gtest/include since the
target propagates those. Also remove the hack to get gtest definitions.
Don't include gtest with the TestJSC executable since it just uses GLib's testing
capabilities.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/config.h:
2021-04-07 Philippe Normand <pnormand@igalia.com>
[GStreamer] Videos start playing muted in epiphany with no unmute icon visible in tab, webkit_web_view_get_is_muted() returns incorrect results
https://bugs.webkit.org/show_bug.cgi?id=223195
Reviewed by Michael Catanzaro.
Adapt is-playing test, after muting the page, webkit_web_view_is_playing_audio() should
still return TRUE.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(IsPlayingAudioWebViewTest::periodicallyCheckIsPlayingForAWhile):
(testWebViewIsPlayingAudio):
2021-04-07 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Enable LLVM extension
https://bugs.webkit.org/show_bug.cgi?id=223882
Reviewed by Adrian Perez de Castro.
The clang shipped by default in the FDO SDK is not usable for ASan, UBSan (and I guess TSan)
builds, but the Flatpak extension shipping LLVM11 allows this, even though UBSan builds
still fail (linking errors in JSC and WTF) and will require further investigation. Still,
having clang-11 in the SDK is an improvement.
This patch also adds support for cleaning up unused toolchain archives.
* flatpak/flatpakutils.py:
(run_sanitized):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.clean_args):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.purge_unused_toolchains):
(WebkitFlatpak.pack_toolchain):
(WebkitFlatpak._get_packages):
2021-04-07 Alejandro G. Castro <alex@igalia.com>
[GTK][WPE] Wrong frame scrolled when view is horizontally scrolled with async scrolling enabled
https://bugs.webkit.org/show_bug.cgi?id=222900
Reviewed by Žan Doberšek.
We were not testing the async code path for WPE, it is important
we do it because it is the default option.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
Activating AsyncOverflowScrollingEnabled.
2021-04-06 Myles C. Maxfield <mmaxfield@apple.com>
[GPU Process] Simplify DisplayList::Iterator part 5: Tweak the return type of DisplayList::Iterator::operator*()
https://bugs.webkit.org/show_bug.cgi?id=224148
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
2021-04-06 Jean-Yves Avenard <jya@apple.com>
Add jya@apple.com as committer.
https://bugs.webkit.org/show_bug.cgi?id=224254
Reviewed by Eric Carlson
* Scripts/webkitpy/common/config/contributors.json:
2021-04-06 Alex Christensen <achristensen@webkit.org>
Add U+0581 and U+0585 to list of Armenian characters that look like Latin characters
https://bugs.webkit.org/show_bug.cgi?id=224219
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2021-04-06 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r274610): Unable to drag images when image extraction is enabled
https://bugs.webkit.org/show_bug.cgi?id=224211
<rdar://problem/76229563>
Reviewed by Tim Horton.
Add support for some new testing infrastructure; see below for more details.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::isAnimatingDragCancel const):
Add a new testing hook to return whether or not the web view's drag interaction is currently animating a drag
cancel (i.e., the drag preview is animating back to its original frame).
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
(WTR::TestOptions::keyTypeMapping):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::dragInteractionPolicy const):
Add a test option that allows tests to override the drag interaction policy to "always-allow",
"always-disallow", and the default value. This option allows us to force drag and drop to be enabled when
testing on iPhone simulator.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::dragInteractionPolicy):
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::isAnimatingDragCancel const):
2021-04-06 Yusuke Suzuki <ysuzuki@apple.com>
[WTF] Introduce FixedVector and use it for FixedOperands
https://bugs.webkit.org/show_bug.cgi?id=224171
Reviewed by Mark Lam.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/FixedVector.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::DestructorObserver::DestructorObserver):
(TestWebKitAPI::DestructorObserver::~DestructorObserver):
(TestWebKitAPI::DestructorObserver::operator=):
2021-04-06 Eric Carlson <eric.carlson@apple.com>
[macOS] Add MediaSessionCoordinator API test
https://bugs.webkit.org/show_bug.cgi?id=224140
<rdar://problem/76171173>
Reviewed by Jer Noble.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme:
* TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm: Added.
(-[_WKMockMediaSessionCoordinator lastStateChange]):
(-[_WKMockMediaSessionCoordinator lastMethodCalled]):
(-[_WKMockMediaSessionCoordinator identifier]):
(-[_WKMockMediaSessionCoordinator joinWithCompletion:]):
(-[_WKMockMediaSessionCoordinator leave]):
(-[_WKMockMediaSessionCoordinator seekTo:withCompletion:]):
(-[_WKMockMediaSessionCoordinator playWithCompletion:]):
(-[_WKMockMediaSessionCoordinator pauseWithCompletion:]):
(-[_WKMockMediaSessionCoordinator setTrack:withCompletion:]):
(-[_WKMockMediaSessionCoordinator positionStateChanged:]):
(-[_WKMockMediaSessionCoordinator readyStateChanged:]):
(-[_WKMockMediaSessionCoordinator playbackStateChanged:]):
(-[_WKMockMediaSessionCoordinator coordinatorStateChanged:]):
(-[_WKMockMediaSessionCoordinator seekSessionToTime:]):
(-[_WKMockMediaSessionCoordinator playSession]):
(-[_WKMockMediaSessionCoordinator pauseSession]):
(-[_WKMockMediaSessionCoordinator setSessionTrack:]):
(TestWebKitAPI::MediaSessionCoordinatorTest::createCoordinator):
(TestWebKitAPI::MediaSessionCoordinatorTest::webView const):
(TestWebKitAPI::MediaSessionCoordinatorTest::coordinator const):
(TestWebKitAPI::MediaSessionCoordinatorTest::loadPageAndBecomeReady):
(TestWebKitAPI::MediaSessionCoordinatorTest::runScriptWithUserGesture):
(TestWebKitAPI::MediaSessionCoordinatorTest::play):
(TestWebKitAPI::MediaSessionCoordinatorTest::pause):
(TestWebKitAPI::MediaSessionCoordinatorTest::listenForEventMessages):
(TestWebKitAPI::MediaSessionCoordinatorTest::eventListenerWasCalled):
(TestWebKitAPI::MediaSessionCoordinatorTest::clearEventListenerState):
(TestWebKitAPI::MediaSessionCoordinatorTest::executeUntil):
(TestWebKitAPI::MediaSessionCoordinatorTest::waitForEventListenerToBeCalled):
(TestWebKitAPI::MediaSessionCoordinatorTest::listenForMessagesPosted):
(TestWebKitAPI::MediaSessionCoordinatorTest::clearMessagesPosted):
(TestWebKitAPI::MediaSessionCoordinatorTest::listenForSessionHandlerMessages):
(TestWebKitAPI::MediaSessionCoordinatorTest::sessionHandlerWasCalled):
(TestWebKitAPI::MediaSessionCoordinatorTest::waitForSessionHandlerToBeCalled):
(TestWebKitAPI::MediaSessionCoordinatorTest::listenForPromiseMessages):
(TestWebKitAPI::MediaSessionCoordinatorTest::clearPromiseMessages):
(TestWebKitAPI::MediaSessionCoordinatorTest::promiseWasResolved):
(TestWebKitAPI::MediaSessionCoordinatorTest::promiseWasRejected):
(TestWebKitAPI::MediaSessionCoordinatorTest::waitForPromise):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/media-remote.html:
2021-04-06 David Kilzer <ddkilzer@apple.com>
set-webkit-configuration should print current settings
<https://webkit.org/b/224190>
Reviewed by Mark Lam.
* Scripts/set-webkit-configuration:
- Reorder switches to put sanitizers together.
- Declare subroutines.
- Call printCurrentSettings() or printUsage() as needed.
(printCurrentSettings): Add.
(printUsage): Add.
* Scripts/webkitdirs.pm:
- Reorder switch variables to match other code.
(coverageIsEnabled): Add for set-webkit-configuration.
2021-04-06 Philippe Normand <pnormand@igalia.com>
[WPE] Enable Cog's GTK4 backend
https://bugs.webkit.org/show_bug.cgi?id=224099
Reviewed by Adrian Perez de Castro.
The Cog GTK4 platform plugin is more suitable for developer builds on desktop, compared to
the fdo backend which provides no window decorations on most Wayland compositors.
* PlatformWPE.cmake:
* Scripts/webkitpy/port/wpe.py:
(WPEPort.run_minibrowser):
2021-04-06 Zalan Bujtas <zalan@apple.com>
[LFC][Integration] Enable inline box support (RenderInline)
https://bugs.webkit.org/show_bug.cgi?id=220148
<rdar://problem/72768785>
Reviewed by Antti Koivisto.
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
(TestWebKitAPI::TEST):
2021-04-06 Philippe Normand <pnormand@igalia.com>
[GStreamer] Test harness should use a mock audio output device
https://bugs.webkit.org/show_bug.cgi?id=223888
Reviewed by Adrian Perez de Castro.
Prioritize the new fakeaudiosink over other platform sinks when running the layout and API
tests. Mute and volume handling will still be tested (mocked, actually) but no actual
rendering will be performed.
The pulseaudio "sanitizer" can't work with a pipewire-pulse server because dynamic module
(un)loading is heavily restricted in this new wrapper. Moreover relying on the default sinks
when running on desktop machines easily triggers unintended beeps when running the tests.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__):
(GtkPort.setup_test_run):
(GtkPort.setup_environ_for_server):
(GtkPort.clean_up_test_run): Deleted.
* Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest):
(GtkPortTest.make_port): Deleted.
* Scripts/webkitpy/port/pulseaudio_sanitizer.py: Removed.
* Scripts/webkitpy/port/pulseaudio_sanitizer_mock.py: Removed.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest):
(WPEPortTest.make_port): Deleted.
2021-04-06 Aakash Jain <aakash_jain@apple.com>
[resultsdbpy] Remove obsolete BuildbotEightURLFactory
https://bugs.webkit.org/show_bug.cgi?id=223796
Reviewed by Jonathan Bedard.
* Scripts/libraries/resultsdbpy/resultsdbpy/example/environment.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/ci_context.py:
(BuildbotEightURLFactory): Deleted.
(BuildbotEightURLFactory.__init__): Deleted.
(BuildbotEightURLFactory.url): Deleted.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/ci_context_unittest.py:
(URLFactoryTest.test_old_builder_url): Deleted.
(URLFactoryTest.test_old_worker_url): Deleted.
2021-04-06 Ryosuke Niwa <rniwa@webkit.org>
Disable WebSQL in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=224144
Reviewed by Sihui Liu.
Disabled WebSQL in WebKitTestRunner.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2021-04-05 Alex Christensen <achristensen@webkit.org>
REGRESSION(r267763) NetworkProcess never terminates
https://bugs.webkit.org/show_bug.cgi?id=224191
<rdar://problem/76124590>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
2021-04-05 Alex Christensen <achristensen@webkit.org>
Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=224084
Reviewed by Tim Horton.
* TestWebKitAPI/PlatformMac.cmake:
* WebKitTestRunner/PlatformMac.cmake:
2021-04-05 Myles C. Maxfield <mmaxfield@apple.com>
[GPU Process] Simplify DisplayList::Iterator part 1: Require encoding/decoding delegates for non-inline display list items
https://bugs.webkit.org/show_bug.cgi?id=223849
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
2021-04-05 Christopher Reid <chris.reid@sony.com>
[WinCairo] Enable Service Worker tests
https://bugs.webkit.org/show_bug.cgi?id=223591
Reviewed by Fujii Hironori.
Ignore cert errors with downloads and fix an issue with windows paths.
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/TestController.h:
2021-04-05 Lauro Moura <lmoura@igalia.com>
[GLIB] Garden API test failure and flakiness after r275267
Unreviewed test gardening.
* TestWebKitAPI/glib/TestExpectations.json:
2021-04-02 Brady Eidson <beidson@apple.com>
Add WKURLSchemeTask redirect API.
https://bugs.webkit.org/show_bug.cgi?id=224119
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
(-[TaskSchemeHandler webView:startURLSchemeTask:]):
(TEST):
(-[HTTPRedirectTest webView:startURLSchemeTask:]):
(-[HTTPRedirectTest webView:stopURLSchemeTask:]):
2021-04-02 Jonathan Bedard <jbedard@apple.com>
[check-webkit-style] Check python files in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=224079
<rdar://problem/76122813>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/style/checker.py:
(CheckerDispatcher.should_skip_without_warning): Never skip style checks on .py files.
* Scripts/webkitpy/style/checker_unittest.py:
(CheckerDispatcherSkipTest.test_should_skip_without_warning__false):
2021-04-02 Chris Fleizach <cfleizach@apple.com>
AX: textRectsFromMarkers always fails
https://bugs.webkit.org/show_bug.cgi?id=223556
<rdar://74256003>
Reviewed by Zalan Bujtas.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::rectsForTextMarkerRange):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::rectsForTextMarkerRange):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::rectsForTextMarkerRange):
* WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp:
(WTR::AccessibilityUIElement::rectsForTextMarkerRange):
2021-04-02 Youenn Fablet <youenn@apple.com>
[MacOS] Enable NSURLSession WebSocket code path in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=220973
<rdar://problem/73655870>
Reviewed by Darin Adler.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2021-04-01 Yusuke Suzuki <ysuzuki@apple.com>
[WTF] Introduce RobinHoodHashTable
https://bugs.webkit.org/show_bug.cgi?id=223895
Reviewed by Fil Pizlo.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/DeletedAddressOfOperator.h:
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::testMovingUsingEnsure):
(TestWebKitAPI::testMovingUsingAdd):
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::generateTestCapacityUpToSize<0>):
(TestWebKitAPI::generateTestCapacityUpToSize):
* TestWebKitAPI/Tests/WTF/MoveOnly.h:
* TestWebKitAPI/Tests/WTF/RobinHoodHashMap.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/HashMap.cpp.
(TestWebKitAPI::TEST):
(TestWebKitAPI::bucketForKey):
(TestWebKitAPI::ZeroHash::hash):
(TestWebKitAPI::ObjectWithRefLogger::ObjectWithRefLogger):
(TestWebKitAPI::testMovingUsingEnsure):
(TestWebKitAPI::testMovingUsingAdd):
(TestWebKitAPI::DerefObserver::ref):
(TestWebKitAPI::DerefObserver::deref):
(TestWebKitAPI::TestObjectWithCustomDestructor::TestObjectWithCustomDestructor):
(TestWebKitAPI::TestObjectWithCustomDestructor::~TestObjectWithCustomDestructor):
* TestWebKitAPI/Tests/WTF/RobinHoodHashSet.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/HashSet.cpp.
(TestWebKitAPI::capacityForSize):
(TestWebKitAPI::testInitialCapacity):
(TestWebKitAPI::generateTestCapacityUpToSize<0>):
(TestWebKitAPI::generateTestCapacityUpToSize):
(TestWebKitAPI::TEST):
(TestWebKitAPI::DerefObserver::ref):
(TestWebKitAPI::DerefObserver::deref):
2021-04-01 Alex Christensen <achristensen@webkit.org>
REGRESSION(r272469) QuickLook previews broken in some places on macOS
https://bugs.webkit.org/show_bug.cgi?id=224086
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
(TestWebKitAPI::TEST_F):
2021-04-01 Aakash Jain <aakash_jain@apple.com>
Enable ews status bubble for stress tests ews
https://bugs.webkit.org/show_bug.cgi?id=224069
Reviewed by Jonathan Bedard.
* CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
2021-04-01 Myles C. Maxfield <mmaxfield@apple.com>
[Cocoa] REGRESSION(r272999): User-installed fonts no longer work in Mail
https://bugs.webkit.org/show_bug.cgi?id=223985
<rdar://problem/75975210>
Reviewed by Per Arne Vollan.
* TestWebKitAPI/Tests/WebKit/FontRegistrySandboxCheck.mm:
(TEST):
2021-04-01 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Improve git-svn-id regex
https://bugs.webkit.org/show_bug.cgi?id=224008
<rdar://problem/76062561>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.commit): Strip leading spaces before parsing the commit message.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Ensure that git-svn-id lines
are printed to stdout with leading spaces.
* Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase): Only match git-svn-id lines if they are at the beginning of a line.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
2021-04-01 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support case where contributor did not define email
https://bugs.webkit.org/show_bug.cgi?id=224005
<rdar://problem/76058258>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor):
(Contributor.Mapping.create): An email of 'None' should not be indexed.
(Contributor.from_scm_log): Handle case where contributor is defined, but email isn't.
2021-03-31 Chris Dumez <cdumez@apple.com>
Add API test for Bug 224022
https://bugs.webkit.org/show_bug.cgi?id=224024
Reviewed by Alex Christensen.
The way to reproduce the bug was to make sure that the NetworkProcessProxy was not associated
with any datastore at the time of the crash, then construct a new view and do a load, which
would hang.
If the NetworkProcessProxy was associated with a datastore and the WKWebSiteDataStore's
m_networkProcess was not null, then WebsiteDataStore::networkProcessCrashed() would take
care of calling `m_networkProcess->didTerminate()`, which would destroy the NetworkProcessProxy
singleton.
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
2021-03-31 Wenson Hsieh <wenson_hsieh@apple.com>
List of extents should be bounds-checked when iterating display list items
https://bugs.webkit.org/show_bug.cgi?id=224019
<rdar://problem/71851600>
Reviewed by Tim Horton.
Rename `InvalidItem` to `InvalidItemOrExtent`.
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
2021-03-31 BJ Burg <bburg@apple.com>
Style checker should warn about use of future OS versions in WK_API_AVAILABLE
https://bugs.webkit.org/show_bug.cgi?id=223881
Reviewed by Jonathan Bedard.
Add some more brains to the WK_API_AVAILABLE style checker. It is now more
fussy and won't allow anything except a valid version string or a TBA macro.
There is also a mechanism to prevent adding version numbers that exceed the
publicly available SDK version for the relevant OS.
* Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.mapping_for_platform): Add 'macos' as an alias for 'mac'.
(VersionNameMap.max_public_version): Added.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_arguments_for_wk_api_available):
(check_arguments_for_wk_api_available.max_version_for_platform):
(check_arguments_for_wk_api_available.check_version_string):
(check_style):
(check_min_versions_of_wk_api_available): Deleted.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest):
2021-03-31 Aakash Jain <aakash_jain@apple.com>
EWS should stress test newly added tests
https://bugs.webkit.org/show_bug.cgi?id=223938
Reviewed by Jonathan Bedard.
* CISupport/ews-build/config.json:
* CISupport/ews-build/factories.py:
(Factory):
(StressTestFactory):
* CISupport/ews-build/factories_unittest.py: Added unit-tests.
* CISupport/ews-build/loadConfig.py:
2021-03-31 David Kilzer <ddkilzer@apple.com>
REGRESSION (r275150): set-webkit-configuration is too aggressive at deleting config files when switch is not set
<https://webkit.org/b/224009>
Reviewed by Mark Lam.
* Scripts/set-webkit-configuration:
- Partially revert changes in r275150 when the config file
wasn't always deleted for $architecture, $configuration,
$forceOptimizationLevel and $ltoMode.
2021-03-31 Alex Christensen <achristensen@webkit.org>
Add deprecation macros.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(verifyCertificateAndPublicKey):
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2021-03-31 Wenson Hsieh <wenson_hsieh@apple.com>
WKContentView should support UIKit protocol methods for becoming focused
https://bugs.webkit.org/show_bug.cgi?id=224003
<rdar://problem/75313658>
Reviewed by Megan Gardner.
Add a test to verify that the vaue of `-[WKContentView canBecomeFocused]` can be overridden by subclassing
`-[WKWebView canBecomeFocused]`.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/UIFocusTests.mm: Added.
(-[UIFocusTestWKWebView canBecomeFocused]):
2021-03-31 Alex Christensen <achristensen@webkit.org>
Add test for SOCKS5 proxy SPI
https://bugs.webkit.org/show_bug.cgi?id=223964
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
2021-03-31 Aakash Jain <aakash_jain@apple.com>
Add build step to run layout tests for multiple iterations in guard malloc mode
https://bugs.webkit.org/show_bug.cgi?id=224002
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(RunWebKitTests):
(RunWebKitTests.setLayoutTestCommand):
(RunWebKitTestsInStressGuardmallocMode):
* CISupport/ews-build/steps_unittest.py:
2021-03-31 Aakash Jain <aakash_jain@apple.com>
Add build step to run layout tests for multiple iterations
https://bugs.webkit.org/show_bug.cgi?id=223950
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(RunWebKitTestsInStressMode):
(RunWebKitTestsInStressMode.setLayoutTestCommand):
(RunWebKitTestsInStressMode.evaluateCommand):
* CISupport/ews-build/steps_unittest.py: Added unit-tests.
2021-03-31 Aakash Jain <aakash_jain@apple.com>
Add a fast-cq mode for commit-queue which will skip build and test
https://bugs.webkit.org/show_bug.cgi?id=223954
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py: Enable fast-cq mode when patch name on bugzilla starts with [fast-cq].
(BugzillaMixin):
(BugzillaMixin._is_patch_obsolete):
(CompileWebKit.doStepIf): Skip building on commit-queue when fast_commit_queue property is set.
(RunWebKitTests.doStepIf): Skip testing on commit-queue when fast_commit_queue property is set.
* CISupport/ews-build/steps_unittest.py:
2021-03-31 Youenn Fablet <youenn@apple.com>
Apply permission policy to geolocation
https://bugs.webkit.org/show_bug.cgi?id=223248
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[GeolocationDelegateNew setValidationHandler:]):
(-[GeolocationDelegateNew _webView:requestGeolocationPermissionForOrigin:initiatedByFrame:decisionHandler:]):
(-[GeolocationPermissionMessageHandler userContentController:didReceiveScriptMessage:]):
2021-03-30 Chris Dumez <cdumez@apple.com>
Service Worker scripts use too much memory in the network process
https://bugs.webkit.org/show_bug.cgi?id=223808
<rdar://75637093>
Reviewed by Geoff Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-4.sqlite3: Removed.
Drop outdated pre-baked service worker registration database as it is no longer
needed and it is a pain to keep up to date.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
Add API test coverage for FileSystem::deleteNonEmptyDirectory(). It is not a new API but it
had no tests, it used more in this patch and we now have an implementation on all supported
platforms.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
- Tweak service worker tests so that they expect a version 6 database instead of version 5,
since I updated the database scheme and bumped the version.
- Update test that was relying on a pre-baked service worker database file (with old schema) and
have it dynamically generate the database instead by loading a page that registers a service
worker.
2021-03-30 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Return new-style commits (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=223262
<rdar://problem/75483361>
Unreviewed follow-up fix.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller.py:
(CommitController.register): Allow branch in commit uploads.
2021-03-30 Jessie Berlin <jberlin@webkit.org>
Reinstate my committer status.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-03-30 Aakash Jain <aakash_jain@apple.com>
[ews] Make RunWebKitTests class easy to extend
https://bugs.webkit.org/show_bug.cgi?id=223939
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(RunWebKitTests):
(RunWebKitTests.setLayoutTestCommand): Separated out code to set the layout-test command.
(RunWebKitTests.start):
2021-03-29 Simon Fraser <simon.fraser@apple.com>
Allow non-60fps display updates to be driven by DisplayRefreshMonitor
https://bugs.webkit.org/show_bug.cgi?id=223912
Reviewed by Sam Weinig.
New API tests for preferredFramesPerSecond() and
DisplayUpdate::relevantForUpdateFrequency(), and duplicate existing tests for the "use
display nominal FPS" vs "use near-60 FPS" settings.
* TestWebKitAPI/Tests/WebCore/AnimationFrameRate.cpp:
(TestWebKitAPI::TEST):
2021-03-30 Aakash Jain <aakash_jain@apple.com>
[ews] Add build step to find list of layout tests modified by a patch
https://bugs.webkit.org/show_bug.cgi?id=223890
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(AnalyzePatch): Created common base class for CheckPatchRelevance and FindModifiedLayoutTests.
(AnalyzePatch._get_patch): Moved to base class.
(AnalyzePatch._addToLog): Ditto.
(AnalyzePatch.getResultSummary): Ditto.
(CheckPatchRelevance):
(FindModifiedLayoutTests): Build step to find list of layout tests modified by the patch being processed.
(FindModifiedLayoutTests.find_test_names_from_patch):
(FindModifiedLayoutTests.start):
* CISupport/ews-build/steps_unittest.py: Added unit-tests.
2021-03-29 Cameron McCormack <heycam@apple.com>
Avoid calling `xcodebuild -showsdks` where possible.
https://bugs.webkit.org/show_bug.cgi?id=223727
Reviewed by Sam Weinig.
run-minibrowser needs to know what port it's running on, since that
affects the build directory to look in to find the MiniBrowser binary.
On macOS, webkitdirs.pm's determinePortName ends up running
`xcodebuild -showsdks` to see if the current SDK has an internal
variant available, but this is slow. But we don't need to know the
exact SDK name here, just the SDK platform name, to determine the
port name.
So we shuffle some code around to avoid calling `xcodebuild -showsdks`
where we can. This reduces the time spent in run-minibrowser before
MiniBrowser is launched (crudely measured with `time run-minibrowser
--help`) from 2s to 0.6s on this machine.
* Scripts/webkitdirs.pm:
(readXcodeUserDefault):
(determineArchitecture):
(argumentsForConfiguration):
(availableXcodeSDKs):
(isValidXcodeSDKPlatformName):
(determineXcodeSDKPlatformName):
(determineXcodeSDK):
(setXcodeSDK):
(xcodeSDKPlatformName):
(determinePortName):
2021-03-29 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Return new-style commits
https://bugs.webkit.org/show_bug.cgi?id=223262
<rdar://problem/75483361>
Reviewed by Dewei Zhu.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit.py: Removed.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller.py:
(_find_comparison): Replace id with ref.
(uuid_range_for_commit_range_query): Support both id and ref in REST API.
(uuid_range_for_query): Ditto.
(CommitController._find): Ditto.
(CommitController.register): Return webkitscmpy.Commit object.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller_unittest.py:
(CommitControllerTest.test_branches): WebKit's default branch is now main.
(CommitControllerTest.test_register_with_full_commit): Registered commits should be webkitscmpy Commit objects.
(CommitControllerTest.test_find_range_id): Returned revisions are now integers.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_unittest.py: Removed.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/upload_controller_unittest.py:
(UploadControllerPostTest.test_upload): WebKit commits are under-pinned by Git now.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/archive_context.py:
(ArchiveContext.register): Use webkitscmpy Commit objects.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/ci_context.py:
(CIContext.register): Use webkitscmpy Commit objects.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context.py:
(CommitContext.CommitModel): Renamed from CommitModelMk2.
(CommitContext.CommitByUuidAscending): Renamed from CommitByUuidAscendingMk2.
(CommitContext.CommitByUuidDescending): Renamed from CommitByUuidDescendingMk2.
(CommitContext.__init__): Remove old tables.
(CommitContext.timestamp_to_uuid): Use webkitscmpy Commit objects.
(CommitContext.branch_keys_for_commits): All default branches should be treated the same.
(CommitContext.find_commits_by_ref): Find commits by revision, hash and identifier.
(CommitContext.register):
(CommitContext.register_commit): Save commit to new tables.
(CommitContext.url): Pass commit object to repository url generator.
(CommitContext.CommitByID): Deleted.
(CommitContext.CommitModelMk2): Renamed to CommitModel.
(CommitContext.CommitByUuidAscendingMk2): Renamed to CommitByUuidAscending.
(CommitContext.CommitByUuidDescendingMk2): Renamed to CommitByUuidDescending.
(CommitContext.find_commits_by_id): Deleted.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context_unittest.py:
(CommitContextTest): Use ref instead of id.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/failure_context.py:
(FailureContext.register): Use webkitscmpy Commit objects.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/mock_model_factory.py:
(MockModelFactory):
(MockModelFactory.webkit): Mock both Subversion and GitHub for WebKit.
(MockModelFactory.create):
* Scripts/libraries/resultsdbpy/resultsdbpy/model/repository.py:
(Repository.commit): By default, fully define commits.
(StashRepository.commit): Ditto.
(StashRepository.url_for_commit): Create a URL for a commit object.
(WebKitRepository.__init__): Use both GitHub and Subversion.
(WebKitRepository.commit): Determine which remote to use based on provided arguments.
(WebKitRepository.url_for_commit): Create a URL for a commit object.
(WebKitRepository.representations): WebKit commits can be represented by hashes.
(Repository.commit_for_id): Deleted.
(StashRepository.commit_for_id): Deleted.
(WebKitRepository.commit_for_id): Deleted.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/repository_unittest.py:
(RepositoryTest.test_svn): WebKit default branch is now main.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/suite_context.py:
(SuiteContext.register): Use webkitscmpy Commit objects.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/test_context.py:
(TestContext.register): Use webkitscmpy Commit objects.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext.UploadsByConfigurationLegacy.unpack): Use webkitscmpy Commit objects.
(UploadContext.UploadsByConfiguration.unpack): Ditto.
(UploadContext._do_job_for_key): Ditto.
(UploadContext.upload_test_results): Ditto.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/archive_view_unittest.py:
(ArchiveViewUnittest.register_archive): Use webkitscmpy Commit objects.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/commit_view.py:
(CommitView.commit): Use webkitscmpy Commit objects.
(CommitView.info): Ditto.
(CommitView.previous): Ditto.
(CommitView.next): Ditto.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/commit.js:
(Commit):
(Commit.prototype.label): Only print identifier/hash/revision if they are defined.
(_CommitBank.prototype._loadSiblings): Use ref over id.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/drawer.js: main is a default branch.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(xAxisFromScale): Only print author if the author exists.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/commit.html: prefer ref over id, use
webkitscmpy Commit object in Jinja template.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/documentation.html: Update documentation
to match webkitscmpy Commit object.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/investigate.html: main is a default branch.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/search.html: Correct CommitRepresentation callback.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/setup.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit.Encoder.default): Handle dict and list in JSON correctly.
(Commit.uuid): uuid should be 'None' when timestamp is 'None'.
(Commit.__repr__): Return a ? for an undefined commit.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/bitbucket.py:
(BitBucket.request): Do not add git-svn-id for undefined revision.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub._commit_response): Fix unit tests.
* Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase): Do not mach git-svn ID with a space before it.
2021-03-29 Wenson Hsieh <wenson_hsieh@apple.com>
Add a way for internal clients to hit-test for selectable text in user agent shadow roots
https://bugs.webkit.org/show_bug.cgi?id=223894
<rdar://problem/75968068>
Reviewed by Tim Horton.
Add a new API test to exercise `-[WKWebProcessPlugInFrame hitTest:options:]`.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/InjectedBundleHitTest.mm: Added.
(-[WKWebViewWithHitTester hasSelectableTextAt:]):
(TestWebKitAPI::createWebViewWithHitTester):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/simple-responsive-page.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleHitTestPlugIn.mm: Added.
(-[InjectedBundleHitTestPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[InjectedBundleHitTestPlugIn webProcessPlugInBrowserContextController:didClearWindowObjectForFrame:inScriptWorld:]):
(-[InjectedBundleHitTestPlugIn webProcessPlugInBrowserContextController:didFinishLoadForFrame:]):
(-[InjectedBundleHitTestPlugIn hasSelectableTextAt:completionHandler:]):
(-[InjectedBundleHitTestPlugIn dealloc]):
* TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleHitTestProtocol.h: Added.
2021-03-29 Myles C. Maxfield <mmaxfield@apple.com>
[GPU Process] Simplify DisplayList::Iterator part 2: Rename setItemBufferClient to setItemBuffer{Writing,Reading}Client
https://bugs.webkit.org/show_bug.cgi?id=223863
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
2021-03-29 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r275170.
Broke the build
Reverted changeset:
"[Big Sur arm64]
TestWebKitAPI.WebKit.AccessibilityReduceMotion is a flaky
crash"
https://bugs.webkit.org/show_bug.cgi?id=222824
https://commits.webkit.org/r275170
2021-03-26 Ryan Haddad <ryanhaddad@apple.com>
[Big Sur arm64] TestWebKitAPI.WebKit.AccessibilityReduceMotion is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=222824
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm: Disable the test for arm64 Macs.
2021-03-29 Alex Christensen <achristensen@webkit.org>
Migrate _WKUserContentExtension and older versions of WKContentRuleList to WKContentRuleList during lookup
https://bugs.webkit.org/show_bug.cgi?id=223831
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(respond):
(TEST):
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[WKWebView _test_waitForDidFailProvisionalNavigation]):
2021-03-29 Youenn Fablet <youenn@apple.com>
Promote WKWebView getUserMedia SPI to API
https://bugs.webkit.org/show_bug.cgi?id=223806
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(-[UserMediaCaptureUIDelegateForParameters webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:type:decisionHandler:]):
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(-[NavigationWhileGetUserMediaPromptDisplayedUIDelegate webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:type:decisionHandler:]):
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
(-[DeviceOrientationPermissionUIDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
(-[DeviceOrientationPermissionValidationDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(-[SpeechRecognitionUIDelegate webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:type:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[GeolocationDelegateNew _webView:requestGeolocationPermissionForOrigin:initiatedByFrame:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaDisabled.mm:
(-[UserMediaUIDelegate webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:type:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
(-[SimulateFailedSandboxUIDelegate webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:type:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[WebsitePoliciesDeviceOrientationUIDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
* TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.h:
* TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.mm:
(-[UserMediaCaptureUIDelegate init]):
(-[UserMediaCaptureUIDelegate setAudioDecision:]):
(-[UserMediaCaptureUIDelegate setVideoDecision:]):
(-[UserMediaCaptureUIDelegate webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:type:decisionHandler:]):
2021-03-28 Cameron McCormack <heycam@apple.com>
Enable AspectRatioOfImgFromWidthAndHeightEnabled for WebKitLegacy.
https://bugs.webkit.org/show_bug.cgi?id=223815
Reviewed by Sam Weinig.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
2021-03-27 Dewei Zhu <dewei_zhu@apple.com>
Fix a bug that http server for run-benchmark script does not work on python3.
https://bugs.webkit.org/show_bug.cgi?id=223839
Reviewed by Ryosuke Niwa.
Fix encoding issue on run-benchmark http server.
Extract argument parser configure code for run-benchmark so that we can reuse it elsewhere.
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
(ServerControl.render_POST):
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(config_argument_parser): Extract argument parser configure code so that we can reuse it elsewhere.
(parse_args):
(main):
2021-03-28 Sam Weinig <weinig@apple.com>
Remove ENABLE_INDEXED_DATABASE & ENABLE_INDEXED_DATABASE_IN_WORKERS, it seems like it is on for all ports
https://bugs.webkit.org/show_bug.cgi?id=223810
Reviewed by Simon Fraser.
* Scripts/webkitperl/FeatureList.pm:
Remove ENABLE_INDEXED_DATABASE & ENABLE_INDEXED_DATABASE_IN_WORKERS from FeatureList.pm.
2021-03-28 David Kilzer <ddkilzer@apple.com>
Compile WebKit with UBSan
<https://webkit.org/b/176131>
<rdar://problem/34174018>
Reviewed by Alexey Proskuryakov.
* Scripts/set-webkit-configuration:
- Add support for --[no-]ubsan command-line switch.
- Add warning when enabling ASan and TSan together.
(updateOrDeleteConfigurationFile):
- Extract common code for updating configuration files.
* Scripts/webkitdirs.pm:
(readSanitizerConfiguration): Add.
- Extract common code for reading sanitizer configuration files.
(determineASanIsEnabled):
(determineTSanIsEnabled):
(determineUBSanIsEnabled): Add.
- Make use of readSanitizerConfiguration().
(ubsanIsEnabled): Add.
(XcodeOptions):
- Add command-line switches for UBSan.
(generateBuildSystemFromCMakeProject): Ditto.
* sanitizer/ubsan.xcconfig: Add.
- Contains Xcode settings for enabling UBSan.
2021-03-27 Kate Cheney <katherine_cheney@apple.com>
PCM: Send report to both click source and attribution destination website
https://bugs.webkit.org/show_bug.cgi?id=223615
<rdar://problem/75849443>
Reviewed by Brent Fulgham.
Update API tests to check for a valid time to send for both the source
and destination site.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
2021-03-26 Lauro Moura <lmoura@igalia.com>
REGRESSION(r275111) [GLIB] Fix build with new derived sources and forwarding headers scheme
https://bugs.webkit.org/show_bug.cgi?id=223834
Unreviewed build fix.
* TestWebKitAPI/glib/CMakeLists.txt: Add some missing variables with
needed include headers.
2021-03-26 Tyler Wilcock <twilco.o@protonmail.com>
Fix TypeError: Can't mix strings and bytes in path components in Tools/Scripts/dump-class-layout
https://bugs.webkit.org/show_bug.cgi?id=223819
Reviewed by Jonathan Bedard.
Prior to this patch, I received this error when trying to run the
dump-class-layout script. This happens because `webkit_build_dir()` returns
bytes rather than a string.
$ dump-class-layout -c Release WebCore Pair
Traceback (most recent call last):
File "/home/twilco/projects/webkit/Tools/Scripts//dump-class-layout", line 88, in <module>
main()
File "/home/twilco/projects/webkit/Tools/Scripts//dump-class-layout", line 80, in main
target_path = os.path.join(build_dir, args.config, args.framework + ".framework", args.framework);
File "/usr/lib/python3.9/posixpath.py", line 90, in join
genericpath._check_arg_types('join', a, *p)
File "/usr/lib/python3.9/genericpath.py", line 155, in _check_arg_types
raise TypeError("Can't mix strings and bytes in path components") from None
TypeError: Can't mix strings and bytes in path components
* Scripts/dump-class-layout:
Update `webkit_build_dir()` to decode its output into a UTF-8 string.
2021-03-26 Jonathan Bedard <jbedard@apple.com>
System installing webkitcorepy can break certain scripts
https://bugs.webkit.org/show_bug.cgi?id=223822
<rdar://problem/75905163>
Rubber-stamped by Alan Coon.
* Scripts/libraries/resultsdbpy/resultsdbpy/example/environment.py:
* Scripts/test-lldb-webkit: Replace sys.path.append with sys.path.insert.
* Scripts/webkitpy/__init__.py: Only put webkitcorepy path into sys.path if it isn't already there.
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
Replace sys.path.append with sys.path.insert.
* Scripts/webkitpy/common/system/executive_unittest.py: Ditto.
* Scripts/webkitpy/port/config_standalone.py: Ditto.
2021-03-26 Jonathan Bedard <jbedard@apple.com>
[webkit-patch] Use commit.webkit.org instead of remote SVN to compute identifier
https://bugs.webkit.org/show_bug.cgi?id=223820
<rdar://problem/75902125>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/tool/commands/download_unittest.py:
(DownloadCommandsTest.mock_svn_remote): Replace mock Svn with mock requests.
* Scripts/webkitpy/tool/commands/upload_unittest.py:
* Scripts/webkitpy/tool/comments.py:
(bug_comment_from_svn_revision): Use commits.webkit.org instead of svn.webkit.org.
* Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
(CloseBugForLandDiffTest.test_empty_state): Replace mock Svn with mock requests.
2021-03-26 Don Olmstead <don.olmstead@sony.com>
[CMake] Deprecate using DERIVED_SOURCES_DIR/FOWARDING_HEADERS_DIR directly
https://bugs.webkit.org/show_bug.cgi?id=223763
Reviewed by Michael Catanzaro.
Remove any usages of DERIVED_SOURCES_DIR and FOWARDING_HEADERS_DIR.
* DumpRenderTree/PlatformMac.cmake:
* MiniBrowser/gtk/CMakeLists.txt:
* MiniBrowser/mac/CMakeLists.txt:
* WebKitTestRunner/PlatformMac.cmake:
* wpe/backends/CMakeLists.txt:
2021-03-26 Zalan Bujtas <zalan@apple.com>
[MiniBrowser] Remove redundant "Disable Simple Line Layout" menu item
https://bugs.webkit.org/show_bug.cgi?id=223812
Reviewed by Simon Fraser.
SLL was replaced by IFC integration a while ago.
* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController initWithMenu:]):
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleSimpleLineLayoutEnabled:]): Deleted.
(-[SettingsController simpleLineLayoutEnabled]): Deleted.
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):
2021-03-26 Kate Cheney <katherine_cheney@apple.com>
Implement PCM SQLite changes based on spec review
https://bugs.webkit.org/show_bug.cgi?id=223726
<rdar://problem/75818526>
Reviewed by Brent Fulgham.
Add API test coverage to check that renaming and adding columns works.
Data migration was tested manually.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm: Added.
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db: Added.
* TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db-shm: Added.
* TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutFraudPreventionDatabase.db-wal: Added.
* TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db: Added.
* TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db-shm: Added.
* TestWebKitAPI/Tests/WebKitCocoa/pcmWithoutReportingColumns.db-wal: Added.
2021-03-26 Jonathan Bedard <jbedard@apple.com>
Unreviewed, reverting r275081.
Broke Apple Internal builds
Reverted changeset:
"Avoid calling `xcodebuild -showsdks` where possible."
https://bugs.webkit.org/show_bug.cgi?id=223727
https://commits.webkit.org/r275081
2021-03-26 Jean-Yves Avenard <jya@apple.com>
Fix NowPlayingInfoArtwork operator== logic.
https://bugs.webkit.org/show_bug.cgi?id=223730
<rdar://problem/75822687>
Reviewed by Youenn Fablet.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/NowPlayingInfoTests.cpp: Added.
(TestWebKitAPI::testEmptyArtwork):
(TestWebKitAPI::TEST):
2021-03-25 Cameron McCormack <heycam@apple.com>
Avoid calling `xcodebuild -showsdks` where possible.
https://bugs.webkit.org/show_bug.cgi?id=223727
Reviewed by Sam Weinig.
run-minibrowser needs to know what port it's running on, since that
affects the build directory to look in to find the MiniBrowser binary.
On macOS, webkitdirs.pm's determinePortName ends up running
`xcodebuild -showsdks` to see if the current SDK has an internal
variant available, but this is slow. But we don't need to know the
exact SDK name here, just the SDK platform name, to determine the
port name.
So we shuffle some code around to avoid calling `xcodebuild -showsdks`
where we can. This reduces the time spent in run-minibrowser before
MiniBrowser is launched (crudely measured with `time run-minibrowser
--help`) from 2s to 0.6s on this machine.
* Scripts/webkitdirs.pm:
(readXcodeUserDefault):
(determineArchitecture):
(argumentsForConfiguration):
(availableXcodeSDKs):
(isValidXcodeSDKPlatformName):
(determineXcodeSDKPlatformName):
(determineXcodeSDK):
(xcodeSDKPlatformName):
(determinePortName):
2021-03-25 Alex Christensen <achristensen@webkit.org>
Allow WKContentRuleList to block only in frames or only in main frame
https://bugs.webkit.org/show_bug.cgi?id=219001
Reviewed by Ben Poulain.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(TEST):
2021-03-25 Wenson Hsieh <wenson_hsieh@apple.com>
It should be possible to drag images with overlay content
https://bugs.webkit.org/show_bug.cgi?id=223766
<rdar://problem/75856030>
Reviewed by Tim Horton.
Add an API test to verify that the top part of the image (with an overlay) doesn't trigger a `dragstart` when
dragged, but the bottom part of the image does.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/simple-image-overlay.html: Added.
Add a test page that installs an image overlay for testing purposes (assuming that the web view injects the
global `internals` object).
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
* TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator containsDraggedType:]):
Add a helper method to return whether or not the simulated drag resulted in the given type being written to the
"drag pasteboard" (in the case of iOS, this just means any of the source item providers).
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
Make a minor adjustment to ensure that the drag pasteboard is cleared out before starting a simulated drag.
(-[DragAndDropSimulator containsDraggedType:]):
2021-03-25 Andres Gonzalez <andresg_22@apple.com>
AX: Consider implementing @aria-details.
https://bugs.webkit.org/show_bug.cgi?id=165842
rdar://30725491
Reviewed by Chris Fleizach.
Added AccessibilityUIElement::detailsElements.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::detailsElements const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::detailsElements const):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::detailsElements const):
2021-03-25 John Wilander <wilander@apple.com>
PCM: Rename attributeOn to attributionDestination and change the IDL data type of attributionSourceId to unsigned long
https://bugs.webkit.org/show_bug.cgi?id=223661
<rdar://problem/75762075>
Reviewed by Brent Fulgham.
The PR review of the update of the PCM spec lead WebKit, Mozilla, and Google to decide on two changes:
1. Rename attributeOn to attributionDestination
2. Change the IDL data type of attributionSourceId from DOMString to unsigned long
The spec change can be seen in this commit:
https://github.com/privacycg/private-click-measurement/pull/75/commits/8623b5df5e899e6652bc5b00313585f7eeafa797
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPrivateClickMeasurementAttributionReportURLsForTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setPrivateClickMeasurementAttributionReportURLsForTesting):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2021-03-25 Alex Christensen <achristensen@webkit.org>
WKContentRuleList first-party should include other subdomains of the current registrable domain
https://bugs.webkit.org/show_bug.cgi?id=223728
Reviewed by John Wilander.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(TEST):
2021-03-25 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] JSC crashes if a function expects a parameter but doesn't receive any
https://bugs.webkit.org/show_bug.cgi?id=223646
Reviewed by Adrian Perez de Castro.
Add test cases.
* TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(valueToString):
(testJSCFunction):
(testJSCClass):
2021-03-25 Aakash Jain <aakash_jain@apple.com>
[ews] Add unit-test to ensure that config.json doesn't have tab characters
https://bugs.webkit.org/show_bug.cgi?id=223440
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/loadConfig_unittest.py:
(ConfigDotJSONTest.test_tab_character): Unit-test to ensure that there are no tab characters.
* CISupport/ews-build/config.json:
* CISupport/ews-build/loadConfig_unittest.py:
(ConfigDotJSONTest.test_tab_character):
2021-03-25 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r274826 and r274968.
https://bugs.webkit.org/show_bug.cgi?id=223746
Added broken layout test
Reverted changesets:
"AX: textRectsFromMarkers always fails"
https://bugs.webkit.org/show_bug.cgi?id=223556
https://trac.webkit.org/changeset/274826
"AX: Add functions rectsForTextMarkerRange for testing"
https://bugs.webkit.org/show_bug.cgi?id=223705
https://trac.webkit.org/changeset/274968
2021-03-24 Jonathan Bedard <jbedard@apple.com>
Autoinstalling keyring-7.3.1 is failing with Python 2
https://bugs.webkit.org/show_bug.cgi?id=223677
<rdar://problem/75800504>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version, add setuptools_scm.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): Always install setuptools_scm.
2021-03-24 Chris Fleizach <cfleizach@apple.com>
AX: Add functions rectsForTextMarkerRange for testing
https://bugs.webkit.org/show_bug.cgi?id=223705
<rdar://problem/75797361>
Reviewed by Zalan Bujtas.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::rectsForTextMarkerRange):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::rectsForTextMarkerRange):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::rectsForTextMarkerRange):
* WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp:
(WTR::AccessibilityUIElement::rectsForTextMarkerRange):
2021-03-24 Chris Dumez <cdumez@apple.com>
Address undefined behavior found by UBSan in StringToIntegerConversion.h
https://bugs.webkit.org/show_bug.cgi?id=223694
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
2021-03-24 Kate Cheney <katherine_cheney@apple.com>
Followup to https://trac.webkit.org/changeset/274928/webkit
Unreviewed build fix.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2021-03-24 Brent Fulgham <bfulgham@apple.com>
[Cocoa] Revise loadSimulatedRequest API with final review comments (223657)
https://bugs.webkit.org/show_bug.cgi?id=223657
<rdar://75757727>
Reviewed by Alex Christensen.
Update tests to use the final API, while still exercising the existing API.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
(TEST):
2021-03-23 Kate Cheney <katherine_cheney@apple.com>
Service worker loads are not marked as app-bound
https://bugs.webkit.org/show_bug.cgi?id=222635
<rdar://problem/74395950>
API test coverage for fetched and synthetic responses to make sure
they are marked as app-bound or not based on the main request.
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2021-03-23 Chris Dumez <cdumez@apple.com>
DerivedSources/WebKitTestRunner/JSAccessibilityUIElement.cpp:802:72: runtime error: -1 is outside the range of representable values of type 'unsigned int'
https://bugs.webkit.org/show_bug.cgi?id=223650
Reviewed by Darin Adler.
The bindings generator used by WebKitTestRunner was converting all numbers into double and
passing that to the implementation, no matter the IDL type (e.g. unsigned long). As a result,
there may be a type mismatch between the value the bindings are passing and the implementation
function getting called. This implicit conversion has undefined behavior in some cases and it
triggers UBSan errors. To address the issue, we now call clampTo<NativeNumberType>() on the
double before passing it to the implementation. This makes sure we pass the implementation
the type it expects and that the conversion is well-defined.
* WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(_generateImplementationFile):
(_nativeNumericType):
(_platformType):
(_platformTypeConstructor):
(_platformTypeVariableDeclaration):
2021-03-23 Jiewen Tan <jiewen_tan@apple.com>
Provide a way to specify platform vs security key when requesting an assertion in the SPI
https://bugs.webkit.org/show_bug.cgi?id=223547
<rdar://74034746>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
Adds the test case.
2021-03-23 Chris Dumez <cdumez@apple.com>
wtf/text/IntegerToStringConversion.h:54:104: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself
https://bugs.webkit.org/show_bug.cgi?id=223614
Reviewed by Darin Adler.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::TEST):
2021-03-23 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Print output of setup.py when install fails
https://bugs.webkit.org/show_bug.cgi?id=223589
<rdar://problem/75700606>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): Print stdout and stderr of setup.py when install fails.
2021-03-22 Cameron McCormack <heycam@apple.com>
Fix ordering of my email addresses in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=223622
The first must be the email used for scm access.
Reviewed by Ryosuke Niwa.
* Scripts/webkitpy/common/config/contributors.json:
2021-03-22 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Base GitHub mock links on provided remote
https://bugs.webkit.org/show_bug.cgi?id=223611
<rdar://problem/75713760>
Reviewed by Dewei Zhu.
* 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__): Standardize mock GitHub path.
(GitHub._parents_of_request): Base link path on GitHub remote.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGitHub):
2021-03-22 Devin Rousso <drousso@apple.com>
Remove unused JS and CSS files of media controls
https://bugs.webkit.org/show_bug.cgi?id=214955
<rdar://problem/66604040>
Reviewed by Eric Carlson.
Cocoa platforms are already using modern media controls so there's no reason to keep the old
media controls resources/logic around any longer. It just wastes space.
The non-iOS Apple controls must be kept though as they are still used on Windows.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
Replace `ModernMediaControlsEnabled` setting with `ENABLE_MODERN_MEDIA_CONTROLS` build flag.
2021-03-22 Cameron McCormack <heycam@apple.com>
Restore my committer status.
https://bugs.webkit.org/show_bug.cgi?id=223600
Per email sent to webkit-committers@.
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/contributors.json:
2021-03-22 Rob Buis <rbuis@igalia.com>
[css-contain] Parse CSS contain property
https://bugs.webkit.org/show_bug.cgi?id=223252
Reviewed by Darin Adler.
Add support for disabling aspect-ratio in win wk1.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
2021-03-22 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Allow user to force canonicalization for a specific set of commits
https://bugs.webkit.org/show_bug.cgi?id=223579
<rdar://problem/75693154>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize/__init__.py:
(Canonicalize.parser): Add --number argument.
(Canonicalize.main): Use --number to set the number of commits to be canonicalized.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py:
(TestCanonicalize.test_number):
2021-03-22 Tyler Wilcock <twilco.o@protonmail.com>
AppleWin can't start due to "Failed to determine path to AAS directory." because iTunes changed the registry key
https://bugs.webkit.org/show_bug.cgi?id=219015
Reviewed by Alex Christensen.
It appears that iTunes no longer sets the Apple Application Support
registry entry. Fallback to trying to find the iTunes installation
directory if the AAS directory is not present.
* win/DLLLauncher/DLLLauncherMain.cpp:
(iTunesDirectory): Added.
(modifyPath):
2021-03-19 Darin Adler <darin@apple.com>
[Cocoa] Make it possible to release a WKWebView on a non-main thread without a crash due to WKScriptMessage race
https://bugs.webkit.org/show_bug.cgi?id=222336
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
Use _close instead of WKWebView deallocation to trigger a call to stopURLSchemeTask,
since such delegate methods will intentionally no longer be delivered if triggered by deallocation.
2021-03-22 Youenn Fablet <youenn@apple.com>
Implement RTCDataChannel transfer out of process
https://bugs.webkit.org/show_bug.cgi?id=223443
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2021-03-22 Youenn Fablet <youenn@apple.com>
Remove some spurious logging lines appearing in WebRTC tests
https://bugs.webkit.org/show_bug.cgi?id=223502
Reviewed by Alex Christensen.
* Scripts/webkitpy/port/mac.py:
(MacPort.logging_patterns_to_strip):
2021-03-22 Jean-Yves Avenard <jya@apple.com>
Add Jean-Yves Avenard to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=223555
Reviewed by Eric Carlson.
* Scripts/webkitpy/common/config/contributors.json:
2021-03-19 BJ Burg <bburg@apple.com>
Update filter-build-webkit
https://bugs.webkit.org/show_bug.cgi?id=223528
Reviewed by Simon Fraser.
- Remove a bunch of informational messages that clog up output.
- Remove some linker/loader warnings that are non-actionable.
- Generalize a few existing filters to work with more targets.
- Remove super-noisy and meaningless device preparation warnings.
* Scripts/filter-build-webkit:
(shouldIgnoreLine):
2021-03-19 Kimmo Kinnunen <kkinnunen@apple.com>
update-webgl-conformance-tests script should use webgl/1.0.x and webgl/2.0.y directories
https://bugs.webkit.org/show_bug.cgi?id=223516
Reviewed by Kenneth Russell.
Import the tests to 1.0.x/2.0.y instead of 1.0.4/2.0.1 since we track the development
versions, not the upcoming snapshots.
* Scripts/webkitpy/update_webgl_conformance_tests_lib/main.py:
(_generate_webkit_webgl_tests):
(main):
2021-03-19 Youenn Fablet <youenn@apple.com>
Custom scheme handled origins should be considered secure
https://bugs.webkit.org/show_bug.cgi?id=223423
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
(-[URLSchemeHandlerMessageHandler userContentController:didReceiveScriptMessage:]):
2021-03-19 Aakash Jain <aakash_jain@apple.com>
Fix broken contributors.json after r274720
Unreviewed infrastructure fix.
* Scripts/webkitpy/common/config/contributors.json:
2021-03-19 Angelos Oikonomopoulos <angelos@igalia.com>
Add myself as to contributors.json as a committer.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-03-19 Caio Lima <ticaiolima@gmail.com>
Update Caio's status to reviewer
https://bugs.webkit.org/show_bug.cgi?id=223509
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-03-19 Youenn Fablet <youenn@apple.com>
Disable SFrame compatibility mode for audio senders and receivers
https://bugs.webkit.org/show_bug.cgi?id=223391
<rdar://problem/75538500>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp:
(TestWebKitAPI::createVideoTransformer):
(TestWebKitAPI::createAudioTransformer):
(TestWebKitAPI::TEST):
== Rolled over to ChangeLog-2021-03-18 ==