blob: a88b2a13e5c672d099b645595b18b4964abb48f9 [file] [log] [blame]
2021-03-18 Wenson Hsieh <wenson_hsieh@apple.com>
Add a test to exercise the crash in webkit.org/b/223417
https://bugs.webkit.org/show_bug.cgi?id=223485
Reviewed by Tim Horton.
Add an API test that performs a hit-test just outside of the bounds of the WKWebView that contains a full-page
clickable element. This finds the element as the click target, but the hit-tested node is null.
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
(TestWebKitAPI::TEST):
2021-03-18 Wenson Hsieh <wenson_hsieh@apple.com>
Avoid copying item data when iterating in-process display lists
https://bugs.webkit.org/show_bug.cgi?id=223471
Reviewed by Simon Fraser.
Adjust an existing API test that exercises inline display list item validation by assigning a reading client to
the display list.
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
Move the `ReadingClient` and `WritingClient` out of the scope of `OutOfLineItemDecodingFailure`, so that the
other API test (`InlineItemValidationFailure`) can also use it.
2021-03-18 Cameron McCormack <heycam@apple.com>
Add another email for myself in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=222700
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/contributors.json:
2021-03-18 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Bump API version when building with libsoup3
https://bugs.webkit.org/show_bug.cgi?id=223437
Reviewed by Adrian Perez de Castro.
Use WPE_API_DOC_VERSION instead of WPE_API_VERSION.
* wpe/manifest.txt.in:
2021-03-18 Youenn Fablet <youenn@apple.com>
Geolocation API does not work in WKWebView with custom URL scheme handler
https://bugs.webkit.org/show_bug.cgi?id=222861
<rdar://problem/75394695>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[GeolocationDelegate setValidationHandler:]):
(-[GeolocationDelegate _webView:requestGeolocationPermissionForFrame:decisionHandler:]):
(TEST):
2021-03-18 Kimmo Kinnunen <kkinnunen@apple.com>
WebGL conformance test update script does not use min_version and max_version in all cases
https://bugs.webkit.org/show_bug.cgi?id=223376
Reviewed by Kenneth Russell.
Make the update script respect min_version and max_version when the version is specified
per test.
* Scripts/webkitpy/update_webgl_conformance_tests_lib/main.py:
(_parse_webgl_tests):
2021-03-17 Alex Christensen <achristensen@webkit.org>
Make fast/images/missing-content-image-crash.html results consistent with internal build
https://bugs.webkit.org/show_bug.cgi?id=223399
<rdar://75443811>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
2021-03-17 Darin Adler <darin@apple.com>
"multile" typo in website and one other place
https://bugs.webkit.org/show_bug.cgi?id=223213
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: Fix spelling.
2021-03-17 Matt Lewis <jlewis3@apple.com>
Add AppleSilicon and Debug WK2 Support to EWS
https://bugs.webkit.org/show_bug.cgi?id=223393
Reviewed by Aakash Jain.
* CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
* CISupport/ews-build/config.json:
2021-03-17 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support git-svn in remote mocks
https://bugs.webkit.org/show_bug.cgi?id=223397
<rdar://problem/75541426>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/bitbucket.py:
(BitBucket.request): Add git-svn tag.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub._commit_response): Add git-svn tag.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/svn-repo.json: Add hashes to mock svn repo.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGitHub.test_commit_hash):
(TestGitHub.test_commit_revision):
(TestBitBucket.test_commit_hash):
(TestBitBucket.test_commit_revision):
2021-03-17 Aditya Keerthi <akeerthi@apple.com>
[iOS] Refactor WKFileUploadPanel to use UniformTypeIdentifiers
https://bugs.webkit.org/show_bug.cgi?id=223000
<rdar://problem/75237774>
Reviewed by Tim Horton.
Added UIScriptController hooks to retrieve the type identifiers for
a presented file upload panel.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::filePickerAcceptedTypeIdentifiers):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::filePickerAcceptedTypeIdentifiers):
2021-03-17 Amir Mark Jr <amir_mark@apple.com>
REGRESSION (r274460): [macOS] TestWebKitAPI.Fullscreen.WKViewDelegate is timing out
https://bugs.webkit.org/show_bug.cgi?id=223282
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
(TestWebKitAPI::TEST): Disabling the test until it is resolved
2021-03-17 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Remove code specific to old Buildbot - part 2
https://bugs.webkit.org/show_bug.cgi?id=222928
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(ConfigureBuild.start):
2021-03-17 Alex Christensen <achristensen@webkit.org>
Allow UniqueRef to be the value of a HashMap
https://bugs.webkit.org/show_bug.cgi?id=223240
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
2021-03-17 Chris Dumez <cdumez@apple.com>
Maybe-regression(STP121): window.open flakily returning null
https://bugs.webkit.org/show_bug.cgi?id=222590
<rdar://problem/75211786>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::checkFrameLoadStateAndCreateNewPage):
2021-03-17 Brent Fulgham <bfulgham@apple.com>
[Cocoa] Move loadSimulatedRequest API from Private to Public WKWebView
https://bugs.webkit.org/show_bug.cgi?id=223279
<rdar://problem/75494316>
Reviewed by Darin Adler.
Remove private header now that the declarations are in the standard header.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
2021-03-17 Youenn Fablet <youenn@apple.com>
Align device orientation delegate to getUserMedia/geolocation delegates
https://bugs.webkit.org/show_bug.cgi?id=223247
Reviewed by Eric Carlson.
Update code to print frame info origin and update according additional frame info parameter given to shouldAllowDeviceOrientationAndMotionAccess.
Clear permissions in case test controller changes the device motion permission value.
* TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
(-[DeviceOrientationPermissionUIDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
(-[DeviceOrientationPermissionValidationDelegate setValidationHandler:]):
(-[DeviceOrientationPermissionValidationDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[WebsitePoliciesDeviceOrientationUIDelegate _webView:requestDeviceOrientationAndMotionPermissionForOrigin:initiatedByFrame:decisionHandler:]):
* WebKitTestRunner/TestController.cpp:
(WTR::shouldAllowDeviceOrientationAndMotionAccess):
(WTR::TestController::handleDeviceOrientationAndMotionAccessRequest):
(WTR::TestController::setShouldAllowDeviceOrientationAndMotionAccess):
* WebKitTestRunner/TestController.h:
2021-03-17 Philippe Normand <pnormand@igalia.com>
[WPE] Include cog build artefacts in built product archive
https://bugs.webkit.org/show_bug.cgi?id=217477
Reviewed by Adrian Perez de Castro.
Include Cog files in the zip file if they're present, so the nightly runner would be able to
start Cog instead of the WPE MiniBrowser.
* CISupport/built-product-archive:
(createZipFromList):
(archiveBuiltProduct):
2021-03-16 John Wilander <wilander@apple.com>
PCM: Use adoptWK in TestInvocation::didReceiveSynchronousMessageFromInjectedBundle()'s handling of "SetPrivateClickMeasurementAttributionReportURLsForTesting"
https://bugs.webkit.org/show_bug.cgi?id=223286
<rdar://problem/75498336>
Reviewed by Darin Adler.
See Darin's initial comment here: https://bugs.webkit.org/show_bug.cgi?id=223238#c9
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2021-03-16 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Save identifiers in commit table
https://bugs.webkit.org/show_bug.cgi?id=223101
<rdar://problem/75338338>
Reviewed by Dewei Zhu.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller.py:
(CommitController.register): Accept uploaded new commit objects, continue to return old-style commits.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/upload_controller.py:
(UploadController.upload): Register commits using the fast path when uploading results.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/upload_controller_unittest.py:
(UploadControllerTest.test_process): Mock safari and WebKit when processing results.
(UploadControllerTest.test_process_commit): Ditto.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context.py:
(CommitContext.CommitModelMk2): Add new style commit model base.
(CommitContext.CommitByRef): Sort commits by hash, revision and identifier references.
(CommitContext.CommitByUuidAscendingMk2): New commit style UUID table.
(CommitContext.CommitByUuidDescendingMk2): Ditto.
(CommitContext.__init__): Create new tables.
(CommitContext.find_commits_by_ref): Search for commits in the new ref table.
(CommitContext.register): Post-process commits to populate identifier field.
(CommitContext.register_commit): Only register new-style commits.
(CommitContext.register_partial_commit): Register new-style commits, allow caller to opt-out of expensive
Identifier computation.
(CommitContext.url): Accept old and new style commits.
(CommitContext.register_commit_with_repo_and_id): Deleted.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context_unittest.py:
(CommitContextTest.add_all_commits_to_database): Update commit registration call.
(CommitContextTest.test_commit_from_stash_repo): Ditto.
(CommitContextTest.test_commit_from_svn_repo): Ditto.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/mock_model_factory.py:
(MockModelFactory.create): Update commit registration call.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/model.py:
(Model.__init__): commit_context may now post-process uploads.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/repository.py:
(Repository.commit): Add call to return new-style commits.
(StashRepository.commit): Ditto.
(WebKitRepository.commit): Ditto.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/repository_unittest.py:
(RepositoryTest.test_svn):
(RepositoryTest.test_ref_svn):
(RepositoryTest.test_stash):
(RepositoryTest.test_ref_stash):
(RepositoryTest.test_colliding_timestamps_stash):
(RepositoryTest.test_branch_stash):
(RepositoryTest.test_branch_svn): Deleted.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/upload_context_unittest.py:
(UploadContextTest.test_callback):
(UploadContextTest.test_async_callback):
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit): Handle single email passed to contributor.
2021-03-16 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Allow user to change commit representation
https://bugs.webkit.org/show_bug.cgi?id=223215
<rdar://problem/75446602>
Reviewed by Dewei Zhu.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/api_routes.py:
(APIRoutes.__init__): Add commit representations endpoint.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller.py:
(CommitController.representations): Add commit representations endpoint.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/repository.py:
(Repository.representations): Return prioritized commit representation.
(StashRepository.representations): Ditto.
(WebKitRepository.representations): Ditto.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/commit.js:
(Commit.prototype.label): Change the commit representation based on global settings.
(_CommitBank):
(_CommitBank.prototype.commitRepresentations): Check the commit representation cookie, then
the representation endpoint.
(_CommitBank.prototype.setCommitRepresentation): Set the commit representation cookie.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/drawer.js:
(CommitRepresentation): Drawer control allowing user to change commit representation for repositories.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/commits.html: Add new control.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/documentation.html: Ditto.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/search.html: Ditto.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
2021-03-16 Devin Rousso <drousso@apple.com>
[macOS] change for the language/subtitle tracks button to use an `NSMenu` instead of web content
https://bugs.webkit.org/show_bug.cgi?id=223239
<rdar://problem/75462340>
Reviewed by Eric Carlson.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _didShowContextMenu]):
(-[TestRunnerWKWebView _didDismissContextMenu]):
(-[TestRunnerWKWebView resetInteractionCallbacks]):
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::setDidShowContextMenuCallback): Added.
(WTR::UIScriptControllerCocoa::setDidDismissContextMenuCallback): Added.
(WTR::UIScriptControllerCocoa::isShowingContextMenu const): Added.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::setDidShowContextMenuCallback): Deleted.
(WTR::UIScriptControllerIOS::setDidDismissContextMenuCallback): Deleted.
(WTR::UIScriptControllerIOS::isShowingContextMenu const): Deleted.
Move these methods so they can be used on macOS too.
2021-03-16 Kimmo Kinnunen <kkinnunen@apple.com>
Make WebGL conformance test update script more usable and consistent
https://bugs.webkit.org/show_bug.cgi?id=223112
Reviewed by Kenneth Russell.
Moves the script LayoutTests/webgl/generate-webgl-tests over
unused and stale Tools/Scripts/update-webgl-conformance-tests
Fixes the script to:
- to support generation of the test driver .html files with webglVersion=2
- copy the webgl conformance test files once to webgl/resources/webgl_test_files.
Previously they were copied twice, 1.0.3/resources/.. and 2.0.0/resources
- to support copying all the tests at the same time. Previously each
individual suites (1.0.3, 2.0.0) would be copied
in different invocations, leading to errors and omissions to run when
something changes, such as the templates.
- supports generation of the directories from scratch, so that no stale files
such as expectations, driver .html files or test suite content is left.
- automatically filter files that do not need to be copied (deqp/compiler.jar, ...)
- try to adopt a style somewhat consistent with other WebKit python scripts
- copy to upcoming 1.0.4 and 2.0.1 instead of old 1.0.3/2.0.0.
* Scripts/update-webgl-conformance-tests:
* Scripts/webkitpy/to_be_moved/__init__.py: Removed.
* Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests.py: Removed.
* Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests_unittest.py: Removed.
* Scripts/webkitpy/update_webgl_conformance_tests_lib/main.py: Added.
(_make_ignore_fnmatch_rule_matcher):
(_make_ignore_fnmatch_rule_matcher.match_rules):
(_copy_tree):
(_WebGLTest):
(_parse_webgl_tests):
(_filter_webgl_test_paths_for_suite_version):
(_generate_webkit_webgl_tests):
(_find_expectations_for_removed_tests):
(main):
* Scripts/webkitpy/update_webgl_conformance_tests_lib/webgl-expectation-template.txt: Renamed from LayoutTests/webgl/resources/webgl-expectation-template.txt.
* Scripts/webkitpy/update_webgl_conformance_tests_lib/webgl-test-driver-template.html: Renamed from LayoutTests/webgl/resources/webgl-wrapper-template.html.
* Scripts/webkitpy/update_webgl_conformance_tests_lib/webkit-webgl-test-harness-template.js: Added.
(window.layoutTestController.window.console.log):
(window.layoutTestController.window.console.error):
(list):
(log):
(window.webglTestHarness.reportResults):
(window.webglTestHarness.notifyFinished):
2021-03-16 John Wilander <wilander@apple.com>
PCM: Test infrastructure for sending attribution reports to attribution website too
https://bugs.webkit.org/show_bug.cgi?id=223238
<rdar://problem/75462031>
Reviewed by Brent Fulgham.
setPrivateClickMeasurementAttributionReportURLForTesting() now is named
setPrivateClickMeasurementAttributionReportURLsForTesting() in the layers that
eventually reach WebKit::PrivateClickMeasurementManager. It takes two URLs
attributionReportSourceURL and attributionReportAttributeOnURL and sets them
in a new struct AttributionReportTestConfig.
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WTR::TestRunner::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setPrivateClickMeasurementAttributionReportURLsForTesting):
(WTR::TestController::setPrivateClickMeasurementAttributionReportURLForTesting): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2021-03-16 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Showing help instead of raising an exception with no command
https://bugs.webkit.org/show_bug.cgi?id=223235
<rdar://problem/75480951>
Reviewed by Ryosuke Niwa.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
(main):
2021-03-16 Aakash Jain <aakash_jain@apple.com>
EWS is not showing filtered errors view
https://bugs.webkit.org/show_bug.cgi?id=223251
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(BuildLogLineObserver.outLineReceived): Use for loop instead of map.
2021-03-16 Aakash Jain <aakash_jain@apple.com>
[ews] Remove old Python 2 related code - part 2
https://bugs.webkit.org/show_bug.cgi?id=222975
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps_unittest.py:
2021-03-16 Per Arne <pvollan@apple.com>
Add signpost for injected bundle creation
https://bugs.webkit.org/show_bug.cgi?id=223068
Reviewed by Alex Christensen.
Add injected bundle signposts to .plist file.
* Tracing/SystemTracePoints.plist:
2021-03-16 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Decode multiple commit representations
https://bugs.webkit.org/show_bug.cgi?id=223224
<rdar://problem/75455129>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit.from_json): Decode old results database style commit representations.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
2021-03-16 Dean Johnson <dean_johnson@apple.com>
[prepare-ChangeLog] Assigning a multiline comment to a variable breaks change detection
https://bugs.webkit.org/show_bug.cgi?id=223225
Reviewed by Jonathan Bedard.
* Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_python): Remove '^' prefix from regex so we match multiline
strings assigned to variables.
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests-expected.txt:
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/python_unittests.py: Add multiline string
variable definition, which previously would cause prepare-ChangeLog to parse the remainder of the file
as a multiline comment. Also add a new test to ensure it's not skipped by multiline logic.
(Class8.__init__):
(Class9):
2021-03-16 Carlos Alberto Lopez Perez <clopez@igalia.com>
[EWS] run-layout-tests-without-patch step should only retry the tests that failed on the previous steps.
https://bugs.webkit.org/show_bug.cgi?id=219500
Reviewed by Aakash Jain.
On the step to retry running the layout tests without patch only
run the subset of tests that failed on the previous steps.
But only do that if the previous steps didn't exceed the test
failure limit and the patch doesn't modify the TestExpectations files.
This helps to speed up the test times on the EWS when the patch
doesn't pass on the first try.
* CISupport/ews-build/steps.py:
(RunWebKitTests.start):
2021-03-16 Lauro Moura <lmoura@igalia.com>
[GTK] Add GTK4 tests expectations
https://bugs.webkit.org/show_bug.cgi?id=222907
Reviewed by Carlos Garcia Campos.
Check whether we are using a GTK4 build to automatically enable the
platform/gtk4 expectations. This is done checking the
presence of either libwebkit2gtk-4.0.so or libwebkit2gtk-5.0.so, so it
works on binary-only deployments like the testing bots.
* Scripts/webkitpy/port/gtk.py:
(GtkPort._search_paths):
(GtkPort._is_gtk4_build):
* Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_gtk4_expectations_binary_only):
(GtkPortTest.test_gtk3_expectations_binary_only):
(GtkPortTest.test_gtk_expectations_both_binaries):
2021-03-16 Youenn Fablet <youenn@apple.com>
Add a new delegate for geolocation permission
https://bugs.webkit.org/show_bug.cgi?id=223183
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[GeolocationDelegateNew _webView:requestGeolocationPermissionForOrigin:initiatedByFrame:decisionHandler:]):
(testDidResignInputElementStrongPasswordAppearanceAfterEvaluatingJavaScript): Deleted.
(tabEvent): Deleted.
(synthesizeTab): Deleted.
(synthesizeWheelEvents): Deleted.
2021-03-15 Alex Christensen <achristensen@webkit.org>
REGRESSION: (r255611) [ Mac ] 3 lldb tests failing related to HashMap
https://bugs.webkit.org/show_bug.cgi?id=207204
Reviewed by Simon Fraser.
In r255780 I removed WebKit LLDB support for HashTables because the LLDB python API doesn't have a way to
do the equivalent of reinterpret_cast. With clever use of a union, I can get a pointer to the table and
tell LLDB it is actually a pointer to an unsigned integer array. Then, using pointer->unsigned->pointer
transformations I can dereference a negative index. It's gross, but it works and makes the tests pass again.
* lldb/lldb_webkit.py:
(__lldb_init_module):
(__lldb_init_module.lldb_webkit):
(WTFHashTable_SummaryProvider):
(WTFHashMap_SummaryProvider):
(WTFHashSet_SummaryProvider):
(WTFHashMapProvider):
(WTFHashMapProvider.__init__):
(WTFHashMapProvider.tableSize):
(WTFHashMapProvider.keyCount):
(WTFHashSetProvider):
(WTFHashSetProvider.__init__):
(WTFHashSetProvider.tableSize):
(WTFHashSetProvider.keyCount):
(WTFHashTableProvider):
(WTFHashTableProvider.__init__):
(WTFHashTableProvider.metadataWithIndex):
(WTFHashTableProvider.tableSize):
(WTFHashTableProvider.keyCount):
(WTFHashTableProvider.num_children):
(WTFHashTableProvider.get_child_index):
(WTFHashTableProvider.get_child_at_index):
(WTFHashTableProvider.update):
(WTFHashTableProvider.has_children):
* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders):
(TestSummaryProviders.serial_test_WTFHashMap_tablesize_and_size):
(TestSummaryProviders.serial_test_WTFHashMap_of_vectors_tablesize_and_size):
(TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
2021-03-15 Jer Noble <jer.noble@apple.com>
[WK2] Can get stuck in fullscreen mode if node is removed prior to receiving willEnterFullscreen()
https://bugs.webkit.org/show_bug.cgi?id=223218
<rdar://75009548>
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenRemoveNodeBeforeEnter.mm: Added.
(TestWebKitAPI::TEST):
2021-03-15 Alex Christensen <achristensen@webkit.org>
REGRESSION(r271642) Another app was relying on DOMWindow reuse
https://bugs.webkit.org/show_bug.cgi?id=223217
<rdar://75186172>
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm:
(TestWebKitAPI::TEST):
2021-03-15 John Wilander <wilander@apple.com>
PCM: Split attributionReportURL() into attributionReportSourceURL() and attributionReportAttributeOnURL()
https://bugs.webkit.org/show_bug.cgi?id=223210
<rdar://problem/75442246>
Reviewed by Brent Fulgham.
This patch splits WebCore::PrivateClickMeasurement::attributionReportURL() into
WebCore::PrivateClickMeasurement::attributionReportSourceURL() and
WebCore::PrivateClickMeasurement::attributionReportAttributeOnURL() to
facilitate sending attribution reports to both the click source and destination.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
Updated to use the new functions and also not repeat tests of static
data.
2021-03-15 Aakash Jain <aakash_jain@apple.com>
Delete unused build-launcher-dmg script
https://bugs.webkit.org/show_bug.cgi?id=222923
Reviewed by Alexey Proskuryakov.
* CISupport/build-launcher-dmg: Removed.
2021-03-15 Kimmo Kinnunen <kkinnunen@apple.com>
WebGL IPC should use shared memory for synchronous messages
https://bugs.webkit.org/show_bug.cgi?id=220974
<rdar://problem/73876947>
Reviewed by Geoffrey Garen.
Mark PrepareForDisplay() as "not replyable through the stream"
since it replies with MachSendRight.
* Scripts/generate-gpup-webgl:
2021-03-15 Youenn Fablet <youenn@apple.com>
Update getUserMedia delegate to expose frame info
https://bugs.webkit.org/show_bug.cgi?id=223178
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(-[UserMediaCaptureUIDelegateForParameters _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(-[NavigationWhileGetUserMediaPromptDisplayedUIDelegate _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
(-[NavigationWhileGetUserMediaPromptDisplayedUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(-[SpeechRecognitionUIDelegate _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
(-[SpeechRecognitionUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaDisabled.mm:
(-[UserMediaUIDelegate _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
(-[UserMediaUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
(-[SimulateFailedSandboxUIDelegate _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
(-[SimulateFailedSandboxUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]): Deleted.
* TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.h:
* TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.mm:
(-[UserMediaCaptureUIDelegate _webView:requestMediaCapturePermissionForOrigin:initiatedByFrame:audio:video:decisionHandler:]):
(-[UserMediaCaptureUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]): Deleted.
2021-03-15 Lauro Moura <lmoura@igalia.com>
[GLIB] Filter cppfilt output when generating crash logs
https://bugs.webkit.org/show_bug.cgi?id=223171
Reviewed by Carlos Garcia Campos.
Like the output from other external commands, the output of cppfilt
must also be decoded.
This should fix the early exits due to unicode exceptions when
running the GTK4 bot layout tests.
* Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator.generate_crash_log): Decode cppfilt output.
2021-03-14 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][WK1] Add a new API IWebPreferences::startBatchingUpdates to defer WebPreferencesChangedNotification
https://bugs.webkit.org/show_bug.cgi?id=223109
Reviewed by Sam Weinig.
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
2021-03-13 Sam Sneddon <gsnedders@apple.com>
Move LayoutTestFinder.split_into_chunks to Manager._split_into_chunks
https://bugs.webkit.org/show_bug.cgi?id=223137
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.split_into_chunks):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._split_into_chunks):
(Manager._prepare_lists):
2021-03-13 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] run buildbot checkconfig in services ews
https://bugs.webkit.org/show_bug.cgi?id=222687
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(RunBuildbotCheckConfigForEWS): Renamed from RunEWSBuildbotCheckConfig.
(RunBuildbotCheckConfigForBuildWebKit): Build step to run buildbot checkconfig for build.webkit.org
* CISupport/ews-build/factories.py:
(ServicesFactory.__init__): Added build step to run buildbot checkconfig for build.webkit.org
* CISupport/ews-build/steps_unittest.py: Added and updated unit-tests.
* CISupport/ews-build/factories_unittest.py: Updated unit-tests.
2021-03-12 Michael Catanzaro <mcatanzaro@gnome.org>
REGRESSION(r274270): [WPE][GTK] Broke Epiphany test /embed/ephy-web-view/error-pages-not-stored-in-history
https://bugs.webkit.org/show_bug.cgi?id=223140
Reviewed by Alex Christensen.
Improve WebKitSecurityOrigin tests a bit.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp:
(testCustomProtocolOrigin): Drive-by improvement: check webkit_security_origin_to_string().
(testBogusURI): Added, tests for this bug.
(beforeAll):
2021-03-12 Myles C. Maxfield <mmaxfield@apple.com>
[macOS] MobileAsset fonts are broken in Reader mode in Safari
https://bugs.webkit.org/show_bug.cgi?id=223062
Reviewed by Simon Fraser.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/FontRegistrySandboxCheck.mm: Copied from Source/WebKit/WebProcess/playstation/WebProcessPlayStation.cpp.
(TEST):
2021-03-12 Youenn Fablet <youenn@apple.com>
Enable video capture in GPUProcess by default on iOS
https://bugs.webkit.org/show_bug.cgi?id=223061
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(-[GetUserMediaRepromptTestView haveStream:]):
Upgrade timeout period as GPU process capture might take longer.
2021-03-12 Jonathan Bedard <jbedard@apple.com>
REGRESSION: two webkitscmpy.test.svn_unittest.TestRemoteSvn tests are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=223006
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.request): Hard-code timezone delta for Subversion server.
2021-03-12 Alicia Boya García <aboya@igalia.com>
Unreviewed: Update Alicia's status to reviewer
https://bugs.webkit.org/show_bug.cgi?id=223114
* Scripts/webkitpy/common/config/contributors.json:
2021-03-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bump API version when building with libsoup3
https://bugs.webkit.org/show_bug.cgi?id=223067
Reviewed by Adrian Perez de Castro.
Use WEBKITGTK_API_DOC_VERSION instead of WEBKITGTK_API_VERSION.
* gtk/manifest.txt.in:
2021-03-11 Sihui Liu <sihui_liu@appe.com>
Add some logging to help debug flaky quota tests
https://bugs.webkit.org/show_bug.cgi?id=222995
Reviewed by Youenn Fablet.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setQuotaLoggingEnabled):
(WTR::TestRunner::setIsSpeechRecognitionPermissionGranted):
(WTR::TestRunner::setIsMediaKeySystemPermissionGranted):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setQuotaLoggingEnabled):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2021-03-11 Amir Mark Jr <amir_mark@apple.com>
Adding myself as a committer in the contributors file
N/A
N/A
* Scripts/webkitpy/common/config/contributors.json: Added myself as a committer
2021-03-11 Chris Dumez <cdumez@apple.com>
Introduce WorkQueue::main() to get the main thread's work queue
https://bugs.webkit.org/show_bug.cgi?id=223087
Reviewed by Geoffrey Garen.
Introduce WorkQueue::main() to get the main thread's work queue. This allows us to port some more code from
dispatch_queue to WorkQueue. It also simplifies some code that has to deal that sometimes needs to run on
the main thread and other times on a background queue. Having a single WorkQueue type to represent both the
main thread and a background queue makes writing such code more convenient.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::doAsyncTask):
* DumpRenderTree/mac/DumpRenderTree.mm:
(-[DumpRenderTree _webThreadInvoked]):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::doAsyncTask):
(WTR::UIScriptControllerMac::activateDataListSuggestion):
(WTR::UIScriptControllerMac::removeViewFromWindow):
(WTR::UIScriptControllerMac::addViewToWindow):
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::activateDataListSuggestion):
(WTR::UIScriptControllerMac::chooseMenuAction):
(WTR::UIScriptControllerMac::activateAtPoint):
2021-03-11 Alex Christensen <achristensen@webkit.org>
Revert r260302
https://bugs.webkit.org/show_bug.cgi?id=223048
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TestWebKitAPI::clientCertServer): Deleted.
(TestWebKitAPI::BlockPtr<void): Deleted.
(TestWebKitAPI::countClientCertChallenges): Deleted.
2021-03-11 Mark Lam <mark.lam@apple.com>
Use tagged pointers in more places in the MetaAllocator code.
https://bugs.webkit.org/show_bug.cgi?id=223055
rdar://69971224
Reviewed by Saam Barati.
* TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
2021-03-11 Chris Dumez <cdumez@apple.com>
Introduce WorkQueue::dispatchSync()
https://bugs.webkit.org/show_bug.cgi?id=223049
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::run):
2021-03-11 Alex Christensen <achristensen@webkit.org>
REGRESSION(r272293) WebArchives originally loaded over HTTP fail to load subresources that would be upgraded to HTTPS
https://bugs.webkit.org/show_bug.cgi?id=223044
<rdar://75228599>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/mac/LoadWebArchive.mm:
(TestWebKitAPI::TEST):
2021-03-11 Sihui Liu <sihui_liu@apple.com>
Text manipulation: ignore leading and trailing spaces when comparing content for all tokens
https://bugs.webkit.org/show_bug.cgi?id=223057
<rdar://73706436>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2021-03-11 Imanol Fernandez <ifernandez@igalia.com>
Fix contributors file canonical format issue.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json: Fix canonical format issue.
2021-03-11 Imanol Fernandez <ifernandez@igalia.com>
Add myself as committer in the contributors file.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json: Added myself as committer.
2021-03-11 Michael Catanzaro <mcatanzaro@gnome.org>
REGRESSION(r272469): [WPE][GTK] Epiphany UI process crashes when downloading PDFs, WebKitSecurityOrigin should use SecurityOriginData
https://bugs.webkit.org/show_bug.cgi?id=222943
Reviewed by Alex Christensen.
Add a test to ensure security origins can be successfully created for custom protocols.
Also, update the tests to accomodate the deprecation of webkit_security_origin_is_opaque().
Notably, origins for data:// URIs are no longer special.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp:
(testSecurityOriginBasicConstructor):
(testSecurityOriginURIConstructor):
(testSecurityOriginDefaultPort):
(testSecurityOriginFileURI):
(testSecurityOriginDataURI):
(testCustomProtocolOrigin):
(beforeAll):
(testOpaqueSecurityOrigin): Deleted.
2021-03-10 Chris Dumez <cdumez@apple.com>
Use RetainPtr<> / OSObjectPtr<> more in WebKit
https://bugs.webkit.org/show_bug.cgi?id=223030
Reviewed by Darin Adler.
* DumpRenderTree/cg/PixelDumpSupportCG.cpp:
(createBitmapContext):
* DumpRenderTree/cg/PixelDumpSupportCG.h:
(BitmapContext::createByAdoptingBitmapAndContext):
(BitmapContext::BitmapContext):
* DumpRenderTree/mac/DumpRenderTree.mm:
(WebThreadLockAfterDelegateCallbacksHaveCompleted):
* DumpRenderTree/win/PixelDumpSupportWin.cpp:
(createBitmapContextFromWebView):
* ImageDiff/ImageDiff.xcodeproj/project.pbxproj:
* ImageDiff/cg/PlatformImageCG.cpp:
(ImageDiff::PlatformImage::pixels const):
* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::createCGContextFromCGImage):
(WTR::createCGContextFromImage):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
2021-03-10 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Make identifier last string in 'find'
https://bugs.webkit.org/show_bug.cgi?id=223031
<rdar://problem/75272100>
Reviewed by Ryosuke Niwa.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py:
(Info.main):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
2021-03-10 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Make client aware of hashes and revisions
https://bugs.webkit.org/show_bug.cgi?id=223001
<rdar://problem/75237812>
Reviewed by Dewei Zhu.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/commit.js:
(Commit): Support both "id" and "identifier" in constructor.
(Commit.prototype.repr): Centralize string representation of commit.
(_CommitBank.prototype._loadSiblings):
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/investigate.js:
(commitsForUuid): Use repr().
* Scripts/libraries/resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(xAxisFromScale): Use repr().
(TimelineFromEndpoint.prototype.render.onDotEnterFactory): Ditto.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/commits.html: Convert JSON to Commit object.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/templates/investigate.html: Use repr().
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
2021-03-10 Chris Dumez <cdumez@apple.com>
Improve AppleLanguagesTest.UpdateAppleLanguages API test
https://bugs.webkit.org/show_bug.cgi?id=223037
Reviewed by Per Arne Vollan.
Made the following improvements to the test:
1. Use 'en-GB' initially instead of 'en-US'. Our bots use 'en-US' by default so this makes
sure we are indeed able to change the system language.
2. Make it so that the test no longer times out if the languageevent fires but navigator.language
returns an unexpected language. This was done by using [TestWKWebView performAfterReceivingAnyMessage:]
instead of [TestWKWebView performAfterMessage:action:].
3. Add an internal timeout handling in the test instead of relying on the test suite's timeout.
Without this, we would fail to reset the system's language at the end of the test in case
of a timeout.
* TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
(TEST_F):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestMessageHandler setWildcardMessageHandler:]):
(-[TestMessageHandler userContentController:didReceiveScriptMessage:]):
(-[TestWKWebView performAfterReceivingAnyMessage:]):
2021-03-10 Adrian Perez de Castro <aperez@igalia.com>
[WPE][GTK] Running Tools/gtk/install-dependencies installs too many packages on Debian/Ubuntu
https://bugs.webkit.org/show_bug.cgi?id=223036
Reviewed by Don Olmstead.
Avoid installing unneeded packages by passing --no-install-recommends to apt-get
invocations. While at it, also make sure to always pass -y to make the installation
non-interactive.
* gtk/install-dependencies:
* wpe/install-dependencies:
2021-03-10 Brent Fulgham <bfulgham@apple.com>
[Cocoa] Add additional bundle ID property to WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=222919
<rdar://problem/75013854>
Reviewed by Alex Christensen.
Update existing SettingNonPersistentDataStorePathsThrowsException test with new property.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
2021-03-10 Sam Sneddon <gsnedders@apple.com>
Adding Python type annotations to test_expectations.py
https://bugs.webkit.org/show_bug.cgi?id=222770
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(ParseError.__init__):
(ParseError.__str__):
(ParseError.__repr__):
(TestExpectationWarning.__init__):
(TestExpectationParser):
(TestExpectationParser.__init__):
(TestExpectationParser.parse):
(TestExpectationParser.expectation_for_skipped_test):
(TestExpectationParser._parse_line):
(TestExpectationParser._parse_modifiers):
(TestExpectationParser._parse_expectations):
(TestExpectationParser._check_test_exists):
(TestExpectationParser._collect_matching_tests):
(TestExpectationParser._tokenize_line):
(TestExpectationLine):
(TestExpectationLine.__init__):
(TestExpectationLine.__str__):
(TestExpectationLine.is_invalid):
(TestExpectationLine.is_flaky):
(TestExpectationLine.expected_behavior):
(TestExpectationLine.create_passing_expectation):
(TestExpectationLine.to_string):
(TestExpectationLine._serialize_parsed_expectations):
(TestExpectationLine._serialize_parsed_modifiers):
(TestExpectationLine._format_line):
(TestExpectationsModel):
(TestExpectationsModel.__init__):
(TestExpectationsModel._dict_of_sets):
(TestExpectationsModel.get_test_set):
(TestExpectationsModel.get_test_set_for_keyword):
(TestExpectationsModel.get_tests_with_result_type):
(TestExpectationsModel.get_tests_with_timeline):
(TestExpectationsModel.get_modifiers):
(TestExpectationsModel.has_modifier):
(TestExpectationsModel.has_keyword):
(TestExpectationsModel.has_test):
(TestExpectationsModel.get_expectation_line):
(TestExpectationsModel.get_expectations):
(TestExpectationsModel.get_expectations_or_pass):
(TestExpectationsModel.expectations_to_string):
(TestExpectationsModel.get_expectations_string):
(TestExpectationsModel.expectation_to_string):
(TestExpectationsModel.add_expectation_line):
(TestExpectationsModel._add_test):
(TestExpectationsModel._clear_expectations_for_test):
(TestExpectationsModel._remove_from_sets):
(TestExpectationsModel._already_seen_better_match):
(TestExpectations):
(TestExpectations.expectation_from_string):
(TestExpectations.result_was_expected):
(TestExpectations.remove_pixel_failures):
(TestExpectations.remove_leak_failures):
(TestExpectations.has_pixel_failures):
(TestExpectations.suffixes_for_expectations):
(TestExpectations.__init__):
(TestExpectations.readable_filename_and_line_number):
(TestExpectations.parse_generic_expectations):
(TestExpectations.parse_default_port_expectations):
(TestExpectations.parse_override_expectations):
(TestExpectations.parse_all_expectations):
(TestExpectations.model):
(TestExpectations.get_rebaselining_failures):
(TestExpectations.filtered_expectations_for_test):
(TestExpectations.matches_an_expected_result):
(TestExpectations.is_rebaselining):
(TestExpectations._shorten_filename):
(TestExpectations._report_warnings):
(TestExpectations._process_tests_without_expectations):
(TestExpectations.has_warnings):
(TestExpectations.remove_configuration_from_test):
(TestExpectations.remove_rebaselined_tests):
(TestExpectations.remove_rebaselined_tests.without_rebaseline_modifier):
(TestExpectations._add_expectations):
(TestExpectations.add_skipped_tests):
(TestExpectations.list_to_string):
(TestExpectations.serialize):
(TestExpectations.nones_out):
2021-03-10 Sam Sneddon <gsnedders@apple.com>
Mark myself as a committer.
Unreviewed.
Also claim I know about webkitpy.
* Scripts/webkitpy/common/config/contributors.json:
2021-03-10 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Reenable -fvisibility=hidden
https://bugs.webkit.org/show_bug.cgi?id=181916
Reviewed by Don Olmstead.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/glib/TestExpectations.json:
2021-03-10 Jonathan Bedard <jbedard@apple.com>
git-webkit should have an "info" command
https://bugs.webkit.org/show_bug.cgi?id=222846
<rdar://problem/75171053>
Reviewed by Ryosuke Niwa.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
(main): Add Info command.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py:
(Info):
(Info.parser): Moved from Find.parser, exclude argument.
(Info.main): Moved from Find.main, add a default reference.
(Find):
(Find.parser): Invoke Info.parser.
(Find.main): Invoke Info.main with user's specified reference.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
2021-03-10 Michael Catanzaro <mcatanzaro@gnome.org>
[WPE][GTK] Introduce NeedsUnbrandedUserAgent quirk and use it for accounts.google.com, docs.google.com, and drive.google.com
https://bugs.webkit.org/show_bug.cgi?id=222978
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::assertUserAgentForURLHasEmptyQuirk):
(TestWebKitAPI::TEST):
(TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk): Deleted.
2021-03-10 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update RunJavaScriptCoreTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=223011
Reviewed by Dewei Zhu.
* CISupport/build-webkit-org/steps.py:
(RunJavaScriptCoreTests.start): Used logobserver.
(RunJavaScriptCoreTests.countFailures):
* CISupport/build-webkit-org/steps_unittest.py:
(TestRunJavaScriptCoreTests.test_success): Added unit-test.
(TestRunJavaScriptCoreTests.test_failure): Ditto.
2021-03-10 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r274166.
https://bugs.webkit.org/show_bug.cgi?id=223024
Broke GTK Debug builds
Reverted changeset:
"[GTK] Reenable -fvisibility=hidden"
https://bugs.webkit.org/show_bug.cgi?id=181916
https://trac.webkit.org/changeset/274166
2021-03-09 Don Olmstead <don.olmstead@sony.com>
GLib JSC API headers should only include other GLib JSC API headers
https://bugs.webkit.org/show_bug.cgi?id=222803
Reviewed by Michael Catanzaro.
Update the includes and include directories.
* MiniBrowser/wpe/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
* TestWebKitAPI/glib/PlatformGTK.cmake:
* TestWebKitAPI/glib/PlatformWPE.cmake:
2021-03-09 Alex Christensen <achristensen@webkit.org>
HTTPS upgrade should allow same-site redirects from HTTPS to HTTP
https://bugs.webkit.org/show_bug.cgi?id=222994
<rdar://75159643>
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(TEST):
2021-03-09 Chris Dumez <cdumez@apple.com>
[ BigSur wk2 arm64 ] quite a few fast/forms (Layout-Tests) are text failing on Apple Silicon
https://bugs.webkit.org/show_bug.cgi?id=222988
<rdar://problem/75230416>
Unreviewed, disable AppleLanguagesTest.UpdateAppleLanguages API test on Apple Silicon since
it is timing out there and not properly resetting the system language. This is causing
trouble on the bots.
* TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
2021-03-09 Myles C. Maxfield <mmaxfield@apple.com>
MotionMark scores are super sensitive to a single long frame
https://bugs.webkit.org/show_bug.cgi?id=220847
<rdar://problem/74152743>
Unreviewed.
Update the plan.
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
2021-03-09 Chris Dumez <cdumez@apple.com>
Stop using callOnMainThread() / isMainThread() in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=222986
Reviewed by Alex Christensen.
Add corresponding style checker rules.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_no_callonmainthread):
(check_no_ismainthread):
(check_style):
(CppChecker):
2021-03-09 Aakash Jain <aakash_jain@apple.com>
buildbot checkconfig is failing in ews after buildbot upgrade
https://bugs.webkit.org/show_bug.cgi?id=222974
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(RunEWSBuildbotCheckConfig.start): Set LC_ALL environment variable on bots.
* CISupport/ews-build/steps_unittest.py: Updated unit-tests accordingly.
2021-03-09 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Reenable -fvisibility=hidden
https://bugs.webkit.org/show_bug.cgi?id=181916
Reviewed by Don Olmstead.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/glib/TestExpectations.json:
2021-03-09 Mark Lam <mark.lam@apple.com>
Use --verifyGC=true on some JSC stress test configurations.
https://bugs.webkit.org/show_bug.cgi?id=222289
Reviewed by Filip Pizlo.
* Scripts/run-jsc-stress-tests:
2021-03-09 Philippe Normand <pnormand@igalia.com>
[GStreamer][WebRTC] VideoEncoder still doesn't comply with WebKit style
https://bugs.webkit.org/show_bug.cgi?id=222901
Reviewed by Xabier Rodriguez-Calvar.
* Scripts/webkitpy/style/checker.py: Move the GStreamer VideoEncoder to the list of custom
GStreamer elements complying with WebKit's coding style.
2021-03-09 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Add a way to trigger webpage translation via the context menu
https://bugs.webkit.org/show_bug.cgi?id=222953
<rdar://problem/73901967>
Reviewed by Devin Rousso.
Adjust an API test. This new enum value is now the new last valid item value.
* TestWebKitAPI/Tests/WebCore/ContextMenuAction.cpp:
(TestWebKitAPI::TEST):
2021-03-08 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Various small fixes for TestWTF/TestWebKit tests on PlayStation
https://bugs.webkit.org/show_bug.cgi?id=222931
Reviewed by Don Olmstead.
* TestWebKitAPI/PlatformPlayStation.cmake: Link to API for process termination
* TestWebKitAPI/Tests/WTF/DataMutex.cpp: Turn off test using ASSERT_DEATH
* TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp: Use PlayStation api to kill webprocess for this test
* TestWebKitAPI/playstation/PlatformWebViewPlayStation.cpp: Set size in resizeTo
2021-03-08 Stephan Szabo <stephan.szabo@sony.com>
TestWebKitAPI WebKit.HitTestResultNodeHandle does not complete with ENABLE_CONTEXT_MENUS=OFF
https://bugs.webkit.org/show_bug.cgi?id=222938
Reviewed by Ross Kirsling.
Make the test only build with context menus are supported.
* TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
* TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle_Bundle.cpp:
2021-03-08 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Isolate dateutil imports
https://bugs.webkit.org/show_bug.cgi?id=222946
<rdar://problem/75191226>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.request): Isolate dateutil imports.
2021-03-08 Andres Gonzalez <andresg_22@apple.com>
Enable accessibility/aria-invalid.html test on iOS.
https://bugs.webkit.org/show_bug.cgi?id=222942
<rdar://problem/75188832>
Reviewed by Chris Fleizach.
Modified AccessibilityUIElement::stringAttributeValue to handle invalid
status, so that test JS can query for it.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::stringAttributeValue):
2021-03-08 Mark Lam <mark.lam@apple.com>
JSC stress tests' $testSpecificRequiredOptions should be appended last.
https://bugs.webkit.org/show_bug.cgi?id=222936
Reviewed by Keith Miller.
This allows each test to get the last say on what options it needs.
* Scripts/run-jsc-stress-tests:
2021-03-08 Sam Weinig <weinig@apple.com>
Add preference reseting to WebKitLegacy Windows to simplify testing reset
https://bugs.webkit.org/show_bug.cgi?id=222865
Reviewed by Brent Fulgham.
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
Call the new resetForTesting() method to ensure all values are reset back
to defaults for each test without have to explicitly list them.
2021-03-08 Aakash Jain <aakash_jain@apple.com>
[ews] Remove old Python 2 related code
https://bugs.webkit.org/show_bug.cgi?id=222933
Reviewed by Dewei Zhu.
* CISupport/ews-build/steps.py:
* CISupport/build-webkit-org/steps.py:
2021-03-08 Ryan Haddad <ryanhaddad@apple.com>
Move WebGL test bot to Big Sur
https://bugs.webkit.org/show_bug.cgi?id=222501
Unreviewed infrastructure fix.
* CISupport/build-webkit-org/config.json: Add missing architecture.
2021-03-08 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Delete old results server code (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=222393
<rdar://problem/74722220>
Unreviewed follow-up fix.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Re-add allowed-host.
2021-03-08 John Wilander <wilander@apple.com>
PCM: Align fraud prevention token naming with issue 73 in the Privacy CG repo
https://bugs.webkit.org/show_bug.cgi?id=222838
<rdar://75115427>
Reviewed by Brent Fulgham.
This patch doesn't change functionality and only aligns naming to this W3C Privacy CG issue:
https://github.com/privacycg/private-click-measurement/issues/73
Naming for PCM fraud prevention is updated like this:
/.well-known/private-click-measurement/sign-secret-token/ changed to
/.well-known/private-click-measurement/sign-unlinkable-token/
/.well-known/private-click-measurement/get-unlinkable-token-public-key/ changed to
/.well-known/private-click-measurement/get-token-public-key/
source_secret_token in requests for token signature changed to source_unlinkable_token
source_unlinkable_token in attribution reports changed to source_secret_token
Variable, member, and function names are being renamed similarly.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cocoa/PrivateClickMeasurementCocoa.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPrivateClickMeasurementFraudPreventionValuesForTesting):
(WTR::TestRunner::setFraudPreventionValuesForTesting): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setPCMFraudPreventionValuesForTesting):
(WTR::TestController::setFraudPreventionValuesForTesting): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2021-03-08 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Adopt webkitscmpy
https://bugs.webkit.org/show_bug.cgi?id=222754
<rdar://problem/75049209>
Reviewed by Dewei Zhu.
Adopting webkitscmpy's remote repositories requires using the unit testing paradigms from
those objects, which requires considerable adjustment of testing code.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version, include webkitscmpy.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/archive_controller_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/ci_controller_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller.py:
(CommitController.register): Use webkitscmpy's exceptions.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit_controller_unittest.py:
(CommitControllerTest.test_register_via_post): Deleted.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/failure_controller_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/suite_controller_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/test_controller_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/upload_controller_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/archive_context_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/ci_context_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context.py:
(CommitContext.branch_keys_for_commits):
(CommitContext.find_commits_by_id): default_branch is now an instance variable.
(CommitContext.find_commits_by_uuid): Ditto.
(CommitContext.find_commits_by_timestamp): Ditto.
(CommitContext.find_commits_in_range): Ditto.
(CommitContext.sibling_commits): Ditto.
(CommitContext.register_commit_with_repo_and_id): webkitscmpy repositories compute branch.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/commit_context_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/failure_context_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/mock_model_factory.py:
(MockModelFactory):
(MockModelFactory.safari): Use shared webkitscmpy mocks.
(MockModelFactory.webkit): Ditto.
(MockModelFactory.create): Timestamps in webkitscmpy are just integers.
(MockModelFactory.iterate_all_commits): webkitscmpy and resultsdbpy have slightly different
commit representations, so the mechanics of registering commits are different.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/mock_repository.py: Removed.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/model_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/repository.py:
(Repository):
(Repository.__init__): default_branch is now an instance variable.
(Repository.commit_for_id): webkitscmpy does not require the branch, given a hash or revision.
(StashRepository): Retrieve commit from webkitscmpy's remote BitBucket object.
(WebKitRepository): Hard-code WebKit's Subversion URL. This is temporary, since WebKit will shortly
become a GitHub repository.
(SCMException): Deleted.
(HTTPRepository): Deleted.
(SVNRepository): Deleted.
(WebKitRepository.commit_for_id.diff_changelogs): Deleted.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/repository_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/suite_context_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/test_context_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/upload_context_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/view/archive_view_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/view/commit_view_unittest.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/view/view_routes_unittest.py:
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
2021-03-08 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add repository_id
https://bugs.webkit.org/show_bug.cgi?id=222827
<rdar://problem/75111000>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit.Encoder.default): Add repository_id.
(Commit.__init__): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.__init__): Allow caller to specify repository id.
(Git.commit): Pass repository id to commit.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.__init__): Allow caller to specify repository id.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.__init__): Allow caller to specify repository id.
(Svn.commit): Pass repository id to commit.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.__init__): Allow caller to specify repository id, infer from url.
(BitBucket.commit): Pass repository id to commit.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.__init__): Allow caller to specify repository id, infer from url.
(GitHub.commit): Pass repository id to commit.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py:
(Scm.__init__): Allow caller to specify repository id.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn.__init__): Allow caller to specify repository id, infer from url.
(Svn.commit): Pass repository id to commit.
* Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase.__init__): Allow caller to specify repository id.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGitHub.test_id):
(TestBitBucket.test_id):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestRemoteSvn.test_id):
2021-03-08 Michael Catanzaro <mcatanzaro@gnome.org>
webkitbot should stop saying "<revision> broke the build" when we revert commits
https://bugs.webkit.org/show_bug.cgi?id=222906
Reviewed by Jonathan Bedard.
Instead of saying the patch "broke the build," let's say it "introduced a regression." This
is more generic, since we revert patches for lots of reasons that are not build failures.
Build failures count as regressions.
* Scripts/webkitpy/tool/commands/download.py:
(CreateRevert._prepare_state):
* Scripts/webkitpy/tool/commands/download_unittest.py:
2021-03-08 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r273084.
https://bugs.webkit.org/show_bug.cgi?id=222905
User agent quirks still needed after all
Reverted changeset:
"[GTK] Remove all Google user agent quirks except for Google
Docs"
https://bugs.webkit.org/show_bug.cgi?id=222039
https://trac.webkit.org/changeset/273084
2021-03-07 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] maild hits a simulated crash when ENABLE(APP_HIGHLIGHTS) is defined
https://bugs.webkit.org/show_bug.cgi?id=222893
<rdar://problem/74230060>
Reviewed by Tim Horton.
Add an API test to verify that we don't attempt to initialize the platform callout bar.
* TestWebKitAPI/Tests/WebKitCocoa/WKAppHighlights.mm:
2021-03-07 Sam Weinig <weinig@apple.com>
Transition Cocoa DumpRenderTree to allow any preference keys, not just hard coded supported ones
https://bugs.webkit.org/show_bug.cgi?id=222868
Reviewed by Simon Fraser.
This allows any preference key in a WebPreference*.yaml to be used for Cocoa WebKitLegacy
tests in the comment header command, just like WebKitTestRunner.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
Update defaults to only the default values that don't match
defaults in WebPreference*.yaml files and experimental features
that are not supported in but still declare support in the file.
* DumpRenderTree/TestRunner.h:
Remove unimplemented function declaration.
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
(setDefaultsToConsistentValuesForTesting):
(prepareConsistentTestingEnvironment):
(resetWebPreferencesToConsistentValues): Deleted.
(webPreferenceFeatureValue): Deleted.
Replace most explicit reseting with the combination of _resetForTesting, automatic
enabling experimental features, and use of _set<type>PreferenceForTestingWithValue
from TestOptions.
2021-03-06 David Kilzer <ddkilzer@apple.com>
webkit-patch won't parse rdar://nnnnnnnn URLs in ChangeLogs
<https://webkit.org/b/222863>
Reviewed by Simon Fraser.
* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLogEntry):
- Update regex.
* Scripts/webkitpy/common/checkout/changelog_unittest.py:
(test_fuzzy_radar_match__none):
- Move test cases that used to fail into another test.
(test_fuzzy_radar_match_format_without_context): Add.
- Rename from test_fuzzy_radar_match_format_1().
(test_fuzzy_radar_match_format_1):
- Rename to test_fuzzy_radar_match_format_without_context().
(test_fuzzy_radar_match_format_2):
- Combine with test_fuzzy_radar_match_format_without_context().
(test_fuzzy_radar_match_format_with_context): Add.
- Rename from test_fuzzy_radar_match_format_3().
(test_fuzzy_radar_match_format_3):
- Rename to test_fuzzy_radar_match_format_with_context().
2021-03-06 Sam Weinig <weinig@apple.com>
Simplify DumpRenderTree WebPreferences reset
https://bugs.webkit.org/show_bug.cgi?id=218024
<rdar://problem/70764568>
Reviewed by Simon Fraser.
Use new _batchUpdatePreferencesInBlock and _resetForTesting to simplify and
improve the performance of resetting preferences.
_batchUpdatePreferencesInBlock makes it so we only trigger the recalculation
of WebCore::Settings once per test, rather than linearly with the number of
settings that we reset.
_resetForTesting will allow us to remove explicit resetting of preferences
that use the existing default value (though this change does not utilize
that yet, to limit the number of changes in this commit).
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
(setWebPreferencesForTestOptions):
(resetWebViewToConsistentState):
2021-03-05 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Clean up GTK-specific text checker stuff
https://bugs.webkit.org/show_bug.cgi?id=222818
Reviewed by Don Olmstead.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
* WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
(WTR::UIScriptControllerGtk::setContinuousSpellCheckingEnabled):
2021-03-05 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Remove ADD_WHOLE_ARCHIVE_TO_LIBRARIES
https://bugs.webkit.org/show_bug.cgi?id=222826
Reviewed by Don Olmstead.
* TestWebKitAPI/PlatformGTK.cmake:
2021-03-05 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Standardize timezone of mock svn server (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=222762
<rdar://problem/75058478>
Unreviewed follow-up fix.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.request): Only import dateutils when using it.
2021-03-05 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Delete old results server code
https://bugs.webkit.org/show_bug.cgi?id=222393
<rdar://problem/74722220>
Rubber-stamped by Alexey Proskuryakov.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._end_test_run): Remove upload code.
(Manager._save_json_files): Renamed from _upload_json_files.
(Manager._upload_json_files): Renamed to _save_json_files.
(Manager.upload_results): Deleted.
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator.__init__): Remove buildbot arguments.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGenerator):
(JSONResultsGenerator.__init__): Remove buildbot arguments.
(JSONResultsGenerator.get_json): Remove concept of builder.
(JSONResultsGenerator.upload_json_files): Deleted.
(JSONResultsGenerator._get_svn_revision): Deleted.
(JSONResultsGenerator._get_archived_json_results): Deleted.
(JSONResultsGenerator._insert_generic_metadata): Deleted.
(JSONResultsGenerator._convert_json_to_current_version): Deleted.
(JSONResultsGenerator._convert_tests_to_trie): Deleted.
(JSONResultsGenerator._remove_items_over_max_number_of_builds): Deleted.
(JSONResultsGenerator._normalize_results_json): Deleted.
(JSONResultsGenerator._is_results_all_of_type): Deleted.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
(JSONGeneratorTest.setUp):
(JSONGeneratorTest._test_json_generation):
(JSONGeneratorTest._verify_json_results):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Remove arguments used to upload to old results database.
2021-03-05 Chris Dumez <cdumez@apple.com>
Regression(r268097): WKWebView.URL is nil in the processDidTerminate delegate
https://bugs.webkit.org/show_bug.cgi?id=222809
Reviewed by Michael Catanzaro.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(TEST):
2021-03-05 Cameron McCormack <heycam@apple.com>
Don't open a new window in MiniBrowser if already opening a file from the command line
https://bugs.webkit.org/show_bug.cgi?id=222776
Reviewed by Dean Jackson.
* MiniBrowser/mac/AppDelegate.h:
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate init]):
(-[BrowserAppDelegate applicationDidFinishLaunching:]):
(-[BrowserAppDelegate application:openFile:]):
2021-03-05 Aakash Jain <aakash_jain@apple.com>
[ews] Add python 3 support in send_email
https://bugs.webkit.org/show_bug.cgi?id=222806
Reviewed by Jonathan Bedard.
* CISupport/ews-build/send_email.py:
(send_email):
2021-03-05 Matt Lewis <jlewis3@apple.com>
Unreviewed Dashboard Fix.
* CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
2021-03-05 Aakash Jain <aakash_jain@apple.com>
[ews] Run ews unit-tests with Python 3
https://bugs.webkit.org/show_bug.cgi?id=222800
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(RunEWSUnitTests):
* CISupport/ews-build/steps_unittest.py: Updated unit-tests.
2021-03-05 Razvan Caliman <rcaliman@apple.com>
Mark myself as committer in contributors.json.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-03-05 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Correct BitBucket timestamp conversion
https://bugs.webkit.org/show_bug.cgi?id=222766
<rdar://problem/75063548>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/bitbucket.py:
(BitBucket.request): Bitbucket timestamps are in milliseconds.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.commit): Bitbucket timestamps are in milliseconds.
2021-03-05 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Standardize timezone of mock svn server
https://bugs.webkit.org/show_bug.cgi?id=222762
<rdar://problem/75058478>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version, add dateutils.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.request): Lock timezone of SVN server.
* Scripts/webkitpy/__init__.py: Move dateutils to webkitcorepy.
2021-03-05 ChangSeok Oh <changseok@webkit.org>
AVIF decoding support
https://bugs.webkit.org/show_bug.cgi?id=207750
Reviewed by Philippe Normand.
This patch brings an initial support of AVIF image format to the gtk port.
AVIF is a new royalty-free image format derived from the keyframes of AV1 video.
FireFox and Chromium-variant browsers already support it. Its specification can be found
at https://rawcdn.githack.com/AOMediaCodec/av1-avif/67a92add6cd642a8863e386fa4db87954a6735d1/index.html
This patch aims to land a build option for AVIF and a basic decoding ability
for still images by using libavif. Animated AVIF images will be covered later.
* gtk/install-dependencies: Add dependencies of libavif for jhbuild
* gtk/jhbuild.modules: Add libavif for jhbuild
2021-03-05 Chris Dumez <cdumez@apple.com>
Reduce use of CFRetain() / CFRelease() / CFAutoRelease() in WebKit
https://bugs.webkit.org/show_bug.cgi?id=222760
Reviewed by Darin Adler.
Reduce use of CFRetain() / CFRelease() / CFAutoRelease() in WebKit by using RetainPtr<>.
* DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm:
(createCoreAnimationLayer):
* DumpRenderTree/mac/AccessibilityCommonMac.mm:
(+[NSString stringWithJSStringRef:]):
* DumpRenderTree/mac/DumpRenderTree.mm:
(activateFontIOS):
(dumpRenderTree):
(invalidateAnyPreviousWaitToDumpWatchdog):
(setWaitToDumpWatchdog):
(dump):
(runTest):
* DumpRenderTree/mac/DumpRenderTreeMac.h:
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController mouseScrollByX:andY:continuously:]):
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(takeWindowSnapshot):
(createBitmapContextFromWebView):
* DumpRenderTree/mac/ResourceLoadDelegate.mm:
(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::addDisallowedURL):
(TestRunner::setWaitToDump):
* FontWithFeatures/FontWithFeatures/main.cpp:
(constructFontWithTrueTypeFeature):
(constructFontWithOpenTypeFeature):
(drawText):
(main):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(+[NSString stringWithJSStringRef:]):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(+[NSString stringWithJSStringRef:]):
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator _createIOHIDEventWithInfo:]):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:stageTransition:phase:time:eventNumber:window:]):
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::cfString):
(WTR::UIScriptControllerMac::replaceTextAtRange):
2021-03-05 Philippe Normand <pnormand@igalia.com>
[GTK] Clang warnings in MiniBrowser build
https://bugs.webkit.org/show_bug.cgi?id=222797
Reviewed by Carlos Garcia Campos.
Fix unused-value warnings.
* MiniBrowser/gtk/BrowserCellRendererVariant.c:
(browser_cell_renderer_variant_init):
* MiniBrowser/gtk/BrowserTab.c:
(runColorChooserCallback):
2021-03-04 Sam Sneddon <gsnedders@apple.com>
Undeprecate many more webkit-patch commands
https://bugs.webkit.org/show_bug.cgi?id=222745
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/tool/commands/download.py:
(ChangeStyleLocal):
* Scripts/webkitpy/tool/commands/queries.py:
(SuggestReviewers):
* Scripts/webkitpy/tool/commands/setupgitclone.py:
(SetupGitClone):
* Scripts/webkitpy/tool/commands/suggestnominations.py:
(SuggestNominations):
* Scripts/webkitpy/tool/commands/upload.py:
(Post):
(Prepare):
(MarkBugFixed):
2021-03-04 Aakash Jain <aakash_jain@apple.com>
Reduce unnecessary logging in ews-app
https://bugs.webkit.org/show_bug.cgi?id=222764
Reviewed by Jonathan Bedard.
* CISupport/ews-app/ews/views/retrypatch.py:
(RetryPatch.post):
2021-03-04 Matt Lewis <jlewis3@apple.com>
Add Apple Silicon Devices to Big Sur builders and testers.
https://bugs.webkit.org/show_bug.cgi?id=222616
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/config.json:
* CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
2021-03-04 Aakash Jain <aakash_jain@apple.com>
[ews] Add python 3 support - part 5
https://bugs.webkit.org/show_bug.cgi?id=222744
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(CheckPatchRelevance._patch_is_relevant): Ensure that in python 3, path and changes are bytes. This is because buildbot
stores patch as bytes, as mentioned in https://github.com/buildbot/buildbot/issues/5812#issuecomment-790175979
* CISupport/ews-build/steps_unittest.py: Updated one unit-test to test binary patch.
2021-03-04 Chris Dumez <cdumez@apple.com>
[macOS][WK2] Changing the system language does not update navigator.language
https://bugs.webkit.org/show_bug.cgi?id=222619
Reviewed by Per Arne Vollan.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
(TEST):
2021-03-04 Alex Christensen <achristensen@webkit.org>
Introduce "websocket", "fetch", and "other" resource types to WKContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=222709
<rdar://problem/71552078>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(TEST):
(webSocketAcceptValue):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::statusText):
2021-03-04 Youenn Fablet <youenn@apple.com>
Update camera and microphone capture state control WKWebView API
https://bugs.webkit.org/show_bug.cgi?id=222166
Reviewed by Eric Carlson.
Updaed according renaming of _WKMediaCaptureState in _WKMediaCaptureStateDeprecated.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::wkMediaCaptureStateString):
(TestWebKitAPI::waitUntilCaptureState):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm:
(-[MediaStreamTrackDetachedUIDelegate _webView:mediaCaptureStateDidChange:]):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[GetUserMediaUIDelegate _webView:mediaCaptureStateDidChange:]):
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(-[SpeechRecognitionUIDelegate _webView:mediaCaptureStateDidChange:]):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::isDoingMediaCapture const):
2021-03-04 Angelos Oikonomopoulos <angelos@igalia.com>
Detect unrecognized options in run-javascriptcore-tests
https://bugs.webkit.org/show_bug.cgi?id=221186
Reviewed by Keith Miller.
run-javascriptcore-tests saves unrecognized arguments to pass
through to build-jsc even when --no-build is used. However, when
we're not building, nothing will ever use or look at the extra
arguments. This means that those arguments are silently eaten
up and, consequently, typos in option names can go undetected.
Change the script to fail when --no-build has been passed and
there are unrecognized options.
* Scripts/run-javascriptcore-tests:
2021-03-04 Kimmo Kinnunen <kkinnunen@apple.com>
Adding new test conditions for WebGL should be simpler
https://bugs.webkit.org/show_bug.cgi?id=222593
Reviewed by Kenneth Russell.
Add SimulateEventForTesting(String eventName) to manually
implemented RemoteGraphicsContextGL functions.
Use manually generated function because next commit for
timeout implementation will add some logic to RemoteGraphicsContextGL
while forwarding rest of the events to the underlying GraphicsContextGL.
* Scripts/generate-gpup-webgl:
2021-03-03 Alex Christensen <achristensen@webkit.org>
WKRemoteObjectCoder should be able to handle NSErrors from TLS failures
https://bugs.webkit.org/show_bug.cgi?id=222401
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn sendError:completionHandler:]):
2021-03-03 Chris Dumez <cdumez@apple.com>
Unreviewed, reverting r273851.
Caused some tests failures on macOS Big Sur
Reverted changeset:
"[macOS][WK2] Changing the system language does not update
navigator.language"
https://bugs.webkit.org/show_bug.cgi?id=222619
https://commits.webkit.org/r273851
2021-03-03 Sam Sneddon <gsnedders@apple.com>
Make LayoutTestFinder.find_tests/find_tests_by_path return List[Test]
https://bugs.webkit.org/show_bug.cgi?id=222662
Reviewed by Jonathan Bedard.
This introduces a Test class, to later be able to migrate finding
expectations to LayoutTestFinder.
* Scripts/open-layout-test:
(main):
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.find_tests):
(LayoutTestFinder.find_tests_by_path):
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py:
(LayoutTestFinderTests.test_find_with_skipped_directories):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
(Manager.print_expectations):
* Scripts/webkitpy/layout_tests/models/test.py: Added.
(Test):
(Test.__init__):
(Test.__repr__):
(Test.__eq__):
* Scripts/webkitpy/layout_tests/models/test_input.py:
(TestInput):
* Scripts/webkitpy/tool/commands/queries.py:
(PrintExpectations.execute):
2021-03-03 Cameron McCormack <heycam@apple.com>
Send console.log() etc. to stdout in MiniBrowser on macOS
https://bugs.webkit.org/show_bug.cgi?id=222629
Reviewed by Tim Horton.
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate defaultConfiguration]):
2021-03-03 Chris Dumez <cdumez@apple.com>
[macOS][WK2] Changing the system language does not update navigator.language
https://bugs.webkit.org/show_bug.cgi?id=222619
Reviewed by Per Arne Vollan.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm:
(TEST):
2021-03-03 Chris Dumez <cdumez@apple.com>
Use adoptNS() right away after calling [obj copy] / [obj mutableCopy]
https://bugs.webkit.org/show_bug.cgi?id=222634
Reviewed by Darin Adler.
Use adoptNS() right away after calling [obj copy] / [obj mutableCopy] to minimize the chance of leaks.
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuMouseEvents.mm:
(TestWebKitAPI::runTest):
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
2021-03-03 Sam Sneddon <gsnedders@apple.com>
Move LayoutTestFinder.skip_tests to Manager._skip_tests
https://bugs.webkit.org/show_bug.cgi?id=222661
Reviewed by Jonathan Bedard.
This has nothing to do with finding tests, and everything to do about
test selection depending on the CLI.
Additionally, this removes the unused LayoutTestFinder.skip_tests
all_tests_list argument.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder._skip_tests):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._skip_tests):
(Manager._prepare_lists):
2021-03-03 Aakash Jain <aakash_jain@apple.com>
[ews] Add python 3 support - part 4
https://bugs.webkit.org/show_bug.cgi?id=222672
Reviewed by Jonathan Bedard.
* CISupport/ews-build/events.py:
(JSONProducer): Use implementer (python 3 compatible) instead of implements.
(JSONProducer.__init__): Encode data as utf-8 explicitly.
(Events):
(Events.sendData):
2021-03-03 Robert Jenner <jenner@apple.com>
Adding myself as a committer in the contributors file.
N/A
N/A
* Scripts/webkitpy/common/config/contributors.json: Added myself as a committer.
2021-03-03 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r273814.
https://bugs.webkit.org/show_bug.cgi?id=222676
Unresolved types in JavaScriptCore-4.0.gir
Reverted changeset:
"[CMake] JavaScriptCore GLib headers should be copies"
https://bugs.webkit.org/show_bug.cgi?id=222625
https://trac.webkit.org/changeset/273814
2021-03-03 Sam Sneddon <gsnedders@apple.com>
Remove LayoutTestFinder.touched_tests, which is now dead code
https://bugs.webkit.org/show_bug.cgi?id=222660
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.find_touched_tests): Removed.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py:
Remove related tests.
2021-03-03 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Make testing compatible with Python 3.8
https://bugs.webkit.org/show_bug.cgi?id=222678
<rdar://problem/74997936>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_test_context.py:
(FlaskTestContext):
(FlaskTestContext.start_webserver): Make function pickle able.
(FlaskTestContext.__init__): Pass class to owning webserver setup.
(FlaskTestContext.__enter__):
* Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_testcase.py:
(FlaskTestCase.run_with_real_webserver.decorator.real_method):
* Scripts/libraries/resultsdbpy/resultsdbpy/model/cassandra_context.py:
(filter_for_argument): Style fix.
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
2021-03-03 Kate Cheney <katherine_cheney@apple.com>
Report the correct document uri in the case of a ContentSecurityPolicyClient
https://bugs.webkit.org/show_bug.cgi?id=222489
<rdar://problem/73774118>
Reviewed by Brent Fulgham.
Rename OverrideContentSecurityPolicy.mm to ContentSecurityPolicy.mm
so we can use it for more general purpose CSP testing.
Add a test for document-uri reporting for file:, data: and about: protocols.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ContentSecurityPolicy.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/OverrideContentSecurityPolicy.mm.
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/csp-document-uri-report.html: Added.
2021-03-03 Youenn Fablet <youenn@apple.com>
WebKitLegacy needs to keep JSDOMWindow even though it is used while its origin is not set
https://bugs.webkit.org/show_bug.cgi?id=222589
<rdar://problem/74258258>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm:
(TestWebKitAPI::TEST):
2021-03-03 Don Olmstead <don.olmstead@sony.com>
[CMake] JavaScriptCore GLib headers should be copies
https://bugs.webkit.org/show_bug.cgi?id=222625
Reviewed by Michael Catanzaro.
Update the includes for the GLib ports.
* MiniBrowser/wpe/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
* TestWebKitAPI/glib/CMakeLists.txt:
* TestWebKitAPI/glib/PlatformGTK.cmake:
2021-03-02 Myles C. Maxfield <mmaxfield@apple.com>
REGRESSION(r270691): It's impossible to use MobileAsset fonts on macOS
https://bugs.webkit.org/show_bug.cgi?id=222582
<rdar://problem/74877450>
Reviewed by Per Arne Vollan.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/MobileAssetSandboxCheck.mm: Copied from Source/WebKit/WebProcess/win/WebProcessWin.cpp.
(TEST):
2021-03-02 Sam Weinig <weinig@apple.com>
Reduce the size of extended colors by storing the color space in free bits of the owning Color
https://bugs.webkit.org/show_bug.cgi?id=222584
Reviewed by Darin Adler.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeColor):
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp: Removed.
Update tests to account for removal of the ExtendedColor class.
Merge ExtendedColorTests.cpp that still make sense into ColorTests.cpp
2021-03-02 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Better logging when attempting to convert tag to identifier
https://bugs.webkit.org/show_bug.cgi?id=222482
<rdar://problem/74797495>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitcorepy/setup.py: Bug version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn._commit_count):
2021-03-02 Simon Fraser <simon.fraser@apple.com>
Rename ForcePageRenderingUpdatesAt60FPSEnabled preference to PreferPageRenderingUpdatesNear60FPSEnabled
https://bugs.webkit.org/show_bug.cgi?id=222580.
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/AnimationFrameRate.cpp:
(TestWebKitAPI::TEST): Function rename.
2021-03-02 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add UUID
https://bugs.webkit.org/show_bug.cgi?id=222602
<rdar://problem/74931488>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit):
(Commit.Encoder.default): Add order member.
(Commit.__init__): Ditto.
(Commit.uuid): Compute UUID from timestamp and order.
(Commit.__cmp__): Use UUID instead of timestamp for comparison.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.commit): Compute commit order.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/git-repo.json: Add "order" to colliding commit.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Correct case where comparison fails.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.commit): Compute commit order.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.commit): Compute commit order.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_order): Added.
(TestGitHub.test_order): Added.
(TestBitBucket.test_order): Added.
2021-03-02 Sam Sneddon <gsnedders@apple.com>
Remove the ability to run tests via webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=222617
Reviewed by Jonathan Bedard.
Also removes the build-and-test and build-and-test-attachment commands, as these are now
equivalent to build and build-attachment with --test support gone.
* Scripts/webkitpy/tool/bot/layouttestresultsreader.py: Unused import
* Scripts/webkitpy/tool/commands/download.py:
(BuildAndTest):
(Land):
(LandCowhand):
(BuildAndTestAttachment):
(AbstractPatchLandingCommand):
* Scripts/webkitpy/tool/commands/download_unittest.py:
(test_build_and_test):
(test_land):
(test_land_red_builders):
(test_land_no_close):
(test_land_no_comment):
(test_land_no_comment_no_close):
* Scripts/webkitpy/tool/steps/__init__.py:
* Scripts/webkitpy/tool/steps/runtests.py: Removed.
* Scripts/webkitpy/tool/steps/runtests_unittest.py: Removed.
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest.test_runtests_args):
(StepsTest.test_runtests_debug_args):
(StepsTest.test_runtests_jsc):
(StepsTest.test_runtests_jsc_debug):
2021-03-02 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Use webkitscmpy when reporting results
https://bugs.webkit.org/show_bug.cgi?id=222432
<rdar://problem/74755765>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): The root directory should be treated as if it does not exist.
* Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
(SummarizedResultsTest.test_svn_revision): Use webkitscmpy's mock repository.
(SummarizedResultsTest.test_svn_revision_git): Added.
* Scripts/webkitpy/port/base.py:
(Port.commits_for_upload): Use webkitscmpy instead of webkitpy for repository manipulation.
* Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_commits_for_upload): Use webkitscmpy's mock repository.
(PortTest.test_commits_for_upload_git_svn): Added.
2021-03-02 Lauro Moura <lmoura@igalia.com>
[WPE] Support sending key modifiers after r272572
https://bugs.webkit.org/show_bug.cgi?id=222615
Reviewed by Adrian Perez de Castro.
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::wpeKeySymForKeyRef):
2021-03-02 Ricky Mondello <rmondello@apple.com>
Unconditionally return information in _autofillContext SPI when a field is focused
https://bugs.webkit.org/show_bug.cgi?id=221828
rdar://74211237
Reviewed by Darin Adler.
Tests updated by Wenson Hsieh.
Rebaseline tests.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
(-[AutoFillTestView acceptsAutoFillLoginCredentials]): Renamed in line with the Password AutoFill-related
contract these tests are about.
2021-03-02 Aakash Jain <aakash_jain@apple.com>
Make build.webkit.org loadconfig similar to EWS
https://bugs.webkit.org/show_bug.cgi?id=222597
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/loadConfig.py:
(loadBuilderConfig):
(checkValidWorker): Method to validate worker.
(checkValidBuilder): Method to validate builder.
(checkValidSchedulers): Method to validate schedulers.
(doesTriggerExist):
(isTriggerUsedByAnyBuilder):
(checkWorkersAndBuildersForConsistency):
* CISupport/build-webkit-org/loadConfig_unittest.py: Added unit-tests.
(ConfigDotJSONTest.test_configuration):
(TestcheckValidWorker):
(TestcheckValidWorker.test_invalid_worker):
(TestcheckValidWorker.test_worker_with_missing_name):
(TestcheckValidWorker.test_worker_with_missing_platName):
(TestcheckValidWorker.test_valid_worker):
(TestcheckValidBuilder):
(TestcheckValidBuilder.test_invalid_builder):
(TestcheckValidBuilder.test_builder_with_missing_name):
(TestcheckValidBuilder.test_builder_with_invalid_identifier):
(TestcheckValidBuilder.test_builder_with_extra_long_name):
(TestcheckValidBuilder.test_builder_with_invalid_configuration):
(TestcheckValidBuilder.test_builder_with_missing_factory):
(TestcheckValidBuilder.test_builder_with_missing_scheduler):
(TestcheckValidBuilder.test_builder_with_missing_platform):
(TestcheckValidBuilder.test_valid_builder):
(TestcheckWorkersAndBuildersForConsistency):
(TestcheckWorkersAndBuildersForConsistency.test_checkWorkersAndBuildersForConsistency):
(TestcheckWorkersAndBuildersForConsistency.test_checkWorkersAndBuildersForConsistency1):
(TestcheckWorkersAndBuildersForConsistency.test_duplicate_worker):
(TestcheckWorkersAndBuildersForConsistency.test_success):
* CISupport/ews-build/loadConfig.py:
(checkWorkersAndBuildersForConsistency): Added double-quotes in error message for better readability.
* CISupport/ews-build/loadConfig_unittest.py:
(TestcheckWorkersAndBuildersForConsistency.test_checkWorkersAndBuildersForConsistency1):
2021-03-02 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r263094): [GTK][WPE] API test /webkit/WebKitWebContext/languages is failing
https://bugs.webkit.org/show_bug.cgi?id=188111
Reviewed by Michael Catanzaro.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextLanguages): Invalid locale is ignored now instead of throwing a exception.
* TestWebKitAPI/glib/TestExpectations.json: Remove test expectation now that it passes again.
2021-03-02 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Enable grid view
https://bugs.webkit.org/show_bug.cgi?id=222369
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
2021-03-02 Youenn Fablet <youenn@apple.com>
Use capture settings after recovering capture from GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=221126
<rdar://problem/73744819>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/getUserMedia.html:
2021-03-02 Youenn Fablet <youenn@apple.com>
Enable MEDIA_SOURCE in IOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=222041
<rdar://problem/74433510>
Reviewed by Eric Carlson.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
Disable MediaSource runtime flag on simulator since it lacks implementation of AVStreamDataParser.
2021-03-02 Aakash Jain <aakash_jain@apple.com>
Move WebGL test bot to Big Sur (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=222501
rdar://73900538
Unreviewed infrastructure fix.
* CISupport/build-webkit-org/config.json: Fixed a typo.
2021-03-01 Jonathan Bedard <jbedard@apple.com>
[wbkitscmpy] Add commits with colliding timestamps
https://bugs.webkit.org/show_bug.cgi?id=222572
<rdar://problem/74887215>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/git-repo.json: Add commit with colliding timestamp.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
2021-03-01 Wenson Hsieh <wenson_hsieh@apple.com>
Support rotated image overlay text for non-rectilinear text quads
https://bugs.webkit.org/show_bug.cgi?id=222535
<rdar://problem/74886200>
Reviewed by Tim Horton.
Add a new API test file to exercise the new `rotatedBoundingRect` function, with tests to cover a few degenerate
cases such as a single point, line segments, and triangles.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/FloatQuadTests.cpp: Added.
(TestWebKitAPI::areApproximatelyEqual):
(TestWebKitAPI::expectRotatedRect):
(TestWebKitAPI::TEST):
2021-03-01 Chris Dumez <cdumez@apple.com>
Crash under WebProcessPool::pageBeginUsingWebsiteDataStore()
https://bugs.webkit.org/show_bug.cgi?id=222574
<rdar://68340471>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2021-03-01 Sam Weinig <weinig@apple.com>
Add experimental support for CSS Color 5 color-contrast()
https://bugs.webkit.org/show_bug.cgi?id=222530
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Update luminance values to account for more accurate conversion to
XYZ now that we are usuing the actual matrix values from SRGBADescriptor
and not a truncated copy.
2021-03-01 Megan Gardner <megan_gardner@apple.com>
Restoring App Highlight crashes if no range is found.
https://bugs.webkit.org/show_bug.cgi?id=222524
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKAppHighlights.mm:
(TestWebKitAPI::TEST):
2021-03-01 Aakash Jain <aakash_jain@apple.com>
[Python-3] Change shebang in runUnittests.py
https://bugs.webkit.org/show_bug.cgi?id=222554
Reviewed by Jonathan Bedard.
* CISupport/runUnittests.py:
2021-03-01 Aakash Jain <aakash_jain@apple.com>
[ews] Use logname instead of deprecated logfile in PrintConfiguration
https://bugs.webkit.org/show_bug.cgi?id=222378
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(PrintConfiguration.run):
2021-03-01 Adam Roben <aroben@apple.com>
Teach prepare-ChangeLog to recognize Swift structs/enums/protocols/extensions
https://bugs.webkit.org/show_bug.cgi?id=222551
It formerly only knew how to recognize classes.
Reviewed by Jonathan Bedard.
* Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_swift): Replaced "class" with "type" in
variable names to make them more general. Generalized the pattern used
to find class declarations to find struct/enum/protocol/extension
declarations as well.
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/swift_unittests-expected.txt:
Added new ranges to the results.
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/swift_unittests.swift:
(MyStruct.structFunction(argument:)):
(MyEnum.enumFunction(argument:)):
(MyProtocol.protocolFunction(argument:)):
(ExtendedType.extensionFunction(argument:)):
Added these new types/functions (and look, they got parsed!).
2021-02-27 Megan Gardner <megan_gardner@apple.com>
API test for AppHighlights
https://bugs.webkit.org/show_bug.cgi?id=222408
Reviewed by Tim Horton.
* TestWebKitAPI/PlatformUtilities.h:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKAppHighlights.mm: Added.
(-[AppHighlightDelegate _webView:storeAppHighlight:inNewGroup:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
(TEST):
(waitForConditionWithLogging): Deleted.
* TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
(TestWebKitAPI::Util::waitForConditionWithLogging):
2021-02-26 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add a script to show a list of bugs closed since a given revision
https://bugs.webkit.org/show_bug.cgi?id=222470
Reviewed by Adrian Perez de Castro.
It's useful to get a list of specific changes when making releases.
* Scripts/webkit-filter-log: Added.
2021-02-26 Chris Dumez <cdumez@apple.com>
Reduce explicit usage of [objC retain] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=222439
Reviewed by Darin Adler.
Reduce explicit usage of [objC retain] in WebKit by using RetainPtr<>.
* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
(-[DRTMockScroller drawKnob]):
(-[DRTMockScroller drawRect:]):
(prepareConsistentTestingEnvironment):
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView selectionRectsAfterPresentationUpdate]):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformLibraryPathForTesting):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::allowedFontFamilySet):
(WTR::systemHiddenFontFamilySet):
(WTR::TestController::platformLibraryPathForTesting):
* WebKitTestRunner/mac/main.mm:
(disableAppNapInUIProcess):
2021-02-26 Ryan Haddad <ryanhaddad@apple.com>
macOS bots should build with ONLY_ACTIVE_ARCH=NO
https://bugs.webkit.org/show_bug.cgi?id=222502
Reviewed by Aakash Jain.
We need this to correctly build for both arm64e and x86_64 and support M1 hardware in our infrastructure.
* CISupport/build-webkit-org/steps.py:
(CompileWebKit.start):
2021-02-26 Ryan Haddad <ryanhaddad@apple.com>
Move WebGL test bot to Big Sur
https://bugs.webkit.org/show_bug.cgi?id=222501
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/config.json:
2021-02-26 Jean-Yves Avenard <jya@apple.com>
[MSE] Ensure MediaSample is properly trimmed.
https://bugs.webkit.org/show_bug.cgi?id=222462
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebCore/SampleMap.cpp:
Update per new MediaSample::divide prototype.
2021-02-26 John Wilander <wilander@apple.com>
Non-cookie website data not deleted after 7 days of browser use without user interaction
https://bugs.webkit.org/show_bug.cgi?id=222248
<rdar://problem/74612589>
Reviewed by Brent Fulgham and informally by Kate Cheney.
A new numberOfOperatingDaysPassed parameter was added to
testRunner.setStatisticsExpiredStatistic() to control the exact
number of operating days passed since user interaction.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsExpiredStatistic):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsExpiredStatistic):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2021-02-26 Devin Rousso <drousso@apple.com>
Unreviewed, add myself to the `ConsoleUsage` watchlist
* Scripts/webkitpy/common/config/watchlist:
2021-02-26 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Move credential access from webkitscmpy
https://bugs.webkit.org/show_bug.cgi?id=222487
<rdar://problem/74801487>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version, move keyring libraries.
* Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py: Add.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version, move keyring libraries.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.credentials): Use webkitcorepy credentials.
2021-02-26 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Use webkitcorepy requests mocking
https://bugs.webkit.org/show_bug.cgi?id=222443
<rdar://problem/74764567>
Reviewed by Dewei Zhu.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/casserole_unittest.py:
(CasseroleTest.test_synchronous): Use webkitcorepy's requests mocking.
(CasseroleTest.test_asynchronous): Ditto.
(CasseroleTest.test_list_like): Ditto.
(MockRequest): Deleted.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/ci_context_unittest.py:
(URLFactoryTest.mock): Use webkitcorepy's requests mocking.
(URLFactoryTest.MockRequest): Deleted.
(URLFactoryTest.get): Deleted.
* Scripts/libraries/resultsdbpy/resultsdbpy/view/view_routes_unittest.py:
(WebSiteTestCase.decorator): Referenced static files have already been moved.
(WebSiteTestCase.decorator.MockRequest): Deleted.
* Scripts/libraries/resultsdbpy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/setup.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests_.py:
(Requests.__init__): Allow caller to specify certain responses.
(Requests.request):
2021-02-26 Andres Gonzalez <andresg_22@apple.com>
Add AXTextMarkerRangeForNSRange attribute so that Mac clients can access this functionality.
https://bugs.webkit.org/show_bug.cgi?id=222477
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::textMarkerRangeForRange):
2021-02-26 Aakash Jain <aakash_jain@apple.com>
[ews] Commit queue should show commit identifier every time it updates local checkout
https://bugs.webkit.org/show_bug.cgi?id=222287
Reviewed by Jonathan Bedard.
* CISupport/ews-build/factories.py:
(CommitQueueFactory.__init__): Added ShowIdentifier step.
* CISupport/ews-build/factories_unittest.py: Updated unit-test.
2021-02-26 Aakash Jain <aakash_jain@apple.com>
Remove old buildbot version from webkitpy autoinstaller
https://bugs.webkit.org/show_bug.cgi?id=222272
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/autoinstalled/buildbot.py:
2021-02-26 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Stop using deprecated buildbot.status.builder
https://bugs.webkit.org/show_bug.cgi?id=222373
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
2021-02-26 Philippe Normand <pnormand@igalia.com>
Unreviewed, WPE build fix after SDK r273544 deployment
* TestWebKitAPI/PlatformWPE.cmake: GLib include path was missing in the TestJavaScriptCore
build.
2021-02-25 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r273122 and r273123.
https://bugs.webkit.org/show_bug.cgi?id=222449
Didn't fix the extreme test variance, and caused some internal
performance bots to hang during testing
Reverted changesets:
"MotionMark scores are super sensitive to a single long frame"
https://bugs.webkit.org/show_bug.cgi?id=220847
https://trac.webkit.org/changeset/273122
"MotionMark scores are super sensitive to a single long frame"
https://bugs.webkit.org/show_bug.cgi?id=220847
https://trac.webkit.org/changeset/273123
2021-02-25 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r273503.
https://bugs.webkit.org/show_bug.cgi?id=222442
Caused a blob loading failure
Reverted changeset:
"Serialize NSURLRequest (rather than CFURLRequest) in IPC"
https://bugs.webkit.org/show_bug.cgi?id=222145
https://trac.webkit.org/changeset/273503
2021-02-25 Alex Christensen <achristensen@webkit.org>
Make internal ContentFiltering tests not time out after r272293
https://bugs.webkit.org/show_bug.cgi?id=222437
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[ServerRedirectNavigationDelegate webView:didStartProvisionalNavigation:]):
(-[ServerRedirectNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]):
(TEST):
(downloadTest):
(loadAlternateTest):
2021-02-25 Brent Fulgham <bfulgham@apple.com>
Serialize NSURLRequest (rather than CFURLRequest) in IPC
https://bugs.webkit.org/show_bug.cgi?id=222145
<rdar://problem/74500963>
Reviewed by Darin Adler and Alex Christensen.
Add a new test to ensure we can successfully load URLs with accented characters,
and to test the updated IPC serialization for NSURLRequest.
* TestWebKitAPI/Tests/WebKit/A/303/247/303/243o.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
(TEST):
2021-02-25 Jonathan Bedard <jbedard@apple.com>
[build.webkit.org] Stop passing --master-name to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=222427
<rdar://problem/74750838>
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/steps.py:
(RunWebKitTests):
* CISupport/build-webkit-org/steps_unittest.py:
(TestRunWebKitTests.test_success):
(TestRunWebKitTests.test_warnings):
(TestRunWebKitTests.test_failure):
(TestRunWebKitTests.test_unexpected_error):
(TestRunWebKitTests.test_exception):
2021-02-25 Jonathan Bedard <jbedard@apple.com>
[ews-build.webkit.org] Compute identifiers locally
https://bugs.webkit.org/show_bug.cgi?id=222370
<rdar://problem/74704298>
Reviewed by Aakash Jain.
* CISupport/ews-build/factories.py:
(Factory.__init__): Add FetchBranches.
(StyleFactory.__init__): Ditto.
(WatchListFactory.__init__): Ditto.
* CISupport/ews-build/factories_unittest.py: Add FetchBranches.
* CISupport/ews-build/loadConfig.py:
(loadBuilderConfig): Remove GitHub credentials.
* CISupport/ews-build/steps.py:
(FetchBranches): Added.
(ShowIdentifier.start): Construct identifier locally.
* CISupport/ews-build/steps_unittest.py:
2021-02-25 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r273488.
https://bugs.webkit.org/show_bug.cgi?id=222426
Landed before necessary buildbot change.
Reverted changeset:
"[run-webkit-tests] Delete old results server code"
https://bugs.webkit.org/show_bug.cgi?id=222393
https://trac.webkit.org/changeset/273488
2021-02-25 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Delete old results server code
https://bugs.webkit.org/show_bug.cgi?id=222393
<rdar://problem/74722220>
Rubber-stamped by Alexey Proskuryakov.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._end_test_run): Remove upload code.
(Manager._save_json_files): Renamed from _upload_json_files.
(Manager._upload_json_files): Renamed to _save_json_files.
(Manager.upload_results): Deleted.
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator.__init__): Remove buildbot arguments.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGenerator):
(JSONResultsGenerator.__init__): Remove buildbot arguments.
(JSONResultsGenerator.get_json): Remove concept of builder.
(JSONResultsGenerator.upload_json_files): Deleted.
(JSONResultsGenerator._get_svn_revision): Deleted.
(JSONResultsGenerator._get_archived_json_results): Deleted.
(JSONResultsGenerator._insert_generic_metadata): Deleted.
(JSONResultsGenerator._convert_json_to_current_version): Deleted.
(JSONResultsGenerator._convert_tests_to_trie): Deleted.
(JSONResultsGenerator._remove_items_over_max_number_of_builds): Deleted.
(JSONResultsGenerator._normalize_results_json): Deleted.
(JSONResultsGenerator._is_results_all_of_type): Deleted.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
(JSONGeneratorTest.setUp):
(JSONGeneratorTest._test_json_generation):
(JSONGeneratorTest._verify_json_results):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Remove arguments used to upload to old results database.
2021-02-25 Chris Gambrell <cgambrell@apple.com>
[contributors.json] Adding Chris Gambrell as a contributor
https://bugs.webkit.org/show_bug.cgi?id=222415
<rdar://problem/74741371>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/contributors.json:
2021-02-24 Ryosuke Niwa <rniwa@webkit.org>
Build fix after r273465.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2021-02-24 Kate Cheney <katherine_cheney@apple.com>
App-bound request parameter should be passed to main resource requests not the main frame
https://bugs.webkit.org/show_bug.cgi?id=222241
<rdar://problem/74560966>
Reviewed by Chris Dumez.
Adds more robust testing to report when appBound/nonAppBound requests
load in the network process. This tests not only that the main frame’s
document loader is properly set, but also that all loads initiated from
app-bound requests are also app-bound to avoid regressions like this in the future.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
Utilize some CSP test resources that have the exact setup needed to
test this fix.
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView appBoundNavigationData:]):
(-[WKWebView clearAppBoundNavigationReports:]):
2021-02-24 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add flag for caller to opt out of identifier computation
https://bugs.webkit.org/show_bug.cgi?id=222337
<rdar://problem/74667858>
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.commit): Allow caller to opt-out of retrieving the identifier.
(Git.find): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.commit): Allow caller to opt-out of retrieving the identifier.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py:
(BitBucket.commit): Allow caller to opt-out of retrieving the identifier.
(BitBucket.find): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.commit): Allow caller to opt-out of retrieving the identifier.
(GitHub.find): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn.commit): Allow caller to opt-out of retrieving the identifier.
* Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase.commit): Allow caller to opt-out of retrieving the identifier.
(ScmBase.find): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_no_identifier):
(TestGitHub.test_no_identifier):
(TestBitBucket.test_no_identifier):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_no_identifier):
(TestRemoteSvn.test_no_identifier):
2021-02-24 Russell Epstein <repstein@apple.com>
Revert r272735. rdar://problem/74674837
2021-02-24 Aakash Jain <aakash_jain@apple.com>
Add unit-tests for various step in build.webkit.org (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=222075
<rdar://problem/74691345>
Unreviewed follow-up fix for unit-tests.
* CISupport/build-webkit-org/steps_unittest.py:
(TestRunWebKitPyTests.test_failure):
(TestRunWebKitPyTests.test_errors):
(TestRunWebKitPyTests.test_lot_of_failures):
(TestRunLLDBWebKitTests.test_failure):
(TestRunLLDBWebKitTests.test_errors):
(TestRunLLDBWebKitTests.test_lot_of_failures):
2021-02-24 Keith Miller <keith_miller@apple.com>
Cloop JSC test driver command shouldn't pass build flags
https://bugs.webkit.org/show_bug.cgi?id=222325
Reviewed by Darin Adler.
* CISupport/build-webkit-org/steps.py:
(RunLLINTCLoopTests):
2021-02-24 Aakash Jain <aakash_jain@apple.com>
Disable Buildbot old-style step deprecation warning
https://bugs.webkit.org/show_bug.cgi?id=222363
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
* CISupport/ews-build/master.cfg:
* CISupport/runUnittests.py:
2021-02-24 Aakash Jain <aakash_jain@apple.com>
[ews] Add python 3 support - part 3
https://bugs.webkit.org/show_bug.cgi?id=222355
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(ValidateCommiterAndReviewer.load_contributors_from_disk): Ensure that the file is closed.
* CISupport/ews-build/steps_unittest.py:
2021-02-24 Aakash Jain <aakash_jain@apple.com>
[ews] Make unit-test compatible with latest buildbot
https://bugs.webkit.org/show_bug.cgi?id=222359
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps_unittest.py:
(BuildStepMixinAdditions):
(BuildStepMixinAdditions.setUpBuildStep): Invoke setUpTestReactor.
2021-02-24 Don Olmstead <don.olmstead@sony.com>
Only import Python flatpak module on Linux
https://bugs.webkit.org/show_bug.cgi?id=222327
Reviewed by Philippe Normand.
Importing flatpak is only relavent for GTK/WPE ports. Also Windows can fail when importing
it due to platform differences.
* Scripts/run-bindings-tests:
* Scripts/run-builtins-generator-tests:
* Scripts/run-minibrowser:
* Scripts/run-perf-tests:
* Scripts/run-webkit-httpd:
* Scripts/run-webkit-tests:
* Scripts/test-webkitpy:
2021-02-24 Aakash Jain <aakash_jain@apple.com>
Add unit-tests for various step in build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=222075
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps_unittest.py:
(TestRunWebKitPerlTests):
(TestRunWebKitPerlTests.test_success):
(TestRunWebKitPerlTests.test_failure):
(TestRunWebKitPyTests):
(TestRunWebKitPyTests.test_success):
(TestRunWebKitPyTests.test_unexpected_failure):
(TestRunWebKitPyTests.test_failure):
(TestRunWebKitPyTests.test_errors):
(TestRunWebKitPyTests.test_lot_of_failures):
(TestRunLLDBWebKitTests):
(TestRunLLDBWebKitTests.test_success):
(TestRunLLDBWebKitTests.test_unexpected_failure):
(TestRunLLDBWebKitTests.test_failure):
(TestRunLLDBWebKitTests.test_errors):
(TestRunLLDBWebKitTests.test_lot_of_failures):
(TestRunWebKitTests):
(TestRunWebKitTests.configureStep):
(TestRunWebKitTests.test_success):
(TestRunWebKitTests.test_warnings):
(TestRunWebKitTests.test_failure):
(TestRunWebKitTests.test_unexpected_error):
(TestRunWebKitTests.test_exception):
2021-02-24 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP3] Use soup_auth_get_authority() to set the ProtectionSpace host and port
https://bugs.webkit.org/show_bug.cgi?id=222309
Reviewed by Adrian Perez de Castro.
It fixes two tests when using libsoup3.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(testWebViewAuthenticationProxy):
(testWebViewAuthenticationProxyHTTPS):
2021-02-24 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] PATH for rustc no longer set correctly
https://bugs.webkit.org/show_bug.cgi?id=222311
Reviewed by Žan Doberšek.
Pass PATH as flatpak --env option, setting is through bwrap no longer works.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap:
2021-02-23 Jonathan Bedard <jbedard@apple.com>
[check-webkit-style] Fix Contributor sorting in Python 3
https://bugs.webkit.org/show_bug.cgi?id=222329
<rdar://problem/74656667>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/common/config/committers.py:
(Contributor.__cmp__): Return an integer to indicate ordering.
(Contributor.__eq__): Add rich comparison operators for sorting.
(Contributor.__ne__): Ditto.
(Contributor.__lt__): Ditto.
(Contributor.__le__): Ditto.
(Contributor.__gt__): Ditto.
(Contributor.__ge__): Ditto.
* Scripts/webkitpy/common/config/contributors.json:
2021-02-23 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add remote BitBucket
https://bugs.webkit.org/show_bug.cgi?id=222213
<rdar://problem/74542626>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Increment version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/__init__.py: Export mock BitBucket.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/bitbucket.py: Added.
(BitBucket): Mock limited set of BitBucket REST APIs.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/__init__.py: Export BitBucket class.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/bitbucket.py: Added.
(BitBucket): Repository object interacting with BitBucket via REST API.
(BitBucket.is_webserver): Check if the provided URL is a bitbucket URL.
(BitBucket.__init__):
(BitBucket.is_git):
(BitBucket.request): Combine paginated requests into a single API call.
(BitBucket._distance): Preform binary search
(BitBucket._branches_for): Return branches for reference.
(BitBucket.default_branch): Return the default branch.
(BitBucket.branches): Return all branches for repository.
(BitBucket.tags): Return all tags for repository.
(BitBucket.commit): Convert hash, identifier or git ref to Commit object.
(BitBucket.find): Use git to match branches and tags to a hash instead of trying to do it ourselves.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py:
(Scm.from_url): Add BitBucket.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGitHub.test_detection): Add bitbucket url.
(TestBitBucket): Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestRemoteSvn.test_detection): Add bitbucket url.
2021-02-23 Don Olmstead <don.olmstead@sony.com>
Pass full environment when auto installing a Python module on Windows
https://bugs.webkit.org/show_bug.cgi?id=221109
<rdar://problem/74002781>
Reviewed by Jonathan Bedard.
On Python 3 when the AutoInstall routine attempted to setup markupsafe-2.0.0 it would fail
when compiling native code. When compiling outside of Visual Studio there is a batch file
that sets up the environment. This adds a large number of environment variables which could
potentially change over time so to be safe the complete environment is passed to the
setup.py installation routine for Windows only.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install):
2021-02-23 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r273307.
https://bugs.webkit.org/show_bug.cgi?id=222320
Need to update CI code for CLoop bot before landing this
Reverted changeset:
"Detect unrecognized options in run-javascriptcore-tests"
https://bugs.webkit.org/show_bug.cgi?id=221186
https://trac.webkit.org/changeset/273307
2021-02-23 Jonathan Bedard <jbedard@apple.com>
show-identifier fails with error: ascii codec can't decode byte 0xc3 in position
https://bugs.webkit.org/show_bug.cgi?id=222313
<rdar://problem/74645910>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor.__repr__): Always return unicode for Python 2.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor.test_unicode):
2021-02-23 Rob Buis <rbuis@igalia.com>
aspect-ratio shows in computed style when disabled
https://bugs.webkit.org/show_bug.cgi?id=222286
Reviewed by Simon Fraser.
Add support for disabling aspect-ratio in wk1.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
2021-02-23 Chris Dumez <cdumez@apple.com>
Use adoptNS() as soon as we [[ObjcClass alloc] init] to avoid leaks in Tools/
https://bugs.webkit.org/show_bug.cgi?id=222288
Reviewed by Darin Adler.
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::zoomScale const):
(WTR::UIScriptControllerIOS::scrollToOffset):
(WTR::UIScriptControllerIOS::immediateScrollToOffset):
(WTR::UIScriptControllerIOS::minimumZoomScale const):
(WTR::UIScriptControllerIOS::maximumZoomScale const):
* DumpRenderTree/mac/DumpRenderTree.mm:
(fontAllowList):
(adjustWebDocumentForFlexibleViewport):
(createWebViewAndOffscreenWindow):
(allocateGlobalControllers):
(releaseGlobalControllers):
(resetWebViewToConsistentState):
(runTest):
* DumpRenderTree/mac/DumpRenderTreeMac.h:
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(+[DumpRenderTreePasteboard _pasteboardWithName:]):
(+[DumpRenderTreePasteboard releaseLocalPasteboards]):
* DumpRenderTree/mac/EventSendingController.mm:
(drt_WebHTMLView_beginDraggingSessionWithItemsEventSource):
(+[EventSendingController initialize]):
(-[EventSendingController beginDragWithFiles:]):
(-[EventSendingController beginDragWithFilePromises:]):
(-[EventSendingController mouseUp:withModifiers:]):
(-[EventSendingController mouseMoveToX:Y:]):
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setCustomPolicyDelegate):
(TestRunner::waitForPolicyDelegate):
(TestRunner::apiTestNewWindowDataLoadBaseURL):
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:dragImage:at:offset:event:pasteboard:source:slideBack:forView:]):
(-[UIDelegate dealloc]):
* TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(ensureGlobalLayoutTestSpellChecker):
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
* TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
(WebKit2_CommandBackForwardTestWKView::SetUp):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ReparentWebViewTimeout.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(-[TestSOAuthorizationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
* TestWebKitAPI/Tests/WebKitCocoa/UserInitiatedActionInNavigationAction.mm:
(UserInitiatedActionTest::URLWithFragment):
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaDisabled.mm:
(TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:
(-[UIDelegate _webView:configurationForLocalInspector:]):
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCandidateTests.mm:
(+[CandidateTestWebView setUpWithFrame:testPage:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDoesNotLogDuringInitialization.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[WebsitePoliciesWebsiteDataStoreDelegate webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitLegacy/mac/ClosingWebView.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsInvalidScheme.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitObjC/PreventImageLoadWithAutoResizing.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitObjC/UserContentTest.mm:
(TEST_F):
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(+[InputAssistantItemTestingWebView leadingItemsForWebView:]):
(+[InputAssistantItemTestingWebView trailingItemsForWebView:]):
* TestWebKitAPI/Tests/ios/WKScrollViewDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/CandidateTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/MemoryCachePruneWithinResourceLoadDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/mainIOS.mm:
(main):
* TestWebKitAPI/mac/TestFontOptions.mm:
(+[TestFontOptions sharedInstance]):
* TestWebKitAPI/mac/mainMac.mm:
(main):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
(WTR::AccessibilityController::addNotificationListener):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::globalWebViewConfiguration):
(WTR::globalWebsiteDataStoreDelegateClient):
(WTR::initializeWebViewConfiguration):
(WTR::TestController::platformContext):
(WTR::TestController::platformPreferences):
(WTR::TestController::platformInitializeDataStore):
(WTR::TestController::platformCreateWebView):
(WTR::TestController::platformCreateOtherPage):
(WTR::TestController::platformAdjustContext):
(WTR::TestController::cocoaResetStateToConsistentValues):
(WTR::TestController::removeAllSessionCredentials):
(WTR::TestController::getAllStorageAccessEntries):
(WTR::TestController::loadedSubresourceDomains):
(WTR::TestController::clearLoadedSubresourceDomains):
(WTR::TestController::injectUserScript):
(WTR::TestController::setAllowStorageQuotaIncrease):
(WTR::TestController::setAllowsAnySSLCertificate):
* WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm:
(+[GeneratedTouchesDebugWindow sharedGeneratedTouchesDebugWindow]):
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(+[HIDEventGenerator sharedHIDEventGenerator]):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::configureContentExtensionForTest):
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
(+[WebKitTestRunnerPasteboard _pasteboardWithName:]):
(+[WebKitTestRunnerPasteboard releaseLocalPasteboards]):
2021-02-23 Angelos Oikonomopoulos <angelos@igalia.com>
Detect unrecognized options in run-javascriptcore-tests
https://bugs.webkit.org/show_bug.cgi?id=221186
Reviewed by Keith Miller.
run-javascriptcore-tests saves unrecognized arguments to pass
through to build-jsc even when --no-build is used. However, when
we're not building, nothing will ever use or look at the extra
arguments. This means that those arguments are silently eaten
up and, consequently, typos in option names can go undetected.
Change the script to fail when --no-build has been passed and
there are unrecognized options.
* Scripts/run-javascriptcore-tests:
2021-02-23 Frederic Wang <fwang@igalia.com>
[GTK] Use std::bitset to specify WebKitTestServer's options
https://bugs.webkit.org/show_bug.cgi?id=222273
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h:
2021-02-22 Alex Christensen <achristensen@webkit.org>
Re-enable RangeResponseGenerator.
https://bugs.webkit.org/show_bug.cgi?id=221072
<rdar://problem/74551753>
r273263 was a false alarm. Reverting that revision.
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST):
2021-02-22 Chris Dumez <cdumez@apple.com>
[Cocoa] Add WKWebView session restoration API
https://bugs.webkit.org/show_bug.cgi?id=220958
<rdar://70956146>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:
(TEST):
2021-02-22 Chris Dumez <cdumez@apple.com>
Use adoptNS() as soon as we [[ObjcClass alloc] init] to avoid leaks
https://bugs.webkit.org/show_bug.cgi?id=222237
Reviewed by Darin Adler.
* TestRunnerShared/mac/NSPasteboardAdditions.mm:
(+[NSPasteboard _modernPasteboardType:]):
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
* TestWebKitAPI/Tests/WebKitLegacy/mac/DeallocWebViewInEventListener.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/CancelLoadFromResourceLoadDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/CloseNewWindowInNavigationPolicyDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/MemoryCacheDisableWithinResourceLoadDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/MemoryCachePruneWithinResourceLoadDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/StopLoadingFromDidReceiveResponse.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/WindowlessWebViewWithMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/mainIOS.mm:
(main):
* TestWebKitAPI/mac/mainMac.mm:
(main):
2021-02-22 Sam Sneddon <gsnedders@apple.com>
Run Python tests for Source/WebKit/Scripts changes in EWS
https://bugs.webkit.org/show_bug.cgi?id=222276
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
2021-02-22 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Failure to retrieve commit in EWS
https://bugs.webkit.org/show_bug.cgi?id=222050
<rdar://problem/74439957>
Reviewed by Aakash Jain.
* CISupport/ews-build/loadConfig.py:
(loadBuilderConfig): Load GitHub credentials.
* CISupport/ews-build/steps.py:
(ShowIdentifier.start): Pass GitHub credentials to worker.
* CISupport/ews-build/steps_unittest.py:
2021-02-22 Alex Christensen <achristensen@webkit.org>
Disable RangeResponseGenerator.
https://bugs.webkit.org/show_bug.cgi?id=221072
<rdar://problem/74551753>
It might be causing issues. Disabling to speculatively fix the radar.
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST):
2021-02-22 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] gdb unusable in sandbox
https://bugs.webkit.org/show_bug.cgi?id=222247
Reviewed by Žan Doberšek.
This patch adds support for unix signals disabling in developer builds, for the Flatpak SDK
runtime. Currently SIGINT, SIGHUP and SIGTERM will be ignored by the flatpak and bwrap
processes when they're running gdb in the sandbox runtime. This allows for nicer interactive
debugging sessions where Ctrl-C is actually handled by gdb.
* PlatformGTK.cmake:
* PlatformWPE.cmake:
* flatpak/CMakeLists.txt: Added.
* flatpak/flatpakutils.py:
(nullcontext):
(disable_signals):
(WebkitFlatpak.execute_command):
(WebkitFlatpak.run_in_sandbox):
* flatpak/sigaction-disabler.c: Added.
(real_sigaction):
(sigaction):
* flatpak/webkit-bwrap:
2021-02-22 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add Monado for XR runtime support
https://bugs.webkit.org/show_bug.cgi?id=220738
Reviewed by Žan Doberšek.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Allow runtime XR environment setup in the sandbox through
the XR_RUNTIME_JSON variable.
2021-02-22 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] X11 SSH forwarding fails
https://bugs.webkit.org/show_bug.cgi?id=222246
Reviewed by Žan Doberšek.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Forward the DISPLAY env var to the sandbox.
* flatpak/webkit-bwrap: Set the DISPLAY env var if it was set in the parent process.
2021-02-22 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Add support for libsoup3
https://bugs.webkit.org/show_bug.cgi?id=222093
Reviewed by Adrian Perez de Castro.
* MiniBrowser/gtk/BrowserTab.c:
(tlsErrorsDialogResponse):
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(Tunnel::Tunnel):
(Tunnel::connect):
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerAddCookie):
(testCookieManagerGetCookies):
(testCookieManagerDeleteCookie):
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(addContentDispositionHTTPHeaderToResponse):
(writeNextChunk):
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
(testLoadingError):
(testWebViewIsLoading):
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
(addCacheHTTPHeadersToResponse):
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(WebSocketTest::serverWebSocketCallback):
(httpsServerCallback):
(httpServerCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(serverCallback):
(ProxyTest::webSocketProxyServerCallback):
(webSocketServerCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(serverCallback):
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(writeNextChunk):
(serverCallback):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::run):
(WebKitTestServer::addWebSocketHandler):
2021-02-22 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Cog build fails when gst-build is enabled
https://bugs.webkit.org/show_bug.cgi?id=222102
Reviewed by Žan Doberšek.
Merge gst-build env vars in the sandbox environment, without overriding previously set PATH
values such as PKG_CONFIG_PATH.
* flatpak/flatpakutils.py:
(WebkitFlatpak.setup_gstbuild):
(WebkitFlatpak.run_in_sandbox):
2021-02-22 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Bootstrap the run-httpd script in the SDK runtime
https://bugs.webkit.org/show_bug.cgi?id=221464
Reviewed by Žan Doberšek.
* Scripts/run-webkit-httpd: On Linux platforms, run the script within the SDK runtime, if it
is available on the host system.
2021-02-21 Andres Gonzalez <andresg_22@apple.com>
Add [WebAccessibilityObjectWrapper textMarkerRangeForNSRange] to allow clients to efficiently get a TextMarkerRange from an NSRange.
https://bugs.webkit.org/show_bug.cgi?id=222154
Reviewed by Chris Fleizach and Darin Adler.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::textMarkerRangeForRange):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::textMarkerRangeForRange):
2021-02-20 Chris Fleizach <cfleizach@apple.com>
AX: Image should report the embedded accessibility description if available
https://bugs.webkit.org/show_bug.cgi?id=221875
<rdar://problem/74320584>
Reviewed by Jer Noble.
* DumpRenderTree/AccessibilityUIElement.cpp:
(getEmbeddedImageDescription):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::embeddedImageDescription const):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::embeddedImageDescription const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::embeddedImageDescription const):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::embeddedImageDescription const):
2021-02-20 Peng Liu <peng.liu6@apple.com>
Video elements do not work as sources for TexImage2D calls in GPU Process
https://bugs.webkit.org/show_bug.cgi?id=218184
Reviewed by Jer Noble.
* Scripts/generate-gpup-webgl:
2021-02-20 Jiewen Tan <jiewen_tan@apple.com>
PCM: Store and report source unlinkable tokens
https://bugs.webkit.org/show_bug.cgi?id=222208
<rdar://problem/73582032>
Reviewed by John Wilander.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setFraudPreventionValuesForTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setFraudPreventionValuesForTesting):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
Rebases some test cases.
2021-02-20 Kimmo Kinnunen <kkinnunen@apple.com>
WebGL GPU process IPC should use shared memory for asynchronous messages
https://bugs.webkit.org/show_bug.cgi?id=219641
<rdar://problem/72340651>
Reviewed by Geoff Garen.
Mark RemoteGraphicsContextGL message receiver as "Stream",
a new variant of receiver.
* Scripts/generate-gpup-webgl:
2021-02-20 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, reverting r273115.
Breaks autocorrect without the accompanying change in
rdar://problem/74211293
Reverted changeset:
"Unconditionally return information in _autofillContext SPI
when a field is focused"
https://bugs.webkit.org/show_bug.cgi?id=221828
https://commits.webkit.org/r273115
2021-02-20 Aakash Jain <aakash_jain@apple.com>
Revert r272384 [Python-3] Change shebang in git-webkit
https://bugs.webkit.org/show_bug.cgi?id=221412
Unreviewed infrastructure fix.
Revert to Python 2 for git-webkit command because of auto-install issues.
* CISupport/ews-build/steps.py:
* CISupport/ews-build/steps_unittest.py:
2021-02-19 Chris Dumez <cdumez@apple.com>
Review remaining usage of autorelease to make sure it is necessary
https://bugs.webkit.org/show_bug.cgi?id=222177
Reviewed by Geoffrey Garen.
* TestRunnerShared/mac/NSPasteboardAdditions.mm:
(+[NSPasteboard _modernPasteboardType:]):
* TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm:
(TestWebKitAPI::triggerGC):
* TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitCocoa/DeviceManagementRestrictions.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TestWebKitAPI::webViewWithDownloadMonitorSpeedMultiplier):
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
(runDragStartDataTestCase):
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[InAppBrowserSchemeHandler webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibility.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/JITEnabled.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/LocalStorageDatabaseTracker.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ReparentWebViewTimeout.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
(-[ResourceLoadStatisticsSchemeHandler webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
(-[UITestDelegate webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(webViewForScriptMessageHandlerMultipleHandlerRemovalTest):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
(-[SyncErrorScheme webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/FontManagerTests.mm:
(TestWebKitAPI::TEST):
2021-02-19 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Specify a _UIDataOwner when reading or writing from the system pasteboard
https://bugs.webkit.org/show_bug.cgi?id=222072
<rdar://problem/74208576>
Reviewed by Devin Rousso.
Add a couple of new API tests to verify that `+[UIPasteboard _performAsDataOwner:block:]` is invoked with the
expected data owner type when copying and pasting.
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
(+[TestUIPasteboard _performAsDataOwner:block:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView contentsAsString]):
Additionally add a helper method to grab a `WKWebView`'s contents as an `NSString`, just for convenience.
2021-02-19 Alex Christensen <achristensen@webkit.org>
NSError returned by WebKit API should actually conform to NSSecureCoding
https://bugs.webkit.org/show_bug.cgi?id=222204
<rdar://problem/63893583>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate waitForDidFailProvisionalNavigation]):
2021-02-16 Jiewen Tan <jiewen_tan@apple.com>
PCM: Generate secret token and corresponding unlinkable token
https://bugs.webkit.org/show_bug.cgi?id=222019
<rdar://problem/73581412>
Reviewed by John Wilander.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
Add tests.
2021-02-19 Aditya Keerthi <akeerthi@apple.com>
[iOS][FCR] Enable the new appearance by default
https://bugs.webkit.org/show_bug.cgi?id=222015
<rdar://problem/74415537>
Reviewed by Wenson Hsieh.
Rebaselined tests to account for changes to <input> and
<textarea> elements.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(DocumentEditingContext.SpatialRequestInTextField):
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(DragAndDropTests.BackgroundImageLinkToInput):
(DragAndDropTests.ContentEditableToTextarea):
(DragAndDropTests.ImageInLinkToInput):
(DragAndDropTests.LinkToInput):
(DragAndDropTests.TextAreaToInput):
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(KeyboardInputTests.SelectionClipRectsWhenPresentingInputView):
2021-02-19 Aakash Jain <aakash_jain@apple.com>
[ews] Ensure that the test failures are listed in sorted order
https://bugs.webkit.org/show_bug.cgi?id=222176
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(ReRunJavaScriptCoreTests.evaluateCommand):
(AnalyzeJSCTestsResults.start):
(RunWebKitTests.commandComplete):
(ReRunWebKitTests.evaluateCommand):
(ReRunWebKitTests.commandComplete):
* CISupport/ews-build/steps_unittest.py:
(TestAnalyzeJSCTestsResults.test_multiple_new_stress_failure):
(TestAnalyzeJSCTestsResults.test_multiple_new_binary_failure):
2021-02-19 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add clean command
https://bugs.webkit.org/show_bug.cgi?id=222135
<rdar://problem/74496504>
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):
(Git.clean): Throw away all local changes.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn):
(Svn.clean): Throw away all local changes, delete untracked files.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
(main): Add Clean command
* Scripts/libraries/webkitscmpy/webkitscmpy/program/clean.py: Added.
(Clean): Command to remove all local changes from the current checkout.
2021-02-19 Jiewen Tan <jiewen_tan@apple.com>
PCM: Request server public key to generate secret token
https://bugs.webkit.org/show_bug.cgi?id=222141
<rdar://problem/74462955>
Reviewed by John Wilander.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPrivateClickMeasurementTokenPublicKeyURLForTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setPrivateClickMeasurementTokenPublicKeyURLForTesting):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
Paperwork to add a way to set test URL.
2021-02-19 Youenn Fablet <youenn@apple.com>
Update WKWebView getUserMedia delegate to latest proposal
https://bugs.webkit.org/show_bug.cgi?id=222103
Reviewed by Eric Carlson.
Introduce UserMediaCaptureUIDelegate to share more code between tests.
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(-[NavigationWhileGetUserMediaPromptDisplayedUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]):
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm:
(-[MediaStreamTrackDetachedUIDelegate _webView:mediaCaptureStateDidChange:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(-[SpeechRecognitionUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]):
(-[SpeechRecognitionUIDelegate _webView:requestMediaCaptureAuthorization:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaDisabled.mm:
(-[UserMediaUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
(-[SimulateFailedSandboxUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]):
* TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.h: Added.
* TestWebKitAPI/cocoa/UserMediaCaptureUIDelegate.mm: Added.
(-[UserMediaCaptureUIDelegate init]):
(-[UserMediaCaptureUIDelegate wasPrompted]):
(-[UserMediaCaptureUIDelegate resetWasPrompted]):
(-[UserMediaCaptureUIDelegate waitUntilPrompted]):
(-[UserMediaCaptureUIDelegate setAudioDecision:]):
(-[UserMediaCaptureUIDelegate setVideoDecision:]):
(-[UserMediaCaptureUIDelegate _webView:requestMediaCapturePermission:video:decisionHandler:]):
(-[UserMediaCaptureUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
2021-02-18 Lauro Moura <lmoura@igalia.com>
[GLIB] Gardening debug OffscreenCanvas crashes
Unreviewed test gardening.
* TestWebKitAPI/glib/TestExpectations.json: Update bug number after
last gardening.
2021-02-18 Myles C. Maxfield <mmaxfield@apple.com>
MotionMark scores are super sensitive to a single long frame
https://bugs.webkit.org/show_bug.cgi?id=220847
<rdar://problem/74152743>
Unreviewed.
Upgrade motionmark1.1.plan to r273122.
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
2021-02-18 Ricky Mondello <rmondello@apple.com>
Unconditionally return information in _autofillContext SPI when a field is focused
https://bugs.webkit.org/show_bug.cgi?id=221828
rdar://74211237
Reviewed by Darin Adler.
Tests updated by Wenson Hsieh.
Rebaseline tests.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
(-[AutoFillTestView acceptsAutoFillLoginCredentials]): Renamed in line with the Password AutoFill-related
contract these tests are about.
2021-02-18 Alex Christensen <achristensen@webkit.org>
Add null check in _getMainResourceDataWithCompletionHandler
https://bugs.webkit.org/show_bug.cgi?id=222139
<rdar://problem/74449438>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/GetResourceData.mm:
(TEST):
2021-02-18 Alex Christensen <achristensen@webkit.org>
Fix null dereferencing in RangeResponseGenerator::giveResponseToTasksWithFinishedRanges
https://bugs.webkit.org/show_bug.cgi?id=222126
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST):
2021-02-18 Kate Cheney <katherine_cheney@apple.com>
Add support for non app-bound requests
https://bugs.webkit.org/show_bug.cgi?id=221909
<rdar://problem/73512988>
API test coverage.
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView lastNavigationWasAppBound:]):
2021-02-18 Sam Sneddon <gsnedders@apple.com>
Undeprecate some webkit-patch commands
https://bugs.webkit.org/show_bug.cgi?id=222106
Reviewed by Jonathan Bedard.
This removes the deprecated decorator from the webkit-patch commands we quickly heard are
actually used: apply-watchlist-local, check-style, clean, create-revert, prepare-revert,
and validate-changelog.
* Scripts/webkitpy/tool/commands/applywatchlistlocal.py:
* Scripts/webkitpy/tool/commands/download.py:
2021-02-18 Don Olmstead <don.olmstead@sony.com>
Skip platform specific Python tests
https://bugs.webkit.org/show_bug.cgi?id=222066
Reviewed by Jonathan Bedard.
Catalog platform specific tests based on operating system. Skip those tests that don't
apply to the platform. Mac should continue to run all tests since it runs the webkitpy
tests in EWS.
* Scripts/webkitpy/test/main.py:
2021-02-18 Aakash Jain <aakash_jain@apple.com>
[ews] Ensure that uat instance doesn't comment on bugs
https://bugs.webkit.org/show_bug.cgi?id=222035
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(SetCommitQueueMinusFlagOnPatch.getResultSummary):
(SetCommitQueueMinusFlagOnPatch.doStepIf):
(CommentOnBug.getResultSummary):
(CommentOnBug.doStepIf):
(PushCommitToWebKitRepo.doStepIf):
* CISupport/ews-build/steps_unittest.py: Updated unit-test accordingly.
2021-02-18 John Wilander <wilander@apple.com>
PCM: Request signature for unlinkable token using attributionSourceNonce
https://bugs.webkit.org/show_bug.cgi?id=222076
<rdar://73581651>
Reviewed by Chris Dumez.
The changes to the TestRunner are:
- Rename setPrivateClickMeasurementConversionURLForTesting() to
setPrivateClickMeasurementAttributionReportURLForTesting() to align with other
naming and make it clear that it does.
- Add the new setPrivateClickMeasurementTokenSignatureURLForTesting() used for
testing the token signing request.
The changes to API tests are to adopt renamed functions in
WebCore::PrivateClickMeasurement:
- reportURL() renamed attributionReportURL().
- json() renamed attributionReportJSON().
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* 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::setPrivateClickMeasurementTokenSignatureURLForTesting):
(WTR::TestRunner::setPrivateClickMeasurementAttributionReportURLForTesting):
(WTR::TestRunner::setPrivateClickMeasurementConversionURLForTesting): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setPrivateClickMeasurementTokenSignatureURLForTesting):
(WTR::TestController::setPrivateClickMeasurementAttributionReportURLForTesting):
(WTR::TestController::setPrivateClickMeasurementConversionURLForTesting): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2021-02-18 Youenn Fablet <youenn@apple.com>
Set ENABLE_VP9 to 1 on IOS
https://bugs.webkit.org/show_bug.cgi?id=222042
<rdar://problem/74433523>
Reviewed by Eric Carlson.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
Disable VP9Decoder in ios simulator since there is no support for it through VTB.
2021-02-18 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Remove all Google user agent quirks except for Google Docs
https://bugs.webkit.org/show_bug.cgi?id=222039
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk): Deleted.
2021-02-18 Alex Christensen <achristensen@webkit.org>
Disable RangeResponseGenerator again.
https://bugs.webkit.org/show_bug.cgi?id=221072
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST):
2021-02-18 Kimmo Kinnunen <kkinnunen@apple.com>
WebGL contexts do not work as source for Context2D drawImage calls in GPU process
https://bugs.webkit.org/show_bug.cgi?id=221811
Reviewed by Darin Adler.
Update two signatures for manually implemented messages.
* Scripts/generate-gpup-webgl:
2021-02-18 Alex Christensen <achristensen@webkit.org>
Add SPI for getting size of PDF document during printing
https://bugs.webkit.org/show_bug.cgi?id=222064
<rdar://problem/74370891>
Reviewed by Geoff Garen and Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/test_print.pdf: Added.
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
(-[PrintUIDelegate _webView:printFrame:pdfFirstPageSize:completionHandler:]):
(-[PrintUIDelegate waitForPageSize]):
(-[PrintUIDelegate lastPrintedFrame]):
(TEST):
2021-02-18 Antoine Quint <graouts@webkit.org>
Page updates and rAF callbacks should run at a frequency close to 60Hz on high refresh-rate displays
https://bugs.webkit.org/show_bug.cgi?id=221673
<rdar://problem/72398605>
Reviewed by Simon Fraser.
Add API tests for the methods in AnimationFrameRate.h.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/AnimationFrameRate.cpp: Added.
2021-02-17 Chris Dumez <cdumez@apple.com>
Reduce explicit usage of [objC autorelease] in WebKit even further
https://bugs.webkit.org/show_bug.cgi?id=222060
Reviewed by Darin Adler.
Reduce explicit usage of [objC autorelease] in WebKit further by using RetainPtr.
* DumpRenderTree/ios/DumpRenderTreeBrowserView.mm:
(-[DumpRenderTreeWebScrollView initWithFrame:]):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(createJSStringRef):
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
(dumpFramesAsText):
(dump):
* DumpRenderTree/mac/DumpRenderTreeWindow.mm:
* DumpRenderTree/mac/EventSendingController.mm:
(+[SyntheticTouch touchWithLocation:phase:identifier:]):
(-[EventSendingController beginDragWithFiles:]):
(+[EventSendingController replaySavedEvents]):
* DumpRenderTree/mac/PolicyDelegate.mm:
(dispositionTypeFromContentDispositionHeader):
* DumpRenderTree/mac/ResourceLoadDelegate.mm:
(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:createWebViewWithRequest:]):
* TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
(+[EventSerializer dictionaryForEvent:relativeToTime:]):
* TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(-[LayoutTestSpellChecker setResultsFromJSValue:inContext:]):
* TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm:
(TestWebKitAPI::triggerGC):
* TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegate.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegatePlugIn.mm:
(-[BundleFormDelegatePlugIn _webProcessPlugInBrowserContextController:willBeginInputSessionForElement:inFrame:userIsInteracting:]):
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TEST):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm:
(readMarkupFromPasteboard):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(-[TestContextMenuUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuAPIBeforeSPIUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuSuggestedActionsUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
(readHTMLStringFromPasteboard):
* TestWebKitAPI/Tests/WebKitCocoa/DeviceManagementRestrictions.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/DisplayName.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TestWebKitAPI::webViewWithDownloadMonitorSpeedMultiplier):
(TestWebKitAPI::mutateFile):
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[InAppBrowserSchemeHandler webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
(getNextMessage):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibility.mm:
(getNextMessage):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/JITEnabled.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/LocalStorageDatabaseTracker.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NavigationAction.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ReparentWebViewTimeout.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
(-[ResourceLoadStatisticsSchemeHandler webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(+[TestServiceLookupResult resultWithProvider:phishing:malware:unwantedSoftware:]):
(+[TestLookupResult resultWithResults:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::makeWebViewWith):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
(-[UITestDelegate webView:startURLSchemeTask:]):
(-[ModalDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(webViewForScriptMessageHandlerMultipleHandlerRemovalTest):
(TEST):
(-[AsyncScriptMessageHandler userContentController:didReceiveScriptMessage:replyHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(platformCopyRichTextWithImage):
(platformImageWithData):
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:
(-[UIDelegate _webView:configurationForLocalInspector:]):
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
(-[TaskSchemeHandler webView:startURLSchemeTask:]):
(-[SyncErrorScheme webView:startURLSchemeTask:]):
(-[FrameSchemeHandler webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:
(-[WebGLTestDelegate webView:startURLSchemeTask:]):
* TestWebKitAPI/Tests/WebKitCocoa/WebProcessKillIDBCleanup.mm:
(getNextMessage):
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(getNextMessage):
(runWebsiteDataStoreCustomPaths):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[ContentBlockingWebsitePoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[AutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(TEST):
(-[TestSchemeHandler webView:startURLSchemeTask:]):
(respond):
(-[CustomHeaderFieldsDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[WebsitePoliciesWebsiteDataStoreDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitLegacy/ios/DateTimeInputsAccessoryViewTests.mm:
(cellForRowAtIndexPath):
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
(TestWebKitAPI::swizzledResizableSnapshotViewFromRect):
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/InspectorBar.mm:
(-[InspectorBarController convertAttributes:]):
* TestWebKitAPI/Tests/mac/JavascriptURLNavigation.mm:
(-[JavascriptURLNavigationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
* TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:
(+[FrameLoadCompletionListener listenerWithCompletionBlock:]):
(TestWebKitAPI::getTestImage):
* TestWebKitAPI/Tests/mac/MemoryPressureHandler.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm:
(TEST):
* TestWebKitAPI/Tests/mac/WebViewIconLoading.mm:
(imageFromData):
* TestWebKitAPI/cocoa/TestProtocol.mm:
(additionalResponseHeaders):
(+[TestProtocol additionalResponseHeaders]):
(+[TestProtocol setAdditionalResponseHeaders:]):
(-[TestProtocol startLoading]):
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView objectByCallingAsyncFunction:withArguments:error:]):
(-[TestWKWebView initWithFrame:]):
(-[TestWKWebView initWithFrame:configuration:processPoolConfiguration:]):
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[MockDropSession initWithProviders:location:window:allowMove:]):
(-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
(-[DragAndDropSimulator _webView:willUpdateDropProposalToProposal:forSession:]):
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(defaultExternalDragImage):
(-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
(-[DragAndDropSimulator runFrom:to:]):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::createJSStringRef):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformInitializeDataStore):
(WTR::TestController::platformCreateOtherPage):
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator sendEventStream:completionBlock:]):
2021-02-17 Alex Christensen <achristensen@webkit.org>
Fix a few issues with RangeResponseGenerator
https://bugs.webkit.org/show_bug.cgi?id=222087
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST):
2021-02-17 Lauro Moura <lmoura@igalia.com>
[GTK] Gardening most common EWS flakiness
Unreviewed test gardening.
Flakiness happening mostly on a single bot. Marking them temporarily
as flaky until investigation is performed.
* TestWebKitAPI/glib/TestExpectations.json:
2021-02-17 Don Olmstead <don.olmstead@sony.com>
[Python-3] Child process environment on Windows can only contain strings
https://bugs.webkit.org/show_bug.cgi?id=222012
<rdar://problem/74437205>
Unreviewed test runner fix.
Use old Python 2 behavior of encoding when running with that version.
* Scripts/webkitpy/common/system/executive.py:
(Executive.popen):
2021-02-17 Don Olmstead <don.olmstead@sony.com>
_W3CTestConverter tests don't run on Windows
https://bugs.webkit.org/show_bug.cgi?id=221855
Reviewed by Jonathan Bedard.
In _W3CTestConverter it retrieves a relative path and then uses that to populate a
regular expression. On Windows the path separator is `\` which causes a re.error due to
a bad escape. Normalize the path to use `/` in this code.
* Scripts/webkitpy/w3c/test_converter.py:
(_W3CTestConverter.__init__):
* Scripts/webkitpy/w3c/test_converter_unittest.py:
(W3CTestConverterTest.verify_test_harness_paths):
2021-02-17 Aditya Keerthi <akeerthi@apple.com>
[iOS][FCR] Add new datalist dropdown for text inputs
https://bugs.webkit.org/show_bug.cgi?id=222008
<rdar://problem/74410513>
Reviewed by Wenson Hsieh.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::activateDataListSuggestion):
Implemented this method to enable testing selection of datalist options
on iOS.
(WTR::UIScriptControllerIOS::isShowingDataListSuggestions const):
The new appearance does not use a UIPickerView, check for the presence
of the new view controller instead.
2021-02-17 Brent Fulgham <bfulgham@apple.com>
Follow-up fix after r273023.
https://bugs.webkit.org/show_bug.cgi?id=221641
<rdar://problem/74166568>
Reviewed by Chris Dumez.
Correct the string comparison for the back/forward list test.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
2021-02-17 Chris Dumez <cdumez@apple.com>
DumpRenderTree's createWebViewAndOffscreenWindow() should return a RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=222068
Reviewed by Sam Weinig.
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
(createGlobalWebViewAndOffscreenWindow):
* DumpRenderTree/mac/DumpRenderTreeMac.h:
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:createWebViewWithRequest:]):
2021-02-17 Alex Christensen <achristensen@webkit.org>
Effectively revert r272908
https://bugs.webkit.org/show_bug.cgi?id=221072
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::runVideoTest):
(TestWebKitAPI::TEST):
2021-02-17 Sam Sneddon <gsnedders@apple.com>
Add deprecation notices to believed-unused commands in webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=222058
Reviewed by Jonathan Bedard.
This only adds notices, asking any users of the commands to comment on
https://bugs.webkit.org/show_bug.cgi?id=221991; it doesn't in any way break the commands,
and the deprecation is easily undone.
* Scripts/webkitpy/tool/commands/adduserstogroups.py:
* Scripts/webkitpy/tool/commands/analyzechangelog.py:
* Scripts/webkitpy/tool/commands/applywatchlistlocal.py:
* Scripts/webkitpy/tool/commands/bugfortest.py:
* Scripts/webkitpy/tool/commands/bugsearch.py:
* Scripts/webkitpy/tool/commands/commandtest.py:
(CommandsTest.assert_execute_outputs): Strip the warnings from unittest output to avoid changing every test
(CommandsTest._remove_deprecated_warning):
* Scripts/webkitpy/tool/commands/deprecatedcommand.py: Added. Class decorator for Commands output notice.
* Scripts/webkitpy/tool/commands/download.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
* Scripts/webkitpy/tool/commands/findusers.py:
* Scripts/webkitpy/tool/commands/gardenomatic.py:
* Scripts/webkitpy/tool/commands/openbugs.py:
* Scripts/webkitpy/tool/commands/queries.py:
* Scripts/webkitpy/tool/commands/rebaseline.py:
* Scripts/webkitpy/tool/commands/rebaseline_unittest.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/steps/runtests.py:
(RunTests.run): Deprecate running tests through webkit-patch, even indirectly.
* Scripts/webkitpy/tool/steps/runtests_unittest.py:
(RunTestsTest.test_webkit_run_unit_tests):
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest.test_runtests_args):
2021-02-17 Brent Fulgham <bfulgham@apple.com>
Expand stubs to thread actual NSURLRequest/NSURLResponse for the new simulated-request API
https://bugs.webkit.org/show_bug.cgi?id=221641
<rdar://problem/74166568>
Reviewed by Chris Dumez.
Add a new test to confirm that simulated loads work and are properly added to the
back-forward list.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:
(TEST):
2021-02-17 Chris Dumez <cdumez@apple.com>
Use smart pointer for WebView ownership in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=222009
Reviewed by Geoffrey Garen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(globalWebView):
(createWebViewAndOffscreenWindow):
(destroyGlobalWebViewAndOffscreenWindow):
(createGlobalWebViewAndOffscreenWindow):
(dumpRenderTree):
(runTest):
(destroyWebViewAndOffscreenWindow): Deleted.
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:createWebViewWithRequest:]):
2021-02-17 Don Olmstead <don.olmstead@sony.com>
[Python-3] UnicodeDecodeError when checking for an interpreter on Windows
https://bugs.webkit.org/show_bug.cgi?id=222059
Reviewed by Jonathan Bedard.
When calling open to determine which interpreter should be used Python 3 was throwing a
UnicodeDecodeError. On Python 3 an encoding of cp437 is specified since all characters are
defined in it. Python 2 does not have this problem and throws with a TypeError if an
encoding argument is passed.
* Scripts/webkitpy/common/system/executive.py:
(Executive.popen):
2021-02-17 Don Olmstead <don.olmstead@sony.com>
[Python-3] Catch winerror.ERROR_INVALID_FUNCTION in ServerProcess
https://bugs.webkit.org/show_bug.cgi?id=222047
Reviewed by Jonathan Bedard.
The catch statement in _non_blocking_read_win32 throws a TypeError because the 'error'
object is not subscriptable. The block assumed a pywintypes.error so it was modified
to catch that exception. Using the proper type stopped that occurance but surfaced
additional issues.
When shutting down the server process the call to win32pipe.PeekNamedPipe can throw a
winerror.ERROR_INVALID_FUNCTION. There isn't really any documentation on MSDN pointing to
why this error would be thrown. ERROR_INVALID_FUNCTION seems to be around device driver
issues so the best guess is that the handle is no longer valid at this point of execution.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess._non_blocking_read_win32):
2021-02-17 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Failure to retrieve commit in EWS (Investigation)
https://bugs.webkit.org/show_bug.cgi?id=222050
<rdar://problem/74439957>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.request): Increase logging.
2021-02-17 Don Olmstead <don.olmstead@sony.com>
[Python-3] Child process environment on Windows can only contain strings
https://bugs.webkit.org/show_bug.cgi?id=222012
Reviewed by Jonathan Bedard.
When running Python 3 on Windows a 'TypeError: environment can only contain strings' is
thrown during execution of run-webkit-tests. If the Executive is running on native Windows
it converts the keys and values of the environment dictionary into strings and passes them
into the popen call.
In ServerProcess it was modifying the environment as well. This code was removed so
Executive is the only place that handles this issue.
* Scripts/webkitpy/common/system/executive.py:
(Executive.popen):
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.__init__):
2021-02-17 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Support unicode when printing changelogs
https://bugs.webkit.org/show_bug.cgi?id=222044
<rdar://problem/74435276>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py:
(Find.main): Explicitly print unicode.
2021-02-17 Aakash Jain <aakash_jain@apple.com>
commit-queue should retry when it fails to commit
https://bugs.webkit.org/show_bug.cgi?id=222038
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(PushCommitToWebKitRepo):
(PushCommitToWebKitRepo.evaluateCommand):
* CISupport/ews-build/steps_unittest.py:
2021-02-17 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Introduce a new context menu item to preview images
https://bugs.webkit.org/show_bug.cgi?id=221917
<rdar://problem/74363578>
Reviewed by Darin Adler and Tim Horton.
Rebaseline an existing API test, since `ContextMenuItemTagRevealImage` is now the last valid enum.
* TestWebKitAPI/Tests/WebCore/ContextMenuAction.cpp:
(TestWebKitAPI::TEST):
2021-02-17 Diego Pino Garcia <dpino@igalia.com>
[Flatpak SDK] Script 'webkit-flatpak-run-nightly' expects different format for a built product name
https://bugs.webkit.org/show_bug.cgi?id=221950
Reviewed by Philippe Normand.
The name format for uploaded built products for WPE and GTK has
changed. Now the format is: '[release|debug]_rXXXXXX.zip'. The script
is still expecting the former name format, so it needs to be updated.
* Scripts/webkit-flatpak-run-nightly:
2021-02-17 Andres Gonzalez <andresg_22@apple.com>
Support aria-errormessage on iOS.
https://bugs.webkit.org/show_bug.cgi?id=221975
<rdar://problem/74397704>
Reviewed by Chris Fleizach.
- Added AccessibilityUIElement::errorMessageElements on iOS and MacOS,
which is used in the new test.
- For completion, added implementation for ariaErrorMessageElementAtIndex
on iOS, which is not in use at the moment.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::errorMessageElements const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::errorMessageElements const): Added.
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex): Added.
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex): Added.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::errorMessageElements const): Added.
2021-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r272636) [GTK] Crash and failures in API test /WebKit2Gtk/TestResources
https://bugs.webkit.org/show_bug.cgi?id=221672
Reviewed by Michael Catanzaro.
* TestWebKitAPI/glib/TestExpectations.json:
2021-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Reduce the use of SoupURI in unit tests in preparation for libsoup3
https://bugs.webkit.org/show_bug.cgi?id=221963
Reviewed by Adrian Perez de Castro.
Now that URL is in WTF we can just use it instead.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(testWebViewAuthenticationRequest):
(ProxyAuthenticationTest::ProxyAuthenticationTest):
(ProxyAuthenticationTest::proxyServerPortAsString):
(testWebViewAuthenticationProxy):
(testWebViewAuthenticationProxyHTTPS):
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(testLoadFailedWithTLSErrors):
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebExtensionPageID):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(ProxyTest::ProxyTest):
(ProxyTest::proxyServerPortAsString):
(testWebContextProxySettings):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(setInitialNotificationPermissionsAllowedCallback):
(setInitialNotificationPermissionsDisallowedCallback):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::run):
(WebKitTestServer::addWebSocketHandler):
(WebKitTestServer::removeWebSocketHandler):
(WebKitTestServer::getWebSocketURIForPath const):
(WebKitTestServer::getURIForPath const):
(WebKitTestServer::port const):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h:
(WebKitTestServer::baseURL const):
(WebKitTestServer::baseWebSocketURL const):
2021-02-16 Andres Gonzalez <andresg_22@apple.com>
Use makeJSArray in both AccessibilityUIElementMac/IOS.mm.
https://bugs.webkit.org/show_bug.cgi?id=221999
<rdar://problem/74407113>
Reviewed by Chris Fleizach.
We had functions makeJSArray and convertElementsToObjectArray doing
exactly the same thing, one for Mac and One for iOS.
- Moved makeJSArray to the platform independent header so it can be used
in both platforms.
- Moved the retrieval of the JS context inside makeJSArray, so that the
caller doesn't have to do that.
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
(WTR::makeJSArray): Added to platform independent header.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::elementsForRange):
(WTR::convertElementsToObjectArray): Deleted.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::rowHeaders const):
(WTR::AccessibilityUIElement::columnHeaders const):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue const):
(WTR::AccessibilityUIElement::searchTextWithCriteria):
(WTR::makeJSArray): Deleted.
2021-02-16 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Document package usage
https://bugs.webkit.org/show_bug.cgi?id=221986
<rdar://problem/74401363>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/README.md: Add library.
* Scripts/libraries/webkitscmpy/README.md:
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.from_path): Remove unneeded space.
2021-02-16 Kate Cheney <katherine_cheney@apple.com>
Clean up WKWebView media API
https://bugs.webkit.org/show_bug.cgi?id=221929
<rdar://problem/73460121>
Reviewed by Youenn Fablet.
Update naming.
* TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
(TEST):
2021-02-16 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Need new user agent quirk for Google Docs and Google Drive
https://bugs.webkit.org/show_bug.cgi?id=221845
Reviewed by Adrian Perez de Castro.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk):
(TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk):
(TestWebKitAPI::TEST):
(TestWebKitAPI::assertUserAgentForURLHasInternetExplorerBrowserQuirk): Deleted.
(TestWebKitAPI::assertUserAgentForURLHasWindowsPlatformQuirk): Deleted.
2021-02-16 Alex Christensen <achristensen@webkit.org>
Add API to disable HTTPS upgrade
https://bugs.webkit.org/show_bug.cgi?id=221591
<rdar://problem/56254945>
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:
(TEST):
2021-02-16 Chris Dumez <cdumez@apple.com>
Reduce explicit usage of [objC release] in WebKit even more
https://bugs.webkit.org/show_bug.cgi?id=221914
Reviewed by Alex Christensen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(destroyWebViewAndOffscreenWindow):
(releaseAndZero):
(runTest):
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(+[DumpRenderTreePasteboard releaseLocalPasteboards]):
* DumpRenderTree/mac/EventSendingController.mm:
(+[EventSendingController clearSavedEvents]):
* TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
(TestWebKitAPI::WebCoreNSURLSessionTest::TearDown):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(setUpCookieTestWithWebsiteDataStore):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(runTestWithWebsiteDataStore):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
* TestWebKitAPI/Tests/WebKitObjC/UserContentTest.mm:
(TEST_F):
* TestWebKitAPI/Tests/WebKitObjC/WKBrowsingContextGroupTest.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitObjC/WKBrowsingContextLoadDelegateTest.mm:
(TEST_F):
* TestWebKitAPI/Tests/ios/WKScrollViewDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/CandidateTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/DOMNodeFromJSObject.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/SubresourceErrorCrash.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/TypingStyleCrash.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/WebScriptObjectDescription.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/WebViewCanPasteURL.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/WebViewCanPasteZeroPng.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/WebViewDidCreateJavaScriptContext.mm:
(-[DidCreateJavaScriptContextFrameLoadDelegate webView:didCreateJavaScriptContext:forFrame:]):
* TestWebKitAPI/cocoa/TestProtocol.mm:
(+[TestProtocol registerWithScheme:]):
(+[TestProtocol unregister]):
* TestWebKitAPI/mac/InjectedBundleControllerMac.mm:
(TestWebKitAPI::InjectedBundleController::platformInitialize):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::addChromeInputField):
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
(+[WebKitTestRunnerPasteboard releaseLocalPasteboards]):
2021-02-16 Youenn Fablet <youenn@apple.com>
Set a default path for device ID hash salts
https://bugs.webkit.org/show_bug.cgi?id=221955
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(TestWebKitAPI::TEST):
2021-02-16 Alex Christensen <achristensen@webkit.org>
Synthesize range responses if needed in WebCoreNSURLSession
https://bugs.webkit.org/show_bug.cgi?id=221072
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebCore/ParsedContentRange.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TestWebKitAPI::clientCertServer):
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::testVideoBytes):
(TestWebKitAPI::runVideoTest):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::HTTPResponse::HTTPResponse):
(TestWebKitAPI::HTTPServer::HTTPResponse::HTTPResponse): Deleted.
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::RequestData::RequestData):
(TestWebKitAPI::appendToVector):
(TestWebKitAPI::HTTPServer::parsePath):
(TestWebKitAPI::HTTPServer::respondToRequests):
(TestWebKitAPI::HTTPResponse::bodyFromString):
(TestWebKitAPI::HTTPResponse::serialize):
2021-02-15 John Wilander <wilander@apple.com>
PCM: Add high entropy attributionSourceNonce attribute to anchor tags
https://bugs.webkit.org/show_bug.cgi?id=221934
<rdar://73581230>
Reviewed by Jiewen Tan.
In Private Click Measurement (PCM), the source site should have the option to
provide a high entropy nonce with which PCM can asynchronously validate its
subsequent, asynchronous request for a signature of its unlinkable token.
The nonce attribute's name is attributionSourceNonce and it's a
128-bit/16-byte Base64URL encoded string.
The attribute is behind the experimental feature flag
PrivateClickMeasurementFraudPrevention.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
2021-02-15 Aakash Jain <aakash_jain@apple.com>
[ews] Add python 3 support - part 2
https://bugs.webkit.org/show_bug.cgi?id=221899
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py: Map unicode() to str() for python 3, in order to keep code compatible with
both Python 2 and 3.
(ValidateCommiterAndReviewer.load_contributors): Used items instead of iteritems.
(PrintConfiguration.convert_build_to_os_name): Ditto.
* CISupport/ews-build/steps_unittest.py:
(BuildStepMixinAdditions.executedSteps): Converted filter to list comprehension.
* CISupport/ews-build/factories_unittest.py: Ditto.
2021-02-15 Jonathan Bedard <jbedard@apple.com>
[results.webkit.org] Distinguish hash and revision
https://bugs.webkit.org/show_bug.cgi?id=221861
<rdar://problem/74298457>
Reviewed by Aakash Jain.
* Scripts/libraries/resultsdbpy/resultsdbpy/controller/commit.py:
(Commit.from_json): Pass hash and revision via json.
(Commit.__init__): Convert id to hash or revision.
2021-02-15 Sam Weinig <weinig@apple.com>
Prepare for adding relative color support
https://bugs.webkit.org/show_bug.cgi?id=221881
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
Update HSLA tests to account for HSLA now using 0-360, 0-100, 0-100 bounds rather than 0-1, 0-1, 0-1.
2021-02-15 Adam Roben <aroben@apple.com>
Add `git commit -v` support to commit-log-editor
https://bugs.webkit.org/show_bug.cgi?id=221903
Reviewed by Darin Adler.
From the git-commit documentation:
-v, --verbose
Show unified diff between the HEAD commit and what would be
committed at the bottom of the commit message template to help
the user describe the commit by reminding what changes the
commit has. Note that this diff output doesn't have its lines
prefixed with #. This diff will not be a part of the commit
message. See the commit.verbose configuration variable in
git-config(1).
commit-log-editor was getting confused about the diff not being prefixed
with #. Now it looks for the "cut line" that Git puts in the log just
before the diff. It looks like this:
# ------------------------ >8 ------------------------
See https://github.com/git/git/blob/e6362826a0409539642a5738db61827e5978e2e4/wt-status.c#L24-L25
* Scripts/commit-log-editor: Keep track of whether the "cut line" has
been found. If it has, consider it and everything after it to be part
of the log contents but not the existing log message.
2021-02-14 Peng Liu <peng.liu6@apple.com>
[GPUP] Move UseGPUProcessForMediaEnabled from WebPreferencesInternal to WebPreferencesExperimental
https://bugs.webkit.org/show_bug.cgi?id=221310
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
Use `WKPreferencesSetBoolValueForKeyForTesting()` to set the preference for testing.
It works no matter the preference is internal or experimental.
2021-02-12 Chris Dumez <cdumez@apple.com>
Reduce explicit usage of [objC release] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=221780
<rdar://problem/74282389>
Reviewed by Darin Adler.
Apply review feedback from Darin Adler and Sam Weinig after r272789.
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::addChromeInputField):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::addChromeInputField):
2021-02-12 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Provide SPI to query local credentials
https://bugs.webkit.org/show_bug.cgi?id=221743
<rdar://problem/65849832>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
2021-02-12 Michael Saboff <msaboff@apple.com>
[ARM64e] Harden Mach exception handling
https://bugs.webkit.org/show_bug.cgi?id=221841
Reviewed by Geoffrey Garen.
Updated test to check that the exception type matches the one we registered for.
* TestWebKitAPI/Tests/WTF/Signals.cpp:
(TEST):
2021-02-12 Don Olmstead <don.olmstead@sony.com>
[Python-3] Use pathlib to generate file:// urls
https://bugs.webkit.org/show_bug.cgi?id=221850
Reviewed by Jonathan Bedard.
Use pathlib which can generate file:// urls for *nix and Windows. The previous logic
only worked on *nix.
Add the pathlib backport for 2.7.
* Scripts/webkitpy/__init__.py:
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(SVNTestRepository.setup):
(SVNTestRepository._setup_mock_repo):
2021-02-12 Don Olmstead <don.olmstead@sony.com>
[Python-3] base64.encodestring is deprecated
https://bugs.webkit.org/show_bug.cgi?id=221842
Reviewed by Jonathan Bedard.
In Python 3.9 base64.encodestring was completely removed. Replacing with base64.b64encode
which works in Python 2/3 and is used by the code being tested.
* Scripts/webkitpy/w3c/wpt_github_unittest.py:
(WPTGitHubTest.test_auth_token):
2021-02-12 Don Olmstead <don.olmstead@sony.com>
Run additional webkitpy tests on Windows by default
https://bugs.webkit.org/show_bug.cgi?id=221851
Reviewed by Jonathan Bedard.
The tests in WebKit/Scripts and webkitpy.common.config pass on Windows.
The WebKit/Scripts tests are not run when using Cygwin. Without any port option its
the only way to differentiate WinCairo, which doesn't use Cygwin, and AppleWin, which
does.
* Scripts/webkitpy/test/main.py:
2021-02-12 Ryan Haddad <ryanhaddad@apple.com>
REGRESSION (r268421): TestWebKitAPI.WebKit.PreferenceChanges* tests are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=221848
Unreviewed test gardening.
TestWebKitAPI.WebKit.GlobalPreferenceChangesUsingDefaultsWrite is also flaky, so disable it for Big Sur.
* TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
2021-02-12 Don Olmstead <don.olmstead@sony.com>
webkitpy.xcode only relevant for darwin platforms
https://bugs.webkit.org/show_bug.cgi?id=221837
Reviewed by Jonathan Bedard.
The tests in webkitpy.xcode are Darwin specific and should only run on that platform.
This issue was discovered when running the tests with Python 3 on Windows which failed
a number of tests in the suite. These tests may run successfully on *nix platforms but
aren't actually relevant.
* Scripts/webkitpy/test/main.py:
2021-02-12 Jonathan Bedard <jbedard@apple.com>
[webkit-patch] Post both revision and identifier to bugzilla
https://bugs.webkit.org/show_bug.cgi?id=221829
<rdar://problem/74282619>
Reviewed by Aakash Jain.
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/commands/upload_unittest.py:
* Scripts/webkitpy/tool/comments.py:
(bug_comment_from_svn_revision): Include subversion revision.
* Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
(CloseBugForLandDiffTest.test_empty_state):
2021-02-12 Jonathan Bedard <jbedard@apple.com>
[webkit-patch] Use identifiers when posting to bugzilla (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=221724
<rdar://problem/74209525>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn): Keep track of the set of mock remotes.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn._cache_path): Change the cache path if we detect the current host is being mocked.
2021-02-12 Aakash Jain <aakash_jain@apple.com>
Delete old build.webkit.org templates
https://bugs.webkit.org/show_bug.cgi?id=221692
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/templates: Removed.
2021-02-12 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Avoid hosting results on S3
https://bugs.webkit.org/show_bug.cgi?id=221822
Reviewed by Jonathan Bedard.
Reverts r271801, r272220 and r272399.
* CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
* CISupport/build-webkit-org/steps.py:
(ExtractTestResults.__init__):
(ExtractTestResults.resultDirectoryURL):
2021-02-12 Chris Dumez <cdumez@apple.com>
Reduce explicit usage of [objC release] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=221780
Reviewed by Alex Christensen.
Reduce explicit usage of [objC release] in WebKit by using smart pointers.
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::addNotificationListener):
(AccessibilityUIElement::removeNotificationListener):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::addNotificationListener):
(AccessibilityUIElement::removeNotificationListener):
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
(destroyWebViewAndOffscreenWindow):
(dumpFrameAsPDF):
(dumpBackForwardListForWebView):
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(+[DumpRenderTreePasteboard _pasteboardWithName:]):
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController mouseDown:withModifiers:]):
(-[EventSendingController mouseUp:withModifiers:]):
(-[EventSendingController mouseMoveToX:Y:]):
(-[EventSendingController keyDown:withModifiers:withLocation:]):
(-[EventSendingController sentTouchEventOfType:]):
(-[EventSendingController touchEnd]):
(-[EventSendingController touchCancel]):
* DumpRenderTree/mac/ResourceLoadDelegate.mm:
(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::applicationCacheDiskUsageForOrigin):
(TestRunner::clearApplicationCacheForOrigin):
(TestRunner::clearBackForwardList):
(TestRunner::keepWebHistory):
(TestRunner::setDatabaseQuota):
(TestRunner::setMockDeviceOrientation):
(TestRunner::setMockGeolocationPosition):
(-[APITestDelegateIPhone initWithTestRunner:utf8Data:baseURL:]):
(-[APITestDelegateIPhone dealloc]):
(-[APITestDelegateIPhone run]):
(-[APITestDelegateIPhone _cleanUp]):
(TestRunner::apiTestNewWindowDataLoadBaseURL):
(-[SynchronousLoader dealloc]):
(-[SynchronousLoader connection:didReceiveAuthenticationChallenge:]):
(+[SynchronousLoader makeRequest:withUsername:password:]):
(TestRunner::addChromeInputField):
* DumpRenderTree/mac/UIDelegate.h:
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:]):
(-[UIDelegate timerFired]):
(-[UIDelegate dealloc]):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator interpolatedEvents:]):
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::PlatformWebView):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::addChromeInputField):
* WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.h:
* WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:
(-[WebKitTestRunnerDraggingInfo dealloc]):
(-[WebKitTestRunnerDraggingInfo draggedImage]):
(-[WebKitTestRunnerDraggingInfo draggingPasteboard]):
(-[WebKitTestRunnerDraggingInfo draggingSource]):
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
(+[WebKitTestRunnerPasteboard _pasteboardWithName:]):
(-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
2021-02-12 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Delete unused Makefile
https://bugs.webkit.org/show_bug.cgi?id=221721
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/Makefile: Removed.
2021-02-12 Kimmo Kinnunen <kkinnunen@apple.com>
GPU process WebGL context toDataURL does not work for non-premultiplied contexts
https://bugs.webkit.org/show_bug.cgi?id=221748
Reviewed by Myles C. Maxfield.
Add support for generating IPC implementation for functions with RefPtr<>.
* Scripts/generate-gpup-webgl:
2021-02-12 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] commit identifier should show main instead of trunk
https://bugs.webkit.org/show_bug.cgi?id=221798
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(ShowIdentifier.__init__): Increased timeout to 10 minutes (since first run might take a while).
(ShowIdentifier.evaluateCommand):
* CISupport/build-webkit-org/steps_unittest.py: Updated unit-tests.
2021-02-12 Jonathan Bedard <jbedard@apple.com>
[webkit-patch] Use identifiers when posting to bugzilla
https://bugs.webkit.org/show_bug.cgi?id=221724
<rdar://problem/74209525>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/common/config/urls.py:
(view_identifier_url): Return commits.webkit.org identifier link.
* Scripts/webkitpy/tool/commands/download_unittest.py:
(DownloadCommandsTest.mock_svn_remote): Return a mock context for a remote Svn instance.
* Scripts/webkitpy/tool/commands/upload_unittest.py:
* Scripts/webkitpy/tool/comments.py:
(bug_comment_from_svn_revision): Query remote Subversion server to construct identifier link.
* Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
(CloseBugForLandDiffTest.test_empty_state): Mock context for a remote Svn instance.
* Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
2021-02-11 Alex Christensen <achristensen@webkit.org>
Make WebKitLegacy.CrossPartitionFileSchemeAccess stop timing out on EWS bots
https://bugs.webkit.org/show_bug.cgi?id=206956
* TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm:
This test times out sometimes, but only on bots. Let's kick the can down the road.
2021-02-11 Alex Christensen <achristensen@webkit.org>
Unreviewed, reverting r272603.
Broke test, has room for improvement
Reverted changeset:
"Synthesize range responses if needed in WebCoreNSURLSession"
https://bugs.webkit.org/show_bug.cgi?id=221072
https://trac.webkit.org/changeset/272603
2021-02-11 Don Olmstead <don.olmstead@sony.com>
[Python-3] Update pylint version
https://bugs.webkit.org/show_bug.cgi?id=221785
Reviewed by Jonathan Bedard.
Update pylint on Python 3 to version 2.6.0 which supports >=3.5.
Update pylint on Python 2.7 to the last 0.x version, 0.28.0. The logilab packages are
specific to this version only so they are moved into the block.
* Scripts/webkitpy/__init__.py:
2021-02-11 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Update PHP module configuration
https://bugs.webkit.org/show_bug.cgi?id=221776
<rdar://problem/74248860>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
(LayoutTestApacheHttpd.__init__): Optionally exclude PHP init directory.
* Scripts/webkitpy/port/base.py:
(Port._darwin_php_version): Add -x version.
2021-02-11 Lauro Moura <lmoura@igalia.com>
[WPE] Fix WPEQt tests after r272707
https://bugs.webkit.org/show_bug.cgi?id=220681
Reviewed by Carlos Garcia Campos.
Setting the title became async, so we must wait for it to be
processed.
Same patch as r271578, reapplying after original change was reapplied
in r272707.
* TestWebKitAPI/Tests/WPEQt/TestLoad.cpp:
(TestLoad::main):
* TestWebKitAPI/Tests/WPEQt/TestLoadHtml.cpp:
(TestLoadHtml::main):
* TestWebKitAPI/Tests/WPEQt/TestLoadRequest.cpp:
(TestLoadRequest::main):
* TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp:
(TestRunJavaScript::main):
2021-02-11 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use commits.webkit.org instead of trac
https://bugs.webkit.org/show_bug.cgi?id=221764
<rdar://problem/74242815>
Reviewed by Aakash Jain.
* Scripts/webkitpy/common/config/urls.py:
(view_revision_url):
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/commands/upload_unittest.py:
* Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
(CloseBugForLandDiffTest.test_empty_state):
* Scripts/webkitpy/tool/steps/commit_unittest.py:
(CommitTest._test_check_test_expectations):
* Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
(UpdateChangeLogsForRevertTest):
2021-02-11 Aakash Jain <aakash_jain@apple.com>
build.webkit.org should display commit identifier in builds
https://bugs.webkit.org/show_bug.cgi?id=221730
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(ExtractTestResults.finished):
(ShowIdentifier): build-step to show commit identifier.
(ShowIdentifier.__init__):
(ShowIdentifier.start):
(ShowIdentifier.evaluateCommand):
(ShowIdentifier.getLastBuildStepByName):
(ShowIdentifier.url_for_identifier):
(ShowIdentifier.getResultSummary): Display custom failure message.
(ShowIdentifier.hideStepIf): Hide this step if successful.
* CISupport/build-webkit-org/steps_unittest.py:
(BuildStepMixinAdditions.executedSteps): filter wasn't working as expected with python 3, replaced
with list comprehension.
(TestShowIdentifier): Added unit-tests.
(TestShowIdentifier.test_success):
(TestShowIdentifier.test_failure):
* CISupport/build-webkit-org/factories.py: Added ShowIdentifier build step.
2021-02-11 Aakash Jain <aakash_jain@apple.com>
JSC EWSes should be triggered by change in any jsc file
https://bugs.webkit.org/show_bug.cgi?id=221756
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(CheckPatchRelevance): Used generic jsc regex.
* CISupport/ews-build/steps_unittest.py: Made the unit-tests more generic by using for loop to check multiple filenames.
2021-02-11 Youenn Fablet <youenn@apple.com>
[MacOS] Enable Audio Capture in GPUProcess by default
https://bugs.webkit.org/show_bug.cgi?id=221400
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(-[GetUserMediaRepromptTestView haveStream:]):
Increase timeout since capture might require spinning GPUProcess.
2021-02-11 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Fix env forwarding for older flatpak versions
https://bugs.webkit.org/show_bug.cgi?id=221757
Rubber-stamped by Philippe Normand.
Older flatpak versions (pre 1.10) might not have been patched for the
envvar CVE that triggered the new behavior and would still be
receiving the environment through envvars instead of the --args file
descriptor.
* flatpak/webkit-bwrap:
2021-02-11 Don Olmstead <don.olmstead@sony.com>
[CMake] WEBKIT_EXECUTABLE can incorrectly link framework
https://bugs.webkit.org/show_bug.cgi?id=221703
Reviewed by Michael Catanzaro.
GTK compiles JavaScriptCore as a SHARED library but the symbols from WTF are not being
properly exposed from it. Workaround this by linking WTF directly until GTK turns on
hidden visibility and properly exports symbols.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
2021-02-11 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Support multiple builds running at the same time
https://bugs.webkit.org/show_bug.cgi?id=221711
Reviewed by Philippe Normand.
Instead of writing the environment to a file, read the --setenv
arguments from the --args file descriptor passed to webkit-bwrap like
bwrap itself would do.
* flatpak/flatpakutils.py: Do not write the env file anymore
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap: Read the environment from the args file
descriptor.
2021-02-10 Wenson Hsieh <wenson_hsieh@apple.com>
[Webpage translation] Add support for the -_translate: action on WKContentView
https://bugs.webkit.org/show_bug.cgi?id=221713
<rdar://problem/73902020>
Reviewed by Tim Horton.
Add an API test to exercise `-canPerformAction:withSender:` with the new action.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
2021-02-10 Rob Buis <rbuis@igalia.com>
Use event loop to set title
https://bugs.webkit.org/show_bug.cgi?id=218496
Reviewed by Darin Adler.
Adapt unit tests to wait for title change tasks
to be processed.
* TestWebKitAPI/Tests/WebKit/PageLoadState.cpp:
(TestWebKitAPI::didChangeTitle):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(testWebViewAuthenticationFailure):
(testWebViewAuthenticationNoCredential):
(testWebViewAuthenticationSuccess):
(testWebViewAuthenticationEmptyRealm):
* TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
(testBackForwardListNavigation):
* TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
(testWebViewTitle):
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(testLoadFailedWithTLSErrors):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettingsJavaScriptMarkup):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewTitleChange):
2021-02-10 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Produce ClientDataJSON in the SPI
https://bugs.webkit.org/show_bug.cgi?id=221623
<rdar://problem/71509394>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
2021-02-10 Ruben Turcios <rubent_22@apple.com>
Adding self to contributor.json file.
* Scripts/webkitpy/common/config/contributors.json:
2021-02-10 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r272507.
Caused TestWebKitAPI.WebKit.OnDeviceChangeCrash to become a
flaky timeout
Reverted changeset:
"[MacOS] Enable Audio Capture in GPUProcess by default"
https://bugs.webkit.org/show_bug.cgi?id=221400
https://trac.webkit.org/changeset/272507
2021-02-10 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Remove code specific to old Buildbot
https://bugs.webkit.org/show_bug.cgi?id=221558
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/buildbot.tac:
* CISupport/build-webkit-org/loadConfig.py:
* CISupport/build-webkit-org/loadConfig_unittest.py:
* CISupport/build-webkit-org/master.cfg: Removed.
* CISupport/build-webkit-org/steps.py:
(TestWithFailureCount.getText): Deleted.
(TestWithFailureCount.getText2): Deleted.
(CompileWebKit.createSummary): Deleted.
(RunWebKitTests._parseRunWebKitTestsOutput): Deleted.
(RunWebKitTests.commandComplete): Deleted.
(RunWebKitTests.getText): Deleted.
(RunWebKitTests.getText2): Deleted.
(ExtractTestResults.start): Deleted.
* CISupport/ews-build/steps.py:
* CISupport/ews-build/steps_unittest.py:
2021-02-10 Wenson Hsieh <wenson_hsieh@apple.com>
Use HAVE(PEPPER_UI_CORE) instead of PLATFORM(WATCHOS) to guard code that uses PepperUICore
https://bugs.webkit.org/show_bug.cgi?id=221679
Reviewed by Tim Horton.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(isQuickboardViewController):
2021-02-10 Aakash Jain <aakash_jain@apple.com>
[ews] Remove old build.webkit.org unit-tests
https://bugs.webkit.org/show_bug.cgi?id=221678
Reviewed by Jonathan Bedard.
* CISupport/ews-build/factories.py:
(ServicesFactory.__init__):
* CISupport/ews-build/factories_unittest.py:
(TestTestsFactory.test_services_factory):
* CISupport/ews-build/steps.py:
(ReRunWebKitPerlTests.evaluateCommand):
(RunBuildWebKitOrgOldUnitTests): Deleted.
(RunBuildWebKitOrgOldUnitTests.__init__): Deleted.
(RunBuildWebKitOrgOldUnitTests.getResultSummary): Deleted.
* CISupport/ews-build/steps_unittest.py:
(TestRunBuildWebKitOrgUnitTests.test_failure):
(TestRunBuildWebKitOrgOldUnitTests): Deleted.
(TestRunBuildWebKitOrgOldUnitTests.setUp): Deleted.
(TestRunBuildWebKitOrgOldUnitTests.tearDown): Deleted.
(TestRunBuildWebKitOrgOldUnitTests.test_success): Deleted.
(TestRunBuildWebKitOrgOldUnitTests.test_failure): Deleted.
2021-02-10 Patrick Griffis <pgriffis@igalia.com>
Update status in contributors.json
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2021-02-10 Wenson Hsieh <wenson_hsieh@apple.com>
[watchOS] Adopt PUICQuickboardController for text input
https://bugs.webkit.org/show_bug.cgi?id=221649
Reviewed by Tim Horton.
Make some small tweaks to WebKitTestRunner in support of using `PUICQuickboardController` for text input.
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
Adjust the test harness on watchOS to link against PepperUICore, so that we can reference the
`PUICQuickboardViewController` and `PUICQuickboardRemoteViewController` classes below.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(isQuickboardViewController):
(-[TestRunnerWKWebView _didPresentViewController:]):
Override `-presentViewController:animated:completion:` on the view controller below, and call this new method
on the `TestRunnerWKWebView` when a view controller is finished presenting. We need to do this to ensure that
the input view presentation callbacks continue to work after adopting `PUICQuickboardController`; see WebKit
ChangeLog for more details.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(-[PlatformWebViewController presentViewController:animated:completion:]):
2021-02-10 Aakash Jain <aakash_jain@apple.com>
[ews] Add build-step to run build.webkit.org new unit-tests
https://bugs.webkit.org/show_bug.cgi?id=219454
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(RunBuildWebKitOrgOldUnitTests): Renamed.
(RunBuildWebKitOrgUnitTests): Build step to run build.webkit.org new unit-tests.
* CISupport/ews-build/steps_unittest.py: Added unit-tests.
* CISupport/ews-build/factories.py:
(ServicesFactory.__init__): Added the new build-step, also change the step order slightly.
* CISupport/ews-build/factories_unittest.py:
2021-02-10 Brent Fulgham <bfulgham@apple.com>
Create stub methods to support finer-grained control over loading
https://bugs.webkit.org/show_bug.cgi?id=221430
<rdar://problem/73999547>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm: Added.
(TEST):
2021-02-10 Lauro Moura <lmoura@igalia.com>
[GTK] Gardening TestResources failures after r272636
Unreviewed test gardening.
* TestWebKitAPI/glib/TestExpectations.json:
2021-02-10 Kimmo Kinnunen <kkinnunen@apple.com>
RemoteGraphicsContextGLProxy should support losing the context and should lose the context on timeouts
https://bugs.webkit.org/show_bug.cgi?id=221396
Reviewed by Simon Fraser.
Generate calls to lose the context on timeouts.
Generate the send calls as calls to the helper functions to send the
messages. The helper functions will provide the non-changing arguments.
Move few messages to be implemented by hand.
* Scripts/generate-gpup-webgl:
2021-02-06 Philippe Normand <pnormand@igalia.com>
[WPE] Optionally build Cog as external project and replacement for MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=221518
Reviewed by Adrian Perez de Castro.
By passing `-DENABLE_COG=ON` during the WPE build, the Cog browser is now built as an
external project. The repository is cloned in Tools/wpe/cog and the code can be edited
there.
The run-minibrowser --wpe script will now first try to execute cog and fallback to
MiniBrowser if it wasn't found. Cog is also a MiniBrowser, but with some additional
features, see https://github.com/Igalia/cog for more informations.
* PlatformWPE.cmake: Configure Cog as an external project in developer builds.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.run_minibrowser): First check for cog, fallback to MiniBrowser if not found.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Set pkg-config path to lookup libraries in the WebKit's
build directory as well.
2021-02-09 Devin Rousso <drousso@apple.com>
[iOS] Add support for the language/subtitle tracks button using `UIMenu`
https://bugs.webkit.org/show_bug.cgi?id=221594
<rdar://problem/74129129>
Reviewed by Eric Carlson and Wenson Hsieh.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::rectForMenuAction const):
In addition to looking at the active `UICalloutBar` (if it exists), walk the view hierarchy
looking for any `UILabel` that contains the given text and use that as the rect to tap.
While this isn't the most confident/consistent approach, UIKit doesn't have anything like
`UICalloutBar` for contextmenu interactions, and this is only used inside WKTR (which has no
other UI outside than the page), so it's expected that callers know what they're doing.
2021-02-09 Chris Dumez <cdumez@apple.com>
Rename SecurityOrigin's canAccess() to isSameOriginDomain() to match HTML specification naming
https://bugs.webkit.org/show_bug.cgi?id=221630
Reviewed by Geoffrey Garen.
Rename SecurityOrigin's canAccess() to isSameOriginDomain() to match HTML specification naming:
- https://html.spec.whatwg.org/#same-origin-domain
* TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
(TestWebKitAPI::TEST_F):
2021-02-09 Alex Christensen <achristensen@webkit.org>
Fix Catalina build.
https://bugs.webkit.org/show_bug.cgi?id=221431
* TestWebKitAPI/Tests/WebKitCocoa/MediaSession.mm:
(TestWebKitAPI::TEST_F):
2021-02-09 Alex Christensen <achristensen@webkit.org>
Synthesize range responses if needed in WebCoreNSURLSession
https://bugs.webkit.org/show_bug.cgi?id=221072
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebCore/ParsedContentRange.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TestWebKitAPI::clientCertServer):
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::testVideoBytes):
(TestWebKitAPI::runVideoTest):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::HTTPResponse::HTTPResponse):
(TestWebKitAPI::HTTPServer::HTTPResponse::HTTPResponse): Deleted.
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::RequestData::RequestData):
(TestWebKitAPI::appendToVector):
(TestWebKitAPI::HTTPServer::parsePath):
(TestWebKitAPI::HTTPServer::respondToRequests):
(TestWebKitAPI::HTTPResponse::bodyFromString):
(TestWebKitAPI::HTTPResponse::serialize):
2021-02-09 Aditya Keerthi <akeerthi@apple.com>
[iOS][FCR] Use UIColorPickerViewController for color inputs
https://bugs.webkit.org/show_bug.cgi?id=221572
<rdar://problem/72183130>
Reviewed by Sam Weinig.
Added UIScriptController hooks to simulate selecting a color on the
new color picker.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::setSelectedColorForColorPicker):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::setSelectedColorForColorPicker):
2021-02-09 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Correctly parse branch commits
https://bugs.webkit.org/show_bug.cgi?id=221609
<rdar://problem/74142906>
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.commit): Only respect the last revision in a commit message.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/git-repo.json: Make one commit similar
to a cherry-pick.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.commit): Only respect the last revision in a commit message.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
(TestFind.test_hash): Change commit being tested since original commit would
resolve a revision.
2021-02-09 Daniel Kolesa <dkolesa@igalia.com>
Allow icecream toolchain override in flatpakutils
https://bugs.webkit.org/show_bug.cgi?id=221605
Reviewed by Philippe Normand.
This allows the user to specify a custom icecream toolchain.
Usually you will not want to do this, but it is useful e.g. when
you have a machine in your cluster that does not have a compiler
in the SDK. You can either force the whole version string by using
ICECC_VERSION_OVERRIDE, or append to the original string with
ICECC_VERSION_APPEND.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2021-02-09 Lauro Moura <lmoura@igalia.com>
[GLIB] Geolocation API tests are flaky timeout instead of failure
Unreviewed test gardening.
* TestWebKitAPI/glib/TestExpectations.json:
2021-02-09 Philippe Normand <pnormand@igalia.com>
[GLib] Permission request API for MediaKeySystem access support
https://bugs.webkit.org/show_bug.cgi?id=221199
Reviewed by Carlos Garcia Campos.
Added basic support for MediaKeySystem permission request to the GTK MiniBrowser, and a GLib
API unit-test as well.
* MiniBrowser/gtk/BrowserTab.c:
(permissionRequestDialogResponse):
(decidePermissionRequest):
(browser_tab_class_init):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewMediaKeySystemPermissionRequests):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView):
2021-02-09 Philippe Normand <pnormand@igalia.com>
Permission request API for MediaKeySystem access support
https://bugs.webkit.org/show_bug.cgi?id=221187
Reviewed by Jer Noble.
Add support for setting the permission request response from the TestRunner, for usage within layout tests.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setIsMediaKeySystemPermissionGranted):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::decidePolicyForMediaKeySystemPermissionRequest):
(WTR::TestController::completeMediaKeySystemPermissionCheck):
(WTR::TestController::setIsMediaKeySystemPermissionGranted):
(WTR::TestController::createWebViewWithOptions):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2021-02-09 Manuel Rego Casasnovas <rego@igalia.com>
Allow sending modifier keys in test_driver.send_keys()
https://bugs.webkit.org/show_bug.cgi?id=221466
Reviewed by Carlos Garcia Campos.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::getGDKKeySymForKeyRef): Add support for meta key.
2021-02-08 Sam Sneddon <gsnedders@apple.com>
Move layout_test_runner.Worker._update_test_input to LayoutTestRunner
https://bugs.webkit.org/show_bug.cgi?id=221577
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
(LayoutTestRunner._update_test_input):
(Worker.handle):
(Worker._run_test):
(Worker._update_test_input): Deleted.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._run_tests):
2021-02-08 Stephanie Lewis <slewis@apple.com>
<rdar://problem/70402593> Motionmark failed to start webserver
Reviewed by Dewei Zhu.
* Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
(BenchmarkBuilder.__enter__):
2021-02-08 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r272485.
https://bugs.webkit.org/show_bug.cgi?id=221588
Required revisions were reversed
Reverted changeset:
"[GLib] Permission request API for MediaKeySystem access
support"
https://bugs.webkit.org/show_bug.cgi?id=221199
https://trac.webkit.org/changeset/272485
2021-02-08 Eric Carlson <eric.carlson@apple.com>
[Mac] Connect MediaSession with MediaRemote and NowPlaying
https://bugs.webkit.org/show_bug.cgi?id=221431
<rdar://problem/74000363>
Unreviewed build fix for macOS Catalina.
* TestWebKitAPI/Tests/WebKitCocoa/MediaSession.mm:
(TestWebKitAPI::TEST_F): Add compile guards for Catalina.
2021-02-08 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r272480, r272481, and r272500.
https://bugs.webkit.org/show_bug.cgi?id=221586
Caused assertion failure seen with EME tests
Reverted changesets:
"Permission request API for MediaKeySystem access support"
https://bugs.webkit.org/show_bug.cgi?id=221187
https://trac.webkit.org/changeset/272480
"Unreviewed, build fix after r272480"
https://trac.webkit.org/changeset/272481
"Permission request API for MediaKeySystem access support"
https://bugs.webkit.org/show_bug.cgi?id=221187
https://trac.webkit.org/changeset/272500
2021-02-08 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Add HTML file that translates a builder name and number pair to a valid Buildbot URL
https://bugs.webkit.org/show_bug.cgi?id=221579
Reviewed by Ryosuke Niwa.
* CISupport/build-webkit-org/public_html/builders: Added.
* CISupport/build-webkit-org/public_html/builders/index.html: Added.
2021-02-08 Youenn Fablet <youenn@apple.com>
[MacOS] Enable Audio Capture in GPUProcess by default
https://bugs.webkit.org/show_bug.cgi?id=221400
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(-[GetUserMediaRepromptTestView haveStream:]):
Increase timeout since capture might require spinning GPUProcess.
2021-02-08 Youenn Fablet <youenn@apple.com>
NetworkRTCSocketCocoa extractDataMessages should not read too much data
https://bugs.webkit.org/show_bug.cgi?id=221544
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebCore/STUNMessageParsingTest.cpp: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2021-02-08 Alicia Boya García <aboya@igalia.com>
Add ConsoleMessage::toString()
https://bugs.webkit.org/show_bug.cgi?id=221539
Reviewed by Eric Carlson.
Added unit tests.
* TestWebKitAPI/Tests/JavaScriptCore/InspectorConsoleMessage.cpp:
(TestWebKitAPI::TEST):
2021-02-08 Sam Weinig <weinig@apple.com>
Update sRGB <-> XYZ conversion matrix values to match values in latest spec
https://bugs.webkit.org/show_bug.cgi?id=221533
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Update values to values in P3 <-> sRGB conversion test and update to
use EXPECT_FLOAT_EQ so the values can be seen in the output when thigs
fail.
2021-02-08 Lauro Moura <lmoura@igalia.com>
[GLIB] Gardening geolocation API test flakiness
Unreviewed test gardening.
Failing regularly, likely due to the same geolocation API limitation.
* TestWebKitAPI/glib/TestExpectations.json:
2021-02-08 Andres Gonzalez <andresg_22@apple.com>
Add support for aria-sort change notifications.
https://bugs.webkit.org/show_bug.cgi?id=221495
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::sortDirection const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::sortDirection const):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::currentStateValue const):
(WTR::AccessibilityUIElement::sortDirection const):
2021-02-08 Philippe Normand <pnormand@igalia.com>
[GLib] Permission request API for MediaKeySystem access support
https://bugs.webkit.org/show_bug.cgi?id=221199
Reviewed by Carlos Garcia Campos.
Added basic support for MediaKeySystem permission request to the GTK MiniBrowser, and a GLib
API unit-test as well.
* MiniBrowser/gtk/BrowserTab.c:
(permissionRequestDialogResponse):
(decidePermissionRequest):
(browser_tab_class_init):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewMediaKeySystemPermissionRequests):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView):
2021-02-08 Alicia Boya García <aboya@igalia.com>
ConsoleMessage: Don't encode string JSONLogValue's as JSON
https://bugs.webkit.org/show_bug.cgi?id=221421
Reviewed by Eric Carlson.
Added API tests to check for the output of message() when constructing
ConsoleMessage objects with JSONLogValue's.
This includes changes contributed by Philippe Normand enabling
JavaScriptCore tests which were previously disabled in WebKitGTK and
making them compile again.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/Tests/WebKit/InspectorConsoleMessage.cpp: Added.
(TestWebKitAPI::TEST):
2021-02-08 Philippe Normand <pnormand@igalia.com>
Permission request API for MediaKeySystem access support
https://bugs.webkit.org/show_bug.cgi?id=221187
Reviewed by Jer Noble.
Add support for setting the permission request response from the TestRunner, for usage within layout tests.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setIsMediaKeySystemPermissionGranted):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::decidePolicyForMediaKeySystemPermissionRequest):
(WTR::TestController::completeMediaKeySystemPermissionCheck):
(WTR::TestController::setIsMediaKeySystemPermissionGranted):
(WTR::TestController::createWebViewWithOptions):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2021-02-07 Sam Weinig <weinig@apple.com>
Remove more special cases from color conversion
https://bugs.webkit.org/show_bug.cgi?id=221519
Reviewed by Antti Koivisto.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Replace convertTo<> component type conversion to general convertColor<>.
2021-02-06 Alex Christensen <achristensen@webkit.org>
Non-special URLs should have an opaque origin
https://bugs.webkit.org/show_bug.cgi?id=162254
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2021-02-06 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Switch bot watchers dashboard to use new buildbot
https://bugs.webkit.org/show_bug.cgi?id=221493
Reviewed by Alexey Proskuryakov.
* CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
2021-02-05 Eric Carlson <eric.carlson@apple.com>
[Mac] Disable MediaSessionTest API tests
https://bugs.webkit.org/show_bug.cgi?id=221514
<rdar://74048912>
Unreviewed, disable tests that don't play well with other media tests running
at the same time.
* TestWebKitAPI/Tests/WebKitCocoa/MediaSession.mm:
(TestWebKitAPI::TEST_F):
2021-02-05 Aakash Jain <aakash_jain@apple.com>
[ews] Do not display identifier in status bubble tooltips
https://bugs.webkit.org/show_bug.cgi?id=221513
Unreviewed infrastucture fix.
* CISupport/ews-app/ews/views/statusbubble.py:
2021-02-05 Sihui Liu <sihui_liu@appe.com>
REGRESSION(r272337): crash under WebCore::SpeechRecognizer::setInactive()
https://bugs.webkit.org/show_bug.cgi?id=221451
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(TestWebKitAPI::TEST):
2021-02-05 Eric Carlson <eric.carlson@apple.com>
[Mac] Connect MediaSession with MediaRemote and NowPlaying
https://bugs.webkit.org/show_bug.cgi?id=221431
<rdar://problem/74000363>
Reviewed by Jer Noble.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/MediaSession.mm: Added.
(TestWebKitAPI::MediaSessionTest::webView):
(TestWebKitAPI::MediaSessionTest::webViewPid):
(TestWebKitAPI::MediaSessionTest::getNowPlayingClient):
(TestWebKitAPI::MediaSessionTest::getNowPlayingClientPid):
(TestWebKitAPI::MediaSessionTest::loadPageAndBecomeNowPlaying):
(TestWebKitAPI::MediaSessionTest::runScriptWithUserGesture):
(TestWebKitAPI::MediaSessionTest::play):
(TestWebKitAPI::MediaSessionTest::pause):
(TestWebKitAPI::MediaSessionTest::sendMediaRemoteCommand):
(TestWebKitAPI::MediaSessionTest::sendMediaRemoteSeekCommand):
(TestWebKitAPI::MediaSessionTest::listenForEventMessages):
(TestWebKitAPI::MediaSessionTest::eventListenerWasCalled):
(TestWebKitAPI::MediaSessionTest::waitForEventListenerToBeCalled):
(TestWebKitAPI::MediaSessionTest::listenForSessionHandlerMessages):
(TestWebKitAPI::MediaSessionTest::sessionHandlerWasCalled):
(TestWebKitAPI::MediaSessionTest::waitForSessionHandlerToBeCalled):
(TestWebKitAPI::MediaSessionTest::getSupportedCommands):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/media-remote.html: Added.
2021-02-05 Sam Weinig <weinig@apple.com>
Generalize color conversion code to reduce number of overloads required
https://bugs.webkit.org/show_bug.cgi?id=221443
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Update tests to use convertColor<>.
2021-02-05 Aakash Jain <aakash_jain@apple.com>
[ews] commit-queue should use commits.webkit.org url instead of trac url
https://bugs.webkit.org/show_bug.cgi?id=221476
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(PushCommitToWebKitRepo.url_for_revision):
* CISupport/ews-build/steps_unittest.py:
2021-02-05 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Print stderr when coredumpctl fails
https://bugs.webkit.org/show_bug.cgi?id=221448
Reviewed by Philippe Normand.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_gdb):
2021-02-05 Chris Dumez <cdumez@apple.com>
[GPUProcess][iOS] Audio is lost after media playback recovers from the GPUProcess crash
https://bugs.webkit.org/show_bug.cgi?id=221305
<rdar://problem/73904864>
Reviewed by Eric Carlson.
Unskip API test checks on iOS now that they are passing.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2021-02-05 Alicia Boya García <aboya@igalia.com>
[GTK] run-gtk-tests: Support running individual tests for GTest test suites
https://bugs.webkit.org/show_bug.cgi?id=221050
Reviewed by Adrian Perez de Castro.
run-gtk-tests accepts any number of optional `-p` arguments to run
only certain tests. Unfortunately, this feature is only currently
implemented for glib tests suites.
This patch adds support for this feature with gtest suites as well.
* glib/api_test_runner.py:
(TestRunner._run_google_test_suite):
(TestRunner._run_test):
2021-02-04 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update dashboard links for layout test results
https://bugs.webkit.org/show_bug.cgi?id=221280
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot): Set baseURLForResults.
(Buildbot.prototype.layoutTestResultsDirectoryURLForIteration): Use baseURLForResults if available.
* CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Pass baseURLForResults appropriately.
2021-02-04 Jonathan Bedard <jbedard@apple.com>
[Python-3] Change shebang in test-webkitpy (Part-2)
https://bugs.webkit.org/show_bug.cgi?id=221415
<rdar://problem/73986503>
Reviewed by Michael Catanzaro.
* CISupport/build-webkit-org/steps.py:
(RunWebKitPyTests): Run test-webkitpy with Python 3.
* Scripts/test-webkitpy: Change shebang.
* Scripts/test-webkitpy-python3: Removed.
2021-02-04 Jonathan Bedard <jbedard@apple.com>
[Python-3] Change shebang in git-webkit (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=221412
<rdar://problem/73983881>
Unreviewed follow-up fix.
* Scripts/libraries/webkitcorepy/webkitcorepy/subprocess_utils.py:
(run): Python 3.6 does not support capture_output in subprocess.run()
2021-02-04 Jonathan Bedard <jbedard@apple.com>
[Python-3] Change shebang in test-webkitpy (Part-1)
https://bugs.webkit.org/show_bug.cgi?id=221415
<rdar://problem/73986503>
Reviewed by Michael Catanzaro.
* Scripts/test-webkitpy-python2: Added.
2021-02-04 Jonathan Bedard <jbedard@apple.com>
[Python-3] Change shebang in git-webkit (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=221412
<rdar://problem/73983881>
Reviewed by Michael Catanzaro.
* CISupport/ews-build/steps.py:
(ShowIdentifier.start): Invoke git-webkit with Python 3.
* CISupport/ews-build/steps_unittest.py:
2021-02-04 Alex Christensen <achristensen@webkit.org>
Don't launch a network process when registering URL schemes
https://bugs.webkit.org/show_bug.cgi?id=221427
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
2021-02-04 Jonathan Bedard <jbedard@apple.com>
[Python-3] Change shebang in check-webkit-style
https://bugs.webkit.org/show_bug.cgi?id=221420
<rdar://problem/73990232>
Reviewed by Michael Catanzaro.
* CISupport/ews-build/steps.py:
(CheckStyle): Invoke check-webkit-style with python3.
* CISupport/ews-build/steps_unittest.py:
(TestCheckStyle.test_success_internal): Invoke check-webkit-style with python3.
(TestCheckStyle.test_failure_unknown_try_codebase): Ditto.
(TestCheckStyle.test_failures_with_style_issues): Ditto.
(test_failures_no_style_issues): Ditto.
(test_failures_no_changes): Ditto.
* Scripts/check-webkit-style: Change python shebang to Python 3.
2021-02-04 Jonathan Bedard <jbedard@apple.com>
[Python-3] Change shebang in git-webkit
https://bugs.webkit.org/show_bug.cgi?id=221412
<rdar://problem/73983881>
Reviewed by Stephanie Lewis.
* Scripts/git-webkit: Change python shebang to python3.
* Scripts/libraries/webkitscmpy/git-webkit: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize/committer.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize/message.py: Ditto.
2021-02-04 Alex Christensen <achristensen@apple.com>
REGRESSION(r267763) Network process launches earlier than before
https://bugs.webkit.org/show_bug.cgi?id=221384
<rdar://problem/73507706>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
2021-02-04 Philippe Normand <pnormand@igalia.com>
[GStreamer] Misc Thunder nitpicks
https://bugs.webkit.org/show_bug.cgi?id=221398
Reviewed by Xabier Rodriguez-Calvar.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST): Add test for Netflix WPE/GTK UA quirk.
2021-02-04 Aditya Keerthi <akeerthi@apple.com>
[macOS] Selecting a date on datetime-local inputs unexpectedly adds second and millisecond fields
https://bugs.webkit.org/show_bug.cgi?id=221350
<rdar://problem/73943517>
Reviewed by Devin Rousso.
Added a method to UIScriptController to simulate selecting a date using
the presented date picker.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::chooseDateTimePickerValue):
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::chooseDateTimePickerValue):
2021-02-04 Eleni Maria Stea <estea@igalia.com>
Modifications to Tools/wpe/install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=221254
Reviewed by Adrian Perez de Castro.
* wpe/install-dependencies: python-psutil is replaced with
python3-psutil that is present in Debian/Ubuntu/Raspbian. libegl-mesa0
is added in the dependencies list as it's required for libegl1-mesa-dev
to be installed.
2021-02-03 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Allow one user gesture free prompt for each navigation
https://bugs.webkit.org/show_bug.cgi?id=220897
<rdar://problem/73541303>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
2021-02-03 Devin Rousso <drousso@apple.com>
[iOS] delay `+[BKSMousePointerService sharedInstance]` so that it doesn't impact launch perf
https://bugs.webkit.org/show_bug.cgi?id=221298
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(iOSMouseSupport.MouseInitiallyDisconnected):
(iOSMouseSupport.MouseInitiallyConnected):
(iOSMouseSupport.MouseLaterDisconnected):
(iOSMouseSupport.MouseLaterConnected):
2021-02-03 Alex Christensen <achristensen@webkit.org>
Flaky API Test: TestWebKitAPI.WebKitLegacy.CrossPartitionFileSchemeAccess
https://bugs.webkit.org/show_bug.cgi?id=206956
Reviewed by Alexey Proskuryakov.
createPartition is timing out on the bots but not locally.
Don't hide the output of hdiutil so we can see what is happening on the bots.
* TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm:
(createPartition):
2021-02-03 Ryan Haddad <ryanhaddad@apple.com>
Replace Apple-Catalina-Release-JSC-Tests bot due to hardware failure
https://bugs.webkit.org/show_bug.cgi?id=221315
Reviewed by Alexey Proskuryakov.
* CISupport/build-webkit-org/config.json: Replace bot157 with bot610.
2021-02-03 Antoine Quint <graouts@webkit.org>
Add a loader for <model> resources
https://bugs.webkit.org/show_bug.cgi?id=221255
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
2021-02-03 Ryan Haddad <ryanhaddad@apple.com>
Big Sur test262 queues failing download-built-product step
https://bugs.webkit.org/show_bug.cgi?id=221314
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/config.json: Since we are building both x86
and arm64 on Big Sur, we need to both architectures to be listed in the
config so that the test262 bots can find the archives.
2021-02-03 Youenn Fablet <youenn@apple.com>
Enable webrtc video capture in GPUProcess for iOS WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=220966
Reviewed by Eric Carlson.
* WebKitTestRunner/TestOptions.cpp:
2021-02-02 Ryan Haddad <ryanhaddad@apple.com>
Update Test262 bot to Big Sur
https://bugs.webkit.org/show_bug.cgi?id=218844
Unreviewed infrastructure fix.
* CISupport/build-webkit-org/config.json: Remove an old trigger.
* CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Fix typo in queue name.
2021-02-02 Matt Lewis <jlewis3@apple.com>
Remove Apple macOS Mojave queues
https://bugs.webkit.org/show_bug.cgi?id=221211
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/config.json:
* CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js:
* CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.macos-mojave img.logo): Deleted.
2021-02-02 Don Olmstead <don.olmstead@sony.com>
[webkitcorepy] Autoinstaller can fail on packages containing write protected files
https://bugs.webkit.org/show_bug.cgi?id=221266
Reviewed by Jonathan Bedard.
The autoinstaller extracts an archive containing the package to a temporary directory and
then installs it from there. If the autoinstaller attempts to extract the archive again into
the same temporary directory it can fail if there was a write protected file. The extraction
will fail and the installer cannot continue until the temporary directory is cleared.
To prevent this the permissions for each file/directory in the tarball is manually set.
This was originally observed with the logilab-common package which ships with a test containing
a write protected file.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.Archive.unpack):
2021-02-02 Aakash Jain <aakash_jain@apple.com>
[ews] Commit queue failure message should indicate that cq+ flag can be set again
https://bugs.webkit.org/show_bug.cgi?id=221269
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(PushCommitToWebKitRepo.comment_text_for_bug):
* CISupport/ews-build/steps_unittest.py:
2021-02-02 Don Olmstead <don.olmstead@sony.com>
[webkitpy] WinPort.delete_sem_locks is cygwin specific
https://bugs.webkit.org/show_bug.cgi?id=221277
Reviewed by Jonathan Bedard.
WinPort.delete_sem_locks does `rm -rf /dev/shm/sem.*` which is only relavent when
running cygwin. Just put a test for cygwin around the command invocation.
* Scripts/webkitpy/port/win.py:
(WinPort.delete_sem_locks):
2021-02-02 Alex Christensen <achristensen@webkit.org>
Adopt UIEventAttribution instead of _UIEventAttribution
https://bugs.webkit.org/show_bug.cgi?id=220683
Reviewed by John Wilander.
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(-[MockEventAttribution initWithReportEndpoint:destinationURL:]):
(TestWebKitAPI::TEST):
(-[MockEventAttribution initWithReportEndpoint:attributeOn:]): Deleted.
2021-02-02 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] unzip layout-test-results in background
https://bugs.webkit.org/show_bug.cgi?id=221263
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(ExtractTestResults.__init__):
2021-02-02 Aakash Jain <aakash_jain@apple.com>
ews isn't retrying builds when kill-old-processes fails
https://bugs.webkit.org/show_bug.cgi?id=221235
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(KillOldProcesses.__init__): Increased timeout to 2 minutes.
(KillOldProcesses.evaluateCommand): Used rc since self.results is None at this step.
* CISupport/ews-build/steps_unittest.py: Updated unit-tests.
2021-02-02 Youenn Fablet <youenn@apple.com>
Recover WebRTC codecs in case of GPUProcess crash
https://bugs.webkit.org/show_bug.cgi?id=221138
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/getUserMedia.html:
2021-02-02 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Migrate WebKitTestServer to libsoup 2.48 API
https://bugs.webkit.org/show_bug.cgi?id=219160
<rdar://problem/71620310>
Reviewed by Michael Catanzaro.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(serverCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(serverCallback):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer):
(WebKitTestServer::run):
(WebKitTestServer::port const):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h:
2021-02-01 Ryan Haddad <ryanhaddad@apple.com>
Update Test262 bot to Big Sur
https://bugs.webkit.org/show_bug.cgi?id=218844
Reviewed by Yusuke Suzuki.
* CISupport/build-webkit-org/config.json:
* CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* CISupport/build-webkit-org/steps_unittest_old.py:
2021-02-01 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Optimize _WKWebAuthenticationPanelDelegate for native API
https://bugs.webkit.org/show_bug.cgi?id=221125
<rdar://problem/71509141>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]):
(-[TestWebAuthenticationPanelDelegate panel:requestLAContextForUserVerificationWithCompletionHandler:]):
(TestWebKitAPI::WebCore::reset):
(TestWebKitAPI::TEST):
2021-02-01 Don Olmstead <don.olmstead@sony.com>
[webkitscmpy] Use shutil to find scm executable paths
https://bugs.webkit.org/show_bug.cgi?id=221220
Reviewed by Jonathan Bedard.
Using /usr/bin/which is not a cross platform way to determine the path to an executable.
In Python 3 shutil gailed a which function which provides the same functionality as the
which executable and works on Windows.
Added the whichcraft library which is a backport of shutil.which to Python 2.7. If
Python 3 is available it just uses shutil directly. The library can be dropped once Python
2.7 support is jettisoned.
* Scripts/libraries/webkitscmpy/setup.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.executable):
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
2021-02-01 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Support machines without Unix signal handling
https://bugs.webkit.org/show_bug.cgi?id=221150
<rdar://problem/73769605>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/popen.py:
(PopenBase):
(PopenBase.send_signal): Handle undefined signal variables.
(PopenBase.terminate):
(PopenBase.kill):
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(Process.handler): Handle undefined signal variable.
(Process.main): Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/timeout.py:
(Timeout): Timeout class should own SIGALRM.
(Timeout.DisableAlarm.__enter__): Do not disable alarm if alarm is not available.
(Timeout.check): Pass SIGALRM owned by Timeout object.
(Timeout.bind): Do not disable alarm if alarm is not available, use SIGALRM owned by the Timeout object.
(Timeout.bind.handler): Ditto.
(Timeout.sleep): Use SIGALRM owned by the Timeout object.
2021-02-01 Alicia Boya García <aboya@igalia.com>
autoinstall.py: Don't use an XML parser to parse HTML
https://bugs.webkit.org/show_bug.cgi?id=221162
Reviewed by Jonathan Bedard.
Very recently autoinstall.py started failing becagse the page returned
by https://pypi.org/simple/fasteners/ now contains a <meta> tag, which
is not parseable as XML without the trailing slash.
Despite what an initial fix in r272041 stated, this is not caused by
invalid HTML: <meta> tags are not required to have an ending slash to
be standards compliant in any version of HTML.
This patch replaces that code to use an HTML parser instead of an XML
parser, making it more robust.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(SimplyPypiIndexPageParser):
(SimplyPypiIndexPageParser.__init__):
(SimplyPypiIndexPageParser.handle_starttag):
(SimplyPypiIndexPageParser.handle_data):
(SimplyPypiIndexPageParser.handle_endtag):
(SimplyPypiIndexPageParser.parse):
(Package.archives):
2021-02-01 Sihui Liu <sihui_liu@appe.com>
Use user media permission prompt for speech recognition
https://bugs.webkit.org/show_bug.cgi?id=221082
rdar://problem/73372499
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(-[SpeechRecognitionUIDelegate _webView:requestMediaCaptureAuthorization:decisionHandler:]):
2021-02-01 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] is_test_mode_enabled should default to True
https://bugs.webkit.org/show_bug.cgi?id=221208
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
2021-02-01 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Add @ in Error.stack if URL exists
https://bugs.webkit.org/show_bug.cgi?id=221184
Reviewed by Keith Miller.
* TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(testJSCExceptions):
2021-01-29 Don Olmstead <don.olmstead@sony.com>
[webkitpy] Thread.isAlive was renamed to Thread.is_alive
https://bugs.webkit.org/show_bug.cgi?id=221160
Reviewed by Jonathan Bedard.
Python 2.6 added threading.Thread.is_alive which aliased isAlive. In Python 3.x only
threading.Thread.is_alive is available so use that instead.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(Worker._run_test_in_another_thread):
2021-01-29 Myles C. Maxfield <mmaxfield@apple.com>
Upgrade motionmark1.1.plan to r272044
https://bugs.webkit.org/show_bug.cgi?id=221148
Reviewed by Said Abou-Hallawa.
r272044 is attempting to address extreme variance in the test.
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
2021-01-29 Dmitry Bezhetskov <dbezhetskov@igalia.com>
[WASM-References] Enable reference types by default
https://bugs.webkit.org/show_bug.cgi?id=220890
Reviewed by Yusuke Suzuki.
Enable wasm reference types by default.
* Scripts/run-jsc-stress-tests:
2021-01-29 Andres Gonzalez <andresg_22@apple.com>
Support for aria-current state changed notifications.
https://bugs.webkit.org/show_bug.cgi?id=221074
Reviewed by Chris Fleizach.
Added AccessibilityUIElement::domIdentifier and currentStateValue used
in LayoutTests/accessibility/aria-current-state-changed-notification.html.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::domIdentifier const): Non-Cocoa implementation.
(WTR::AccessibilityUIElement::currentStateValue const): Non-Cocoa implementation.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::domIdentifier const):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::currentStateValue const):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::domIdentifier const):
(WTR::AccessibilityUIElement::currentStateValue const):
2021-01-29 David Kilzer <ddkilzer@apple.com>
check-webkit-style: warn about WTF::BlockPtr use in JavaScriptCore until ARC is enabled
<https://webkit.org/b/221108>
<rdar://problem/73726640>
Reviewed by Joseph Pecoraro.
* Scripts/webkitpy/style/checkers/cpp.py:
(_is_javascriptcore_file): Add.
- Extract code to reuse from
check_identifier_name_in_declaration().
(check_include_line):
(check_language):
- Add check for use of WTF::BlockPtr.
(check_identifier_name_in_declaration):
- Use _is_javascriptcore_file().
(CppChecker):
- Add 'security/javascriptcore_wtf_blockptr' to list of
checkers.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTestBase.perform_language_rules_check):
- Add 'security/javascriptcore_wtf_blockptr' to list of
checkers for testing header includes.
(OrderOfIncludesTest.test_check_wtf_blockptr_usage_in_javascriptcore):
- Add test to detect use of WTF::BlockPtr in JavaScriptCore.
2021-01-29 Angelos Oikonomopoulos <angelos@igalia.com>
[JSC] Implement --artifact-exec-wrapper
https://bugs.webkit.org/show_bug.cgi?id=220924
Reviewed by Carlos Alberto Lopez Perez.
Add an option to specify a wrapper for executing the built
artifacts for JSC (i.e. jsc, testmasm, ...). This is useful when
crossbuilding, to be able to specify the ELF interpreter and
LD_LIBRARY_PATH for the built executables (and only those; the
scripts may well execute native binaries that shouldn't be
wrapped). It's not needed when running the tests on the remotes
(as generate-bundle will take care of all that), but helps
e.g. when running 32-bit ARM binaries on a 64-bit host and not
using the system compiler/libraries.
This patch also simplifies the bytecode cache helper by switching
the argument order and changes a couple of uses of pathToVM to
vmCommand for consistency. It should be noted that
--artifact-exec-wrapper is not compatible with
--force-architecture. That shouldn't be a problem as (a) the use
cases of the two flags don't seem to overlap and (b) the exec
wrapper can subsume the functionality of --force-architecture.
* Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh:
* Scripts/run-javascriptcore-tests:
(runTest):
(runJSCStressTests):
* Scripts/run-jsc-stress-tests:
2021-01-29 Youenn Fablet <youenn@apple.com>
[MacOS] Enable WebKitTestRunner audio and video capture in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=221035
Reviewed by Eric Carlson.
Remove the default TestOptions values and instead on MacOS rely on capture in GPUProcess.
On iOS, capture ill still happen inprocess for the time being.
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
2021-01-29 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Use a GInputStream to set the request body in preparation for libsoup3
https://bugs.webkit.org/show_bug.cgi?id=221034
Reviewed by Adrian Perez de Castro.
Add WebKitFormDataInputStream as an exception for some style checker rules.
* Scripts/webkitpy/style/checker.py:
2021-01-28 Lauro Moura <lmoura@igalia.com>
[GLIB] Gardening API release passes and some debug crashes
Unreviewed test gardening.
Many debug crashes still to be listed.
* TestWebKitAPI/glib/TestExpectations.json:
2021-01-28 Myles C. Maxfield <mmaxfield@apple.com>
Minor cleanup in CSSFontFaceSetClient
https://bugs.webkit.org/show_bug.cgi?id=221019
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::MultipleInheritanceDerived::meowCalled const):
(TestWebKitAPI::MultipleInheritanceDerived::woofCalled const):
(TestWebKitAPI::TEST):
2021-01-28 Jonathan Bedard <jbedard@apple.com>
[webkitcrepy] Handle case where pypi serves invalid html
https://bugs.webkit.org/show_bug.cgi?id=221111
<rdar://problem/73728580>
Reviewed by David Kilzer.
* Scripts/libraries/webkitcorepy/setup.py: Bump version number.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.archives): Remove possibly invalid <meta> tag from html.
2021-01-28 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Remove dead code for TestWebKit1LeaksFactory
https://bugs.webkit.org/show_bug.cgi?id=221090
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/factories.py:
(BuildAndJSCTestsFactory.__init__):
(TestWebKit1LeaksFactory): Deleted.
(TestWebKit1LeaksFactory.__init__): Deleted.
* CISupport/build-webkit-org/steps.py:
(ExtractTestResults.finished):
(ExtractTestResultsAndLeaks): Deleted.
(ExtractTestResultsAndLeaks.addCustomURLs): Deleted.
2021-01-28 Matt Lewis <jlewis3@apple.com>
Move Mac EWS to macOS Catalina.
https://bugs.webkit.org/show_bug.cgi?id=220818
Reviewed by Aakash Jain.
* CISupport/ews-build/config.json:
* CISupport/ews-build/factories_unittest.py:
(TestBuildFactory.test_generic_build_factory):
(TestBuildFactory.test_macos_build_factory):
(TestCommitQueueFactory.test_commit_queue_factory):
(TestLayoutTestsFactory.test_macos_wk1_release_factory):
(TestLayoutTestsFactory.test_macos_wk1_debug_factory):
(TestLayoutTestsFactory.test_macos_wk2_factory):
* CISupport/ews-build/steps_unittest.py:
(TestAnalyzeCompileWebKitResults.test_filter_logs_containing_error_with_no_error):
2021-01-28 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Flatpak environment JSON is prematurely deleted with flatpak-spawn calls
https://bugs.webkit.org/show_bug.cgi?id=221070
Reviewed by Philippe Normand.
To avoid nested webkit-flatpak calls overwriting/deleting whe
environment file, only create if there is no such file and only delete
in the same process that created it.
This approach has the drawback of limiting nested calls changing the
variable values and a file undeleted after a crash might avoid the
next normal invocation creating it.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2021-01-28 Alicia Boya García <aboya@igalia.com>
[GTK] run-gtk-tests: Ensure correct count when subtests are specified
https://bugs.webkit.org/show_bug.cgi?id=221049
Reviewed by Adrian Perez de Castro.
Currently the code of run-gtk-tests adds the number of skipped tests
to the count of total tests. That computation failed to take into
account the case where specific subtests are run (by means of passing
the -p argument), instead of the full test suite.
This patch fixes that, only adding to "total tests" those skipped
subtests that were also specified with the -p argument when using that
mode.
* glib/api_test_runner.py:
(TestRunner.run_tests):
2021-01-28 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Avoid "Invalid byte sequence in conversion input" errors and other encoding issues
https://bugs.webkit.org/show_bug.cgi?id=221068
Reviewed by Philippe Normand.
* flatpak/flatpakutils.py:
(WebkitFlatpak.execute_command): Decode the arguments before printing.
(WebkitFlatpak.run_in_sandbox): Avoid iterating mutating dict and
export LANG.
* flatpak/webkit-bwrap: Ignore LANG as it's exported by
flatpakutils.py.
2021-01-27 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Add basic authentication
https://bugs.webkit.org/show_bug.cgi?id=221052
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
2021-01-27 Kate Cheney <katherine_cheney@apple.com>
WKWebView closeAllMediaPresentations API does not have a completion handler
https://bugs.webkit.org/show_bug.cgi?id=220741
<rdar://problem/73045904>
Reviewed by Youenn Fablet.
Update API tests to use the new completion handler. Move from using JS
to a new SPI to check for inline video to avoid flakiness because the
JS value is async and may not be completed by the time
didExitFullscreen() is called.
Add a new case for multiple sequential calls to
closeAllMediaPresentations.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
(TEST):
2021-01-27 Devin Rousso <drousso@apple.com>
[iOS] expose existing macOS-only `-[WKWebView _pageExtendedBackgroundColor]` SPI
https://bugs.webkit.org/show_bug.cgi?id=221015
<rdar://problem/73636453>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/PageExtendedBackgroundColor.mm: Added.
(TEST.PageExtendedBackgroundColor.OnLoad):
(TEST.PageExtendedBackgroundColor.MultipleTags):
(-[WKWebViewPageExtendedBackgroundColorObserver initWithWebView:]):
(-[WKWebViewPageExtendedBackgroundColorObserver observeValueForKeyPath:ofObject:change:context:]):
(TEST.PageExtendedBackgroundColor.KVO):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2021-01-27 Alicia Boya García <aboya@igalia.com>
[GTK] run-gtk-tests: Crashing and non-existent tests should not count as a pass
https://bugs.webkit.org/show_bug.cgi?id=220863
Reviewed by Michael Catanzaro.
The current implementation doesn't account for test binaries that have
not emitted any subtests. This is the case when a test binary doesn't
exist or it crashes.
Also, in the latter case, the stderr of the crashed processes was not
being outputted to the user, masking a crashing test binary as a
passing test.
This patch fixes both issues: It adds several warning prints when
binaries can't be run or fail to add any subtest, emitting the stderr
generated by the failing or crashing binary.
* glib/api_test_runner.py:
(TestRunner._run_test):
(TestRunner.run_tests):
* glib/glib_test_runner.py:
(GLibTestRunner.run):
2021-01-27 Youenn Fablet <youenn@apple.com>
Enable GPU WebRTC codecs in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=220936
Reviewed by Eric Carlson.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2021-01-27 Philippe Normand <pnormand@igalia.com>
REGRESSION(r271634): keyring still failing to retrieve secrets
https://bugs.webkit.org/show_bug.cgi?id=221029
Reviewed by Sergio Villar Senin.
* Scripts/libraries/webkitscmpy/setup.py: Reduce version number duplication by reusing the
Version object declared in the package.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version and downgrade to
usable keyring version (in Linux at least).
2021-01-27 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r271940.
https://bugs.webkit.org/show_bug.cgi?id=221040
Some tests are failing on bots
Reverted changeset:
"[MacOS] Enable NSURLSession WebSocket code path in
WebKitTestRunner"
https://bugs.webkit.org/show_bug.cgi?id=220973
https://trac.webkit.org/changeset/271940
2021-01-27 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Test /webkit/WebKitSettings/webkit-settings is failing since r271354
https://bugs.webkit.org/show_bug.cgi?id=221033
Reviewed by Adrian Perez de Castro.
Since r271354 the font values set in WebKitSettings are always the same you get no matter what the current DPI
is. The scaling factor is applied to the font size without actually changing the setting.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings): Update the test to check the correct behavior.
* TestWebKitAPI/glib/TestExpectations.json: Remove expectation for the test.
2021-01-27 Youenn Fablet <youenn@apple.com>
[MacOS] Enable NSURLSession WebSocket code path in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=220973
Reviewed by Darin Adler.
Enable NSURLSession WebSocket code path in MacOS.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2021-01-27 Philippe Normand <pnormand@igalia.com> and Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Flatpak 1.10 environment variable issues
https://bugs.webkit.org/show_bug.cgi?id=220781
Reviewed by Adrian Perez de Castro.
Flatpak no longer passes its env variables to bwrap, so the workaround is now to serialize
it on-disk in a JSON file and load it from our webkit-bwrap script.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap:
2021-01-26 Sihui Liu <sihui_liu@appe.com>
Mute audio capture for speech recognition based on shouldInterruptAudioOnPageVisibilityChange when page is invisible
https://bugs.webkit.org/show_bug.cgi?id=220960
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-basic.html:
2021-01-26 Devin Rousso <drousso@apple.com>
Expose the value of `<meta name="theme-color" content="...">` as SPI
https://bugs.webkit.org/show_bug.cgi?id=220944
<rdar://problem/72198083>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/HTMLMetaThemeColor.mm: Added.
(TEST.HTMLMetaThemeColor.OnLoad):
(TEST.HTMLMetaThemeColor.MultipleTags):
(-[WKWebViewThemeColorObserver initWithWebView:]):
(-[WKWebViewThemeColorObserver observeValueForKeyPath:ofObject:change:context:]):
(TEST.HTMLMetaThemeColor.KVO):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2021-01-26 Lauro Moura <lmoura@igalia.com>
[GLIB] API tests fail to report harness failures
https://bugs.webkit.org/show_bug.cgi?id=220938
Reviewed by Carlos Garcia Campos.
The GLibTestRunner class parses the stdout of the child test program to
detect failures and crashes using GLib's g_test_* protocol, but the
setup and teardown of each suite/program is done manually in the
beforeAll/afterAll functions. Their output/status need to be checked
separately by the runner scripts.
This commit checks if a failure happens before any test is run (a
beforeAll failure) and if there is still pending stderr output not
processed by g_test_run (an afterAll failure).
* glib/glib_test_runner.py:
(GLibTestRunner.run):
2021-01-26 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r271578.
https://bugs.webkit.org/show_bug.cgi?id=221003
Title changes reverted made WPEQt tests fail
Reverted changeset:
"[WPE] Fix WPEQt tests after r271514"
https://bugs.webkit.org/show_bug.cgi?id=220681
https://trac.webkit.org/changeset/271578
2021-01-26 Angelos Oikonomopoulos <angelos@igalia.com>
[JSC] Do not specify remote file location to the JSConly bots
https://bugs.webkit.org/show_bug.cgi?id=220923
Reviewed by Carlos Alberto Lopez Perez.
There is no need to treat JSC buildbots that use remotes any
different. The worker side needs to supply the remote
configuration file in any case and it can also specify
--remote-config-file in TEST_JSC_ARGS.
What's more, letting the worker be in control makes it easier to
implement changes without having to request upstream configuration
changes (or, worse, temporarily overriding the configuration
recorded in config.json).
* CISupport/build-webkit-org/config.json:
* CISupport/build-webkit-org/factories.py:
(BuildAndJSCTestsFactory):
(BuildAndJSCTestsFactory.__init__):
* CISupport/build-webkit-org/steps.py:
(RunJavaScriptCoreTests.countFailures):
2021-01-26 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Stop using SoupRequest API to load files in preparation for libsoup3
https://bugs.webkit.org/show_bug.cgi?id=220509
Reviewed by Adrian Perez de Castro.
Add WebKitDirectoryInputStream.cpp as exception for style checker.
* Scripts/webkitpy/style/checker.py:
2021-01-25 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed, reverting r271514 and r271549
Made TestWebKitAPI.WebKit.PrintFrame flaky
Reverted changeset:
"Use event loop to set title"
https://bugs.webkit.org/show_bug.cgi?id=218496
https://trac.webkit.org/changeset/271514
2021-01-25 Wenson Hsieh <wenson_hsieh@apple.com>
ASSERT NOT REACHED in WebCore::DisplayList::isDrawingItem
https://bugs.webkit.org/show_bug.cgi?id=220948
<rdar://problem/73588734>
Reviewed by Tim Horton.
The API test `DisplayListTests.OutOfLineItemDecodingFailure` was intended to read from the display list copy
rather than the original list, in order to exercise the (intentional) decoding failure.
Instead, this test erroneously attempts to read from the original display list (which, importantly, doesn't have
a reading client) and ends up exercising the decoding failure anyways, but additionally hits a debug assertion
in the process. Simply fix this by reading out of the correct display list (and rename the original display list
in the process to make the test more clear).
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST)
2021-01-25 Aakash Jain <aakash_jain@apple.com>
Changes to commit-log-editor should trigger webkitpy EWS tests
https://bugs.webkit.org/show_bug.cgi?id=220953
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(CheckPatchRelevance): Added commit-log-editor to list of relevant files for webkitpy ews.
* CISupport/ews-build/steps_unittest.py: Improved unit-test to check for various file-names.
2021-01-25 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Support python layout tests
https://bugs.webkit.org/show_bug.cgi?id=220749
<rdar://problem/73375271>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder._real_tests): Exclude "tools" directories.
(LayoutTestFinder._is_test_file): Special case for web socket's *_wsh.py files.
(LayoutTestFinder._is_w3c_resource_file): Exclude w3c Python files.
2021-01-25 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r271805.
Appears to have broken generation of changed files/functions
in commit logs
Reverted changeset:
"The generated commit message have a directory label at the
first line rather than the bug's title if ChangeLogs have
different bug titles"
https://bugs.webkit.org/show_bug.cgi?id=220822
https://trac.webkit.org/changeset/271805
2021-01-25 Alex Christensen <achristensen@webkit.org>
ASSERTION FAILED: This HTTPServer does not know how to respond to a request for /Ahem.svg
https://bugs.webkit.org/show_bug.cgi?id=220949
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
A path in the test I added in r271770 was missing a / at the beginning of a path.
It passes before and after this change, but it doesn't assert after it.
2021-01-25 Aakash Jain <aakash_jain@apple.com>
[ews] Commit Queue should retry the build when update-working-directory step fails
https://bugs.webkit.org/show_bug.cgi?id=220836
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(UpdateWorkingDirectory):
(UpdateWorkingDirectory.getResultSummary): Provide better failure message.
(UpdateWorkingDirectory.evaluateCommand): Retry the build when this step fails.
* CISupport/ews-build/steps_unittest.py:
2021-01-25 Fujii Hironori <Hironori.Fujii@sony.com>
The generated commit message have a directory label at the first line rather than the bug's title if ChangeLogs have different bug titles
https://bugs.webkit.org/show_bug.cgi?id=220822
Reviewed by Darin Adler.
commit-log-editor generates the default commit message by
collecting all ChangeLog entries and merging them with prepending
directory lables. If it finds out a common prefix for all entries,
it removes the prefix from entries and hoists the prefix as the
beginning of the commit message. This step removes duplicated
lines of the bug title, the bug URL, the reviewed-by line, and the
descriptions.
If such prefix is not found, i.e. ChangeLog entries has different
bug titles, it simply merges all entries with directory labels. As
the result, the generated commit message has the directory label
at the first line. This is not desirable. The first line of the
commit message should be the bug title.
This patch yanks the first line of the first entry as the common
prefix in the case.
* Scripts/commit-log-editor:
(createCommitMessage):
(removeLongestCommonPrefixEndingInNewline):
2021-01-25 Lauro Moura <lmoura@igalia.com>
[GLIB] Gardening API failures after r271794
Unreviewed test gardening.
Looks like these failures flew under the radar by not actually being
run by run-gtk/wpe-tests, and were uncovered by r271794.
Marking them as failure to allow the EWS to run normally while they're
fixed.
* TestWebKitAPI/glib/TestExpectations.json:
2021-01-25 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Download the build archive from master when download from S3 fails
https://bugs.webkit.org/show_bug.cgi?id=220932
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(DownloadBuiltProduct):
(DownloadBuiltProduct.evaluateCommand): If this fails, run DownloadBuiltProductFromMaster.
(DownloadBuiltProductFromMaster): Build step to download archive from master using buildbot FileDownload class.
(DownloadBuiltProductFromMaster.__init__):
(DownloadBuiltProductFromMaster.getResultSummary): Custom failure message.
2021-01-25 Aakash Jain <aakash_jain@apple.com>
layout-test results shouldn't be hosted on build.webkit.org server
https://bugs.webkit.org/show_bug.cgi?id=220864
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(ExtractTestResults.resultDirectoryURL):
2021-01-25 John Wilander <wilander@apple.com>
PCM: Use different well-known locations for triggering and reporting attribution
https://bugs.webkit.org/show_bug.cgi?id=220902
<rdar://problem/73550632>
Reviewed by Brent Fulgham.
The discussion in W3C Privacy CG concluded that we should use distinct
well-known URL paths for websites triggering attribution and for the
browser reporting attribution
(https://github.com/privacycg/private-click-measurement/issues/59).
This patch changes the one location to these two:
/.well-known/private-click-measurement/trigger-attribution
/.well-known/private-click-measurement/report-attribution
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm:
(TestWebKitAPI::TEST):
2021-01-25 Razvan Caliman <rcaliman@apple.com>
Add Razvan Caliman to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=220921
Reviewed by Timothy Hatcher.
* Scripts/webkitpy/common/config/contributors.json:
2021-01-25 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r270074 and r270170.
https://bugs.webkit.org/show_bug.cgi?id=220922
Broke all GLib unit tests using a SoupServer
Reverted changesets:
"[GTK] Migrate WebKitTestServer to libsoup 2.48 API"
https://bugs.webkit.org/show_bug.cgi?id=219160
https://trac.webkit.org/changeset/270074
"[GTK] Allow WebKitTestServer to run non-loopback addresses
for API tests"
https://bugs.webkit.org/show_bug.cgi?id=219257
https://trac.webkit.org/changeset/270170
2021-01-25 Kimmo Kinnunen <kkinnunen@apple.com>
DumpRenderTree behaves differently to WebKitTestRunner wrt integrated/discrete GPU behavior
https://bugs.webkit.org/show_bug.cgi?id=220852
Reviewed by Alexey Proskuryakov.
Mark DumpRenderTree as supporting graphics switching. This lets
--prefer-integrated-gpu work as intended and compatible with WebKitTestRunner.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/Info.plist: Added.
2021-01-25 Chris Fleizach <cfleizach@apple.com>
AX: iOS: VO: Web: Column Names Not Announced
https://bugs.webkit.org/show_bug.cgi?id=220829
<rdar://problem/73469037>
Reviewed by Zalan Bujtas.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::isInTable const):
(WTR::AccessibilityUIElement::isInLandmark const):
(WTR::AccessibilityUIElement::isInList const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::isInTable const):
(WTR::AccessibilityUIElement::isInLandmark const):
(WTR::AccessibilityUIElement::isInList const):
2021-01-25 Alicia Boya García <aboya@igalia.com>
[GTK] run-gtk-tests: Use sys.exit(1) instead of return 1
https://bugs.webkit.org/show_bug.cgi?id=220860
Reviewed by Philippe Normand.
Several parts of the code in api_test_runner.py returned 1 on failure.
While common for main() functions, this is bad in functions that are
expected to return something else than an exit code, and lets the
program run after the error. sys.exit(1) should be used in those cases
instead.
* glib/api_test_runner.py:
(TestRunner._get_tests_from_google_test_suite):
(TestRunner.run_tests):
2021-01-24 Simon Fraser <simon.fraser@apple.com>
[iOS WK2] theverge.com - rubber band scrolling at the top of the page causes an abrupt jump
https://bugs.webkit.org/show_bug.cgi?id=220886
<rdar://71177566>
Reviewed by Sam Weinig.
Add test infrastructure to allow UIScriptController::scrollToOffset() and
UIScriptController::immediateScrollToOffset() to take an options argument with
a 'unconstrained' property, which allows scrolling to unstable offset to simulate
rubberbanding.
* DumpRenderTree/ios/UIScriptControllerIOS.h:
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::contentOffsetBoundedIfNecessary):
(WTR::UIScriptControllerIOS::scrollToOffset):
(WTR::UIScriptControllerIOS::immediateScrollToOffset):
(WTR::contentOffsetBoundedInValidRange): Deleted.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::scrollToOffset):
(WTR::UIScriptController::immediateScrollToOffset):
* TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp:
(WTR::toScrollToOptions):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::contentOffsetBoundedIfNecessary):
(WTR::UIScriptControllerIOS::scrollToOffset):
(WTR::UIScriptControllerIOS::immediateScrollToOffset):
(WTR::contentOffsetBoundedInValidRange): Deleted.
2021-01-23 Xan Lopez <xan@igalia.com>
[JSC] Allow to build WebAssembly without B3
https://bugs.webkit.org/show_bug.cgi?id=220365
Reviewed by Yusuke Suzuki.
* Scripts/webkitperl/FeatureList.pm: add WebAssembly B3 JIT option.
2021-01-22 Alex Christensen <achristensen@webkit.org>
REGRESSION(r266148) Cancelling a navigation in decidePolicyForNavigationAction should not suspend the previous document's font loading timer
https://bugs.webkit.org/show_bug.cgi?id=220882
<rdar://problem/71634501>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
2021-01-22 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add GitHub credentials (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=220562
<rdar://problem/73063457>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Change xmldict version.
2021-01-22 W.D. Xiong <w_xiong@apple.com>
Update run-benchmark to work with Python3
https://bugs.webkit.org/show_bug.cgi?id=220878
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver._find_http_server_port): Convert byte output to string before parsing regex
2021-01-22 Lauro Moura <lmoura@igalia.com>
[webkitpy][GTK] Xvfb driver fails to start with python3
https://bugs.webkit.org/show_bug.cgi?id=220870
Reviewed by Jonathan Bedard.
Python2 and Python3 differ in how they handle file descriptor inheritance
and Popen's close_fds default value.
In Python2, os.pipe creates the fds with the inheritable flag set, and
Popen's close_fds defaults to True.
In Python3, os.pipe creates the fds non-inheritable, requiring a call
to os.set_inheritable to enable it. Also, Popen's close_fds defaults
to False, closing all file descriptors except stdin, stdout and stderr.
With this commit, Python3 is able to launch the Xvfb driver for
run-webdriver-tests, but is still failing later with some pytest issue
to be tracked in another bug.
* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._xvfb_pipe): Make the write_fd inheritable if in py3.
(XvfbDriver._xvfb_read_display_id): Encode for py3 bytes compatibility.
(XvfbDriver._xvfb_run): Tell popen to keep the file descriptors open.
2021-01-21 Wenson Hsieh <wenson_hsieh@apple.com>
DisplayList::Replayer should stop replay and inform clients after encountering an invalid item
https://bugs.webkit.org/show_bug.cgi?id=220867
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
Adjust a few API tests, since the item handle in the `DisplayList` iterator is now optional.
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
Add a couple of new API tests to exercise display list item decoding and validation failures.
2021-01-22 Kimmo Kinnunen <kkinnunen@apple.com>
Retried tests are run without --prefer-integrated-gpu
https://bugs.webkit.org/show_bug.cgi?id=220845
Reviewed by Jonathan Bedard.
Run the test helper with --prefer-integrated-gpu also for retried tests, if
user originally passed --prefer-integrated-gpu to run-webkit-tests.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._set_up_run):
(Manager._force_pixel_tests_if_needed):
2021-01-22 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Map alternative default branch names
https://bugs.webkit.org/show_bug.cgi?id=220865
<rdar://problem/73502370>
Reviewed by Aakash Jain.
As WebKit transitions from Subversion to Git, our default branch is changing from
trunk to main. This change allow identifiers with 'main' in them to work in Subversion checkouts.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.find): Map set of common default branches to this repository's default branch.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.find): Map set of common default branches to this repository's default branch.
* Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase.find): Map set of common default branches to this repository's default branch.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_alternative_default_branch):
(TestGitHub.test_alternative_default_branch):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_alternative_default_branch):
(TestRemoteSvn.test_alternative_default_branch):
2021-01-22 Lauro Moura <lmoura@igalia.com>
[WebDriver] Add info about importing tests
https://bugs.webkit.org/show_bug.cgi?id=220786
Reviewed by Carlos Garcia Campos.
* Scripts/import-webdriver-tests: Replace optparse with argparse and
refer to the tests README.md
(Importer.import_tests):
2021-01-21 Aakash Jain <aakash_jain@apple.com>
[ews] Use github instead of svn.webkit.org to fetch contributors.json
https://bugs.webkit.org/show_bug.cgi?id=220808
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(ValidateCommiterAndReviewer): Changed url to github.
(ValidateCommiterAndReviewer.load_contributors_from_github): Renamed.
(ValidateCommiterAndReviewer.load_contributors):
2021-01-21 Aakash Jain <aakash_jain@apple.com>
Update setup-commit-queue.sh for github repo
https://bugs.webkit.org/show_bug.cgi?id=220750
Reviewed by Jonathan Bedard.
* EWSTools/setup-commit-queue.sh:
2021-01-21 Aditya Keerthi <akeerthi@apple.com>
Unreviewed, reverting r271691.
https://bugs.webkit.org/show_bug.cgi?id=220812
Introduced crash, and failing API tests.
Reverted changeset:
"[macOS] Titlebar separator doesn't show when WKWebView is scrolled"
https://bugs.webkit.org/show_bug.cgi?id=220633
https://trac.webkit.org/changeset/271691
2021-01-21 Fujii Hironori <Hironori.Fujii@sony.com>
Remove ENABLE_USERSELECT_ALL macro which is enabled for all ports
https://bugs.webkit.org/show_bug.cgi?id=100424
Reviewed by Don Olmstead.
* Scripts/webkitperl/FeatureList.pm:
2021-01-21 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Handle machines that cannot import keyring
https://bugs.webkit.org/show_bug.cgi?id=220800
<rdar://problem/73454666>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.credentials): Make keyring optional.
2021-01-21 Sam Weinig <weinig@apple.com>
Rework color clamping logic to be more consistent and clear
https://bugs.webkit.org/show_bug.cgi?id=220716
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Update tests to use new convertTo<> functions.
2021-01-21 Michael Catanzaro <mcatanzaro@gnome.org>
autoinstall python-secretstorage
https://bugs.webkit.org/show_bug.cgi?id=220796
Reviewed by Jonathan Bedard.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
* gtk/install-dependencies:
* wpe/install-dependencies:
2021-01-21 Angelos Oikonomopoulos <angelos@igalia.com>
[webkitcorepy] Don't import six at the top level
https://bugs.webkit.org/show_bug.cgi?id=220795
Reviewed by Aakash Jain.
Instead, do the import after the module has been loaded, when
AutoInstall has been set up properly. Fixes a regression after
1d342a5067e22ac8069ff3ff337b2d58e1d06517, where task_pool.py uses
the six module without it being installed.
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(ChildException.__call__):
(TaskPool.__exit__):
2021-01-21 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 Tim Horton.
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):
(ScrollWithTitlebarAdjacency):
(ScrollWithoutTitlebarAdjacency):
2021-01-20 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Gracefully handle missing keyring backend
https://bugs.webkit.org/show_bug.cgi?id=220784
Reviewed by Yusuke Suzuki.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.credentials): Handle RuntimeErrors from keyring.
2021-01-20 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Include an origin identifier when writing promised image data to the drag pasteboard
https://bugs.webkit.org/show_bug.cgi?id=220782
Reviewed by Megan Gardner.
Make a slight adjustment to an existing API test, to verify that custom pasteboard data is serialized when
dragging an image element.
* TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
2021-01-20 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add TaskPool
https://bugs.webkit.org/show_bug.cgi?id=220547
<rdar://problem/73043887>
Reviewed by Dewei Zhu.
The TaskPool object is a Python 3.8 compatible multiprocessing tool. Notable features are forwarding stdout,
stderr and logging to the parent process, exception propagation between processes, and graceful clean-up when
exceptions in the parent process are encountered
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version, add tblib.
* Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py: Added.
(Message): Base class for message passed between processes.
(Task): Message including function and arguments to that function.
(Result): Return value of a task passed to the parent process.
(Log): Pass log message from child process to parent process.
(Print): Pass stdout or stderr line from child process to parent process.
(State): Notify parent process that the child process has changed state.
(ChildException): Pass exception and stack trace from
(BiDirectionalQueue): Pair for multiprocess queues allowing for messages to be passed between processes.
(Process): Scoping class managing child-process logic.
(Process.LogHandler): Logging handler that passes log lines from the child process to it's parent.
(Process.Stream): Writable stream which passes content from the child process to the standard out or error
of that process's parent.
(Process.handler): SIGTERM should prevent future processing but allow currently in-flight tasks to complete.
(Process.main): Entry-point to child process.
(TaskPool): Managing allocation of tasks to child processes and clean up those child processes.
(TaskPool.Exception): Exception owned by TaskPool object.
(TaskPool.__init__):
(TaskPool.__enter__):
(TaskPool.do): Pass task to child processes.
(TaskPool.wait): Wait until all processes are completed.
(TaskPool.__exit__): Teardown all child processes.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py: Added.
(setup):
(teardown):
(action):
(log):
(wait):
(exception):
(TaskPoolUnittest):
(TaskPoolUnittest.test_single):
(TaskPoolUnittest.test_multiple):
(TaskPoolUnittest.test_callback):
(TaskPoolUnittest.test_exception):
(TaskPoolUnittest.test_setup):
(TaskPoolUnittest.test_teardown):
(TaskPoolUnittest.test_invalid_shutdown):
2021-01-20 Aakash Jain <aakash_jain@apple.com>
EWS should display commit identifier in builds
https://bugs.webkit.org/show_bug.cgi?id=220769
Reviewed by Jonathan Bedard.
* CISupport/ews-build/factories.py:
(Factory.__init__): Added ShowIdentifier build step.
(StyleFactory.__init__):
(WatchListFactory.__init__):
(CommitQueueFactory.__init__):
* CISupport/ews-build/steps.py:
(ShowIdentifier): build-step to show commit identifier.
(ShowIdentifier.start):
(ShowIdentifier.evaluateCommand):
(ShowIdentifier.getLastBuildStepByName):
(ShowIdentifier.url_for_identifier):
(ShowIdentifier.getResultSummary): Display custom failure message.
(ShowIdentifier.hideStepIf): Hide this step if successful.
* CISupport/ews-build/steps_unittest.py: Added unit-tests.
* CISupport/ews-build/factories_unittest.py:
2021-01-20 Youenn Fablet <youenn@apple.com>
Two pages in the same process should not be able to play media stream backed video elements at the same time
https://bugs.webkit.org/show_bug.cgi?id=220504
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/getUserMedia2.html: Added.
2021-01-20 Kate Cheney <katherine_cheney@apple.com>
Safari says "Blocked Plug-in" instead showing a PDF
https://bugs.webkit.org/show_bug.cgi?id=220665
<rdar://problem/64372944>
Reviewed by Darin Adler.
API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
(TEST):
2021-01-20 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Support alternative default pypi url on macOS (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=220744
<rdar://problem/73369338>
Unreviewed follow-up fix.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(_default_pypi_index): Ensure that "simple" is excluded from the pypi url.
2021-01-20 Youenn Fablet <youenn@apple.com>
A DOMWindow should not be reused if its JSDOMWindow has been created
https://bugs.webkit.org/show_bug.cgi?id=220658
<rdar://problem/70335075>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
2021-01-20 Youenn Fablet <youenn@apple.com>
On page close, make sure to notify of capture state immediately
https://bugs.webkit.org/show_bug.cgi?id=220588
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
2021-01-19 Sihui Liu <sihui_liu@appe.com>
Update media state for active speech recognition as it uses audio capture
https://bugs.webkit.org/show_bug.cgi?id=220667
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(-[SpeechRecognitionUIDelegate _webView:mediaCaptureStateDidChange:]):
(TestWebKitAPI::TEST):
(-[SpeechRecognitionPermissionUIDelegate _webView:requestSpeechRecognitionPermissionForOrigin:decisionHandler:]): Deleted.
(-[SpeechRecognitionPermissionUIDelegate _webView:requestMediaCaptureAuthorization:decisionHandler:]): Deleted.
(-[SpeechRecognitionPermissionUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]): Deleted.
(-[SpeechRecognitionPermissionUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): Deleted.
2021-01-19 Michael Catanzaro <mcatanzaro@gnome.org>
REGRESSION(r271506): webkit-patch keyring integration is broken on Linux
https://bugs.webkit.org/show_bug.cgi?id=220736
Reviewed by Jonathan Bedard.
r271506 updated python-keyring to the last version to support python2, but unfortunately
this version seems to be somehow incompatible with python-secretstorage, which is required
for system keyring support on Linux. This bug is fixed in newer versions of python-keyring
that do not support python2, but we still support python2, so we cannot upgrade. I've tested
several versions of python-keyring and found that version 11.1.0 is the most recent version
that supports python2 and works properly on Linux, so let's stick with that until we are
ready to give up on python2.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
2021-01-19 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Support alternative default pypi url on macOS
https://bugs.webkit.org/show_bug.cgi?id=220744
<rdar://problem/73369338>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(_default_pypi_index): Pull default pypi index from pip.conf, if available.
(AutoInstall): Set index based on result of _default_pypi_index.
2021-01-19 Jonathan Bedard <jbedard@apple.com>
[commit-queue] Cache credentials for https instead of http
https://bugs.webkit.org/show_bug.cgi?id=220746
<rdar://problem/73369984>
Reviewed by Aakash Jain.
* EWSTools/configure-svn-auth.sh:
2021-01-19 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r271606.
https://bugs.webkit.org/show_bug.cgi?id=220747
Didn't work properly
Reverted changeset:
"[update-webkit] Do not automatically use git svn rebase"
https://bugs.webkit.org/show_bug.cgi?id=220739
https://trac.webkit.org/changeset/271606
2021-01-19 Jonathan Bedard <jbedard@apple.com>
[update-webkit] Do not automatically use git svn rebase
https://bugs.webkit.org/show_bug.cgi?id=220739
<rdar://problem/73365632>
Rubber-stamped by Aakash Jain.
git svn rebase is an expensive operation, it is also usually the wrong operation
when your git checkout is already being automatically populated from Subversion
* Scripts/webkitdirs.pm:
(runGitUpdate): Replace `git svn rebase` with `git svn fetch`.
2021-01-19 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Support generating patch with main as the default branch
https://bugs.webkit.org/show_bug.cgi?id=220737
<rdar://problem/73362104>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.remote_branch_ref): Support
2021-01-19 Jonathan Bedard <jbedard@apple.com>
[GitHub] Use github.com as the source of truth for EWS
https://bugs.webkit.org/show_bug.cgi?id=220479
<rdar://problem/72941463>
Reviewed by Aakash Jain.
* CISupport/ews-build/steps.py:
(CheckOutSource.__init__): Use GitHub.com instead of git.webkit.org.
2021-01-18 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][DumpRenderTree] ASSERT(!m_channel) failed in WebSocket::contextDestroyed
https://bugs.webkit.org/show_bug.cgi?id=220450
Reviewed by Per Arne Vollan.
WebSocket::failAsynchronously() posts a deferred task calling
WebSocket::stop() by using callOnMainThread, but the task was not
executed soon because DumpRenderTree stopped running the run loop
after finishing the test.
DumpRenderTree's run loop should dispatch all deferred tasks
before finishing the current test. Deffer setting the variable
'done' by posting a application message.
* DumpRenderTree/win/DumpRenderTree.cpp: Define a application message WM_DRT_TEST_DONE.
(DumpRenderTreeWndProc): Set 'done' in the case of WM_DRT_TEST_DONE.
(dump): Post WM_DRT_TEST_DONE.
2021-01-18 Lauro Moura <lmoura@igalia.com>
[WPE] Fix WPEQt tests after r271514
https://bugs.webkit.org/show_bug.cgi?id=220681
Reviewed by Carlos Garcia Campos.
Setting the title became async, so we must wait for it to be
processed.
* TestWebKitAPI/Tests/WPEQt/TestLoad.cpp:
(TestLoad::main):
* TestWebKitAPI/Tests/WPEQt/TestLoadHtml.cpp:
(TestLoadHtml::main):
* TestWebKitAPI/Tests/WPEQt/TestLoadRequest.cpp:
(TestLoadRequest::main):
* TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp:
(TestRunJavaScript::main):
2021-01-17 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add GitHub credentials (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=220562
<rdar://problem/73063457>
Unreviewed follow-up fix.
* Scripts/webkitpy/__init__.py: Ensure that webkitscmpy's dependencies are auto installed.
2021-01-15 Alexey Proskuryakov <ap@apple.com>
Build fixes with newer clang
https://bugs.webkit.org/show_bug.cgi?id=220679
Reviewed by Mark Lam.
* DumpRenderTree/mac/LayoutTestHelper.m:
(lockDownDiscreteGraphics):
(addSleepAssertions):
Added "static" to functions without prototypes.
2021-01-15 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Cache credentials from keychain
https://bugs.webkit.org/show_bug.cgi?id=220671
<rdar://problem/73262349>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.credentials): Cache credentials from keychain even when not specified by the user.
2021-01-15 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Make UI parsing for parent commits more flexible
https://bugs.webkit.org/show_bug.cgi?id=220661
<rdar://problem/73256932>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.__init__): Handle commit links in the UI using both 'commits/' URLs and 'tree-commit/'.
2021-01-15 Philippe Normand <pnormand@igalia.com>
[GStreamer] Clean-up the TextSink
https://bugs.webkit.org/show_bug.cgi?id=220651
Reviewed by Xabier Rodriguez-Calvar.
* Scripts/webkitpy/style/checker.py: Add GStreamer TextSink implementation to GObject
classes allow-list.
2021-01-15 Rob Buis <rbuis@igalia.com>
Use event loop to set title
https://bugs.webkit.org/show_bug.cgi?id=218496
Reviewed by Ryosuke Niwa.
Adapt unit tests to wait for title change tasks
to be processed.
* TestWebKitAPI/Tests/WebKit/PageLoadState.cpp:
(TestWebKitAPI::didChangeTitle):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
2021-01-15 Philippe Normand <pnormand@igalia.com>
[GStreamer] Clean-up the TextCombiner
https://bugs.webkit.org/show_bug.cgi?id=220463
Reviewed by Xabier Rodriguez-Calvar.
* Scripts/webkitpy/style/checker.py: Add GStreamer TextCombiner implementation to GObject
classes allow-list.
2021-01-14 Aditya Keerthi <akeerthi@apple.com>
[Cocoa] Strip DataDetectors links when copying content to the pasteboard
https://bugs.webkit.org/show_bug.cgi?id=220526
<rdar://problem/71045590>
Reviewed by Ryosuke Niwa.
Added API tests to verify DataDetectors links are not preserved when
copying/pasting WebArchives and rich text.
* TestWebKitAPI/Tests/WebKitCocoa/CopyRTF.mm:
(StripsDataDetectorsLinks):
* TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
(StripsDataDetectorsLinks):
2021-01-14 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add GitHub credentials
https://bugs.webkit.org/show_bug.cgi?id=220562
<rdar://problem/73063457>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version, add keyring.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub):
(GitHub.__enter__): Set username and token in environment.
(GitHub.__exit__): Unset username and token in environment.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
(GitHub.__init__):
(GitHub.credentials): Search for credentials in both environment and keyring before
prompting user.
(GitHub.request): Use GitHub credentials, if they are available.
* Scripts/webkitpy/__init__.py: Move keyring to webkitscmpy.
* Scripts/webkitpy/common/net/credentials.py: New version of keyring prints output when
Imported, suppress this output.
2021-01-14 Alex Christensen <achristensen@webkit.org>
Add dotless j and small N to unicode lookalike character list
https://bugs.webkit.org/show_bug.cgi?id=220632
<rdar://problem/72101901>
Reviewed by David Kilzer.
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2021-01-14 Aakash Jain <aakash_jain@apple.com>
EWS should correctly identify the OS for Big Sur dot releases
https://bugs.webkit.org/show_bug.cgi?id=220622
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(PrintConfiguration.convert_build_to_os_name): Change 11.0 to 11 since we use startswith() for matching.
2021-01-13 Tim Horton <timothy_horton@apple.com>
REGRESSION (r266634): Messages crashes sometimes while scrolling around and playing YouTube videos
https://bugs.webkit.org/show_bug.cgi?id=220602
<rdar://problem/70402593>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/PlatformWebView.h:
Mark PlatformWebView noncopyable, since it is effectively noncopyable
(at least, the macOS implementation will overrelease the view if you
copy it, whoops).
* TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
(TestWebKitAPI::TEST):
Add a matching dispatch_async, or this test fails.
2021-01-13 Alex Christensen <achristensen@webkit.org>
Remove deprecated script and stylesheet SPI, replaced with more inclusively-named SPI
https://bugs.webkit.org/show_bug.cgi?id=214937
Fix iOS build after r271457.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
2021-01-13 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] "Correct Spelling Automatically" menu items are inconsistent when autocorrect="off"
https://bugs.webkit.org/show_bug.cgi?id=220598
<rdar://problem/71713611>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/DisableAutomaticSpellingCorrection.mm: Added.
Add a new API test to verify that the `NSMenuItem` for toggling automatic spelling correction is invalid when
editing inside a form control with autocorrect="off".
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::getMenuItemEnabledCallback):
Add the readonly `enabled` JS property on context menu items. See the new layout test,
editing/mac/spelling/disable-automatic-spelling-correction-context-menu-item.html, for more information.
2021-01-13 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Handle single commit touching multiple branches
https://bugs.webkit.org/show_bug.cgi?id=220601
<rdar://problem/73165609>
Reviewed by Stephanie Lewis.
In WebKit's history, there are a few cases of commits that touch multiple branches (like
https://trac.webkit.org/changeset/92419/webkit). These types of commits are not correct,
but we need to handle them if they are in the history of a branch.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn._cache_revisions): Branches only intersect trunk when two sequential commits are from trunk.
(Svn.commit): Support case where no commit time can be found.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn._cache_revisions): Branches only intersect trunk when two sequential commits are from trunk.
(Svn.commit): Support case where no commit time can be found.
2021-01-13 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Use PostgreSQL for new build.webkit.org database
https://bugs.webkit.org/show_bug.cgi?id=220589
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
2021-01-13 Sam Sneddon <gsnedders@apple.com>
Avoid over-aggressive clearing of *.pyc files running webkitpy tests
https://bugs.webkit.org/show_bug.cgi?id=220594
Reviewed by Darin Adler.
* Scripts/webkitpy/test/finder.py:
(source_from_cache): Added fallback for PY2
(_DirectoryTree.clean): Change to use imported/fallback source_from_cache
2021-01-13 Diego Pino Garcia <dpino@igalia.com>
[buildbot] WebKitGTK(GTK4) isn't triggered after a binary build
https://bugs.webkit.org/show_bug.cgi?id=220586
Reviewed by Aakash Jain.
r269945 added a new WebKitGTK (GTK4) post-commit bot that runs several test suites
(layout-test, api-tests and webdriver-tests). The bot was expected to run after
every binary build, however that wasn't happening because the bot wasn't set as
triggerable.
* CISupport/build-webkit-org/config.json:
2021-01-12 Angelos Oikonomopoulos <angelos@igalia.com>
Implement serial tests for the ruby test writer
https://bugs.webkit.org/show_bug.cgi?id=220360
Reviewed by Yusuke Suzuki.
This is a verbatim copy of the implementation in the default writer.
* Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
2021-01-12 Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com>
Invoke ccache properly on macOS aarch64
https://bugs.webkit.org/show_bug.cgi?id=220497
Reviewed by Darin Adler.
For macOS aarch64, the current homebrew recommends to install homebrew to `/opt/homebrew`.
https://docs.brew.sh/Installation
This patch adds it to the list which `ccache-wrapper` searches.
* ccache/ccache-wrapper:
2021-01-12 BJ Burg <bburg@apple.com>
[Cocoa] Web Inspector: move browser domain activation methods back to WKWebView and UIDelegate
https://bugs.webkit.org/show_bug.cgi?id=220480
Reviewed by Devin Rousso.
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:
(-[UIDelegate _webViewDidEnableInspectorBrowserDomain:]):
(-[UIDelegate _webViewDidDisableInspectorBrowserDomain:]):
(-[InspectorDelegate inspectorDidEnableBrowserDomain:]): Deleted.
(-[InspectorDelegate inspectorDidDisableBrowserDomain:]): Deleted.
Adapt to new location for delegate methods.
2021-01-12 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r265044): [macOS] Safari autocorrects text when typing in login field on amazon.com
https://bugs.webkit.org/show_bug.cgi?id=220556
<rdar://problem/71602937>
Reviewed by Darin Adler.
Add an API test that uses WebKit C API (`WKBundleNodeHandleSetHTMLInputElementSpellcheckEnabled`) to disable or
enable spellchecking on input elements.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/DisableSpellcheck.mm: Added.
* TestWebKitAPI/Tests/WebKitCocoa/DisableSpellcheckPlugIn.mm: Added.
(-[DisableSpellcheckPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[DisableSpellcheckPlugIn webProcessPlugInBrowserContextController:didClearWindowObjectForFrame:inScriptWorld:]):
(-[DisableSpellcheckPlugIn webProcessPlugInBrowserContextController:didFinishLoadForFrame:]):
2021-01-12 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update force schedulers as per new buildbot
https://bugs.webkit.org/show_bug.cgi?id=220544
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/loadConfig.py:
(loadBuilderConfig):
2021-01-11 Lauro Moura <lmoura@igalia.com>
[WPE] Gardening API test crash
Unreviewed test gardening.
* TestWebKitAPI/glib/TestExpectations.json:
2021-01-11 Sihui Liu <sihui_liu@appe.com>
Make SpeechRecognition permission error more informative
https://bugs.webkit.org/show_bug.cgi?id=220436
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(TestWebKitAPI::TEST):
2021-01-11 Wenson Hsieh <wenson_hsieh@apple.com>
ASSERTION FAILED: !event || event.type == NSEventTypeLeftMouseDown || event.type == NSEventTypeRightMouseDown || event.type == NSEventTypeOtherMouseDown
https://bugs.webkit.org/show_bug.cgi?id=220520
<rdar://problem/73007898>
Reviewed by Tim Horton.
Fix the assertion by synthesizing a "mouse down" event instead of "mouse entered".
* TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:
(TestWebKitAPI::TEST):
2021-01-11 BJ Burg <bburg@apple.com>
Unreviewed, update my contributor information.
* Scripts/webkitpy/common/config/contributors.json:
2021-01-11 Youenn Fablet <youenn@apple.com>
WebProcessPool::establishWorkerContextConnectionToNetworkProcess should make sure to remove the selected process from the cache
https://bugs.webkit.org/show_bug.cgi?id=220503
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2021-01-11 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Stop using deprecated addFactoryArguments method
https://bugs.webkit.org/show_bug.cgi?id=220513
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
2021-01-11 Aakash Jain <aakash_jain@apple.com>
[ews] Add python 3 support - part 1
https://bugs.webkit.org/show_bug.cgi?id=220510
Reviewed by Jonathan Bedard.
* CISupport/ews-build/email_unittest.py:
* CISupport/ews-build/loadConfig.py:
* CISupport/ews-build/loadConfig_unittest.py:
2021-01-11 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Add MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=220359
Reviewed by Don Olmstead.
Add PlayStation MiniBrowser sources and CMakeLists.txt.
* MiniBrowser/playstation/CMakeLists.txt: Added.
* MiniBrowser/playstation/ImageButton.cpp: Added.
* MiniBrowser/playstation/ImageButton.h: Added.
* MiniBrowser/playstation/MainWindow.cpp: Added.
* MiniBrowser/playstation/MainWindow.h: Added.
* MiniBrowser/playstation/StringUtils.h: Added.
* MiniBrowser/playstation/TitleBar.cpp: Added.
* MiniBrowser/playstation/TitleBar.h: Added.
* MiniBrowser/playstation/ToolkittenUtils.h: Added.
* MiniBrowser/playstation/URLBar.cpp: Added.
* MiniBrowser/playstation/URLBar.h: Added.
* MiniBrowser/playstation/WebContext.cpp: Added.
* MiniBrowser/playstation/WebContext.h: Added.
* MiniBrowser/playstation/WebViewWindow.cpp: Added.
* MiniBrowser/playstation/WebViewWindow.h: Added.
* MiniBrowser/playstation/main.cpp: Added.
(loadLibraryOrExit):
(initialize):
(ApplicationClient::updateApplication):
(main):
* PlatformPlayStation.cmake: Added.
2021-01-09 Lauro Moura <lmoura@igalia.com>
[GStreamer] Build failure with gst-build: Missing gst/audio/audio.h
https://bugs.webkit.org/show_bug.cgi?id=220494
Reviewed by Philippe Normand.
Make the tests include the audio headers for gst/audio/audio. It is
included in TestUIClient through WebPreferences -> IPC::Decoder ->
SharedBuffer -> GStreamerCommon.
* TestWebKitAPI/glib/CMakeLists.txt:
2021-01-08 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Provide command to automatically configure git-svn
https://bugs.webkit.org/show_bug.cgi?id=220442
<rdar://problem/72908233>
Reviewed by Yusuke Suzuki.
Add commands to update repository and connect a git repository to a subversion repository.
* Scripts/git-webkit: Define subversion URL.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.pull): Add function to update repository with the remote.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.pull): Add function to update repository with the remote.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.__init__): Suppress exception when metadata cache is invalid.
(Svn.pull): Add function to update repository with the remote.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): Use tabs in git config, add 'git svn fetch' and 'git pull' commands.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.__init__): Add 'svn up' command.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
(main): Add Pull and SetupGitSvn commands.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(Command.parser): Support use of the default parser.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/pull.py: Added.
(Pull): Update the current repository from its remote.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/setup_git_svn.py: Added.
(SetupGitSvn): Add command which populates the .git config file with information
linking to a subversion repository.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_git_svn_unittest.py: Added.
(TestSetupGitSvn):
(TestSetupGitSvn.test_svn):
(TestSetupGitSvn.test_empty):
(TestSetupGitSvn.test_add):
2021-01-08 Jer Noble <jer.noble@apple.com>
Unreviewed test gardening. Attempting to diagnose failing PiP API tests by enabling more logging
during the test run, to be collected after a failed test.
* DumpRenderTree/DumpRenderTree.xcodeproj/xcshareddata/xcschemes/DumpRenderTree.xcscheme:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme:
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ExitPiPOnSuspendVideoElement.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
(TEST):
2021-01-08 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] -[WKWebView acceptsFirstMouse:] sometimes crashes in IPC::Connection::createSyncMessageEncoder
https://bugs.webkit.org/show_bug.cgi?id=220469
<rdar://problem/72319199>
Reviewed by Chris Dumez.
Add an API test that exercises the crash by calling into `-acceptsFirstMouse:` during web process launch.
* TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:
(TestWebKitAPI::TEST):
2021-01-08 Sihui Liu <sihui_liu@appe.com>
Stop using MediaRecorder in API test WebKit2.SpeechRecognitionErrorWhenStartingAudioCaptureOnDifferentPage
https://bugs.webkit.org/show_bug.cgi?id=220347
Reviewed by Youenn Fablet.
Because MediaRecorder (with real backend) is only supported in some recent MacOS versions now.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-basic.html:
2021-01-08 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add standard mechanism for packaging pip packages (work-around)
https://bugs.webkit.org/show_bug.cgi?id=220468
<rdar://problem/72935720>
Reviewed by Stephanie Lewis.
Temporary change to make these packages easier to pip install.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
* Scripts/libraries/resultsdbpy/setup.py: Use string instead of version object.
* Scripts/libraries/webkitcorepy/setup.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitflaskpy/setup.py: Use string instead of version object.
* Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/setup.py: Use string instead of version object.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
2021-01-08 Chris Dumez <cdumez@apple.com>
Make it safe to re-enter HashMap::clear()
https://bugs.webkit.org/show_bug.cgi?id=220445
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
2021-01-08 Chris Lord <clord@igalia.com>
[WPE] Enable smooth-motion and kinetic scrolling on touchpads
https://bugs.webkit.org/show_bug.cgi?id=219942
Reviewed by Žan Doberšek.
* wpe/backends/WindowViewBackend.cpp:
Update to Wayland protocol 5 and interpret axis stop, discrete and
smooth axis motion events.
2021-01-07 Paulo Matos <pmatos@igalia.com>
Fix mktemp call for busybox mktemp
https://bugs.webkit.org/show_bug.cgi?id=220422
Reviewed by Alexey Proskuryakov.
Busybox mktemp requires the template to have 6 Xs.
GNU mktemp doesn't care so use 6 Xs in order to ensure this will work if busybox mktemp is installed.
* Scripts/run-jsc-stress-tests:
2021-01-07 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Split program into separate files (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=220369
<rdar://problem/72856906>
Unreviewed follow-up fix.
* Scripts/libraries/webkitscmpy/setup.py: Add program to directories to export.
2021-01-07 Ryosuke Niwa <rniwa@webkit.org>
compare-results should be able to compare PLUM3 results
https://bugs.webkit.org/show_bug.cgi?id=220443
Reviewed by Simon Fraser.
Added the support to compare PLUM3 results.
* Scripts/compare-results:
(plum3Breakdown): Added.
(detectPLUM3): Added.
(PLUM3Results): Added.
(detectBenchmark): Detect PLUM3.
(biggerIsBetter): PLUM3 is a smaller-is-better benchmark.
(main): Added PLUM3.
2021-01-07 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Split program into separate files
https://bugs.webkit.org/show_bug.cgi?id=220369
<rdar://problem/72856906>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/canonicalize: Move to webkitscmpy/program/canonicalize.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Update imports.
* Scripts/libraries/webkitscmpy/webkitscmpy/program: Moved from webkitscmpy/program.py.
* Scripts/libraries/webkitscmpy/webkitscmpy/program.py: Moved to webkitscmpy/program.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py: Moved from webkitscmpy/program.py.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize: Moved from webkitscmpy/canonicalize.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize/committer.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/canonicalize/message.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/checkout.py: Moved from webkitscmpy/program.py.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py: Moved from webkitscmpy/program.py.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/find.py: Moved from webkitscmpy/program.py.
2021-01-07 Wenson Hsieh <wenson_hsieh@apple.com>
Text fields should not be translated while typing
https://bugs.webkit.org/show_bug.cgi?id=220431
<rdar://problem/71724918>
Reviewed by Tim Horton.
Add an API test that modifies text in two input fields (by executing an edit command, and then by
programmatically setting the value attribute). The test verifies that only the latter (programmatic) value
change propagates a text manipulation update to the client layer.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2021-01-07 Jonathan Bedard <JonWBedard@gmail.com>
[webkitscmpy] Use .git/config to verify if repository is git-svn
https://bugs.webkit.org/show_bug.cgi?id=220427
<rdar://problem/72899735>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version number.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.is_svn): Use .git/config to verify if a repository is git-svn.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): Populate .git/config if the provided path is writeable.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
(TestFind.test_revision_git_svn): Use a temporary directory so files
can be written.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_scm_type): Use a temporary directory so files can be written.
(TestGit.test_info): Ditto.
(TestGit.test_commit_revision): Ditto.
2021-01-07 Chris Dumez <cdumez@apple.com>
[GPUProcess] Implement GPUProcess crash recovery for MediaElementAudioSourceNode
https://bugs.webkit.org/show_bug.cgi?id=220391
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/webaudio-createMediaElementSource.html: Added.
2021-01-07 Sam Sneddon <gsnedders@apple.com>
LayoutTestFinder should be in charge of finding layout tests
https://bugs.webkit.org/show_bug.cgi?id=220025
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(_is_reference_html_file): Formerly Port.is_reference_html_file
(_has_supported_extension): Formerly Port._has_supported_extension
(LayoutTestFinder.__init__): Define self._w3c_resource_files
(LayoutTestFinder.find_tests): Change to call within the class
(LayoutTestFinder.find_tests_by_path): Formerly Port.tests
(LayoutTestFinder._expanded_paths): Formerly Port._expanded_paths
(LayoutTestFinder._real_tests): Formerly Port._real_tests
(LayoutTestFinder._is_test_file): Formerly Port._is_test_file
(LayoutTestFinder._is_w3c_resource_file): Formerly Port._is_w3c_resource_file
(LayoutTestFinder.find_touched_tests): Update for the above
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py:
(MockLayoutTestFinder):
(MockLayoutTestFinder._real_tests): Move this from the former MockPort.tests
(LayoutTestFinderTests.make_finder): Similar to the make_port in base_unittest.py
(LayoutTestFinderTests.touched_files): Adjust for MockLayoutTestFinder
(LayoutTestFinderTests):
(LayoutTestFinderTests.test_is_reference_html_file): Add test to check references are subset of tests
(LayoutTestFinderTests.test_find_no_paths_specified): Formerly PortTest.test_find_no_paths_specified
(LayoutTestFinderTests.test_find_one_test): Formerly PortTest.test_find_one_test
(LayoutTestFinderTests.test_find_glob): Formerly PortTest.test_find_glob
(LayoutTestFinderTests.test_find_with_skipped_directories): Formerly PortTest.test_find_with_skipped_directories
(LayoutTestFinderTests.test_find_with_skipped_directories_2): Formerly PortTest.test_find_with_skipped_directories_2
(LayoutTestFinderTests.test_is_test_file): Formerly PortTest.test_is_test_file
(LayoutTestFinderTests.test_is_w3c_resource_file): Formerly PortTest.test_is_w3c_resource_file
(test_touched_but_skipped_test): Adjust for MockLayoutTestFinder
(MockPort): Deleted.
(LayoutTestFinderTests.test_touched_test): Deleted.
(LayoutTestFinderTests.test_expected_touched_test): Deleted.
(LayoutTestFinderTests.test_platform_expected_touched_test): Deleted.
(LayoutTestFinderTests.test_platform_duplicate_touched_test): Deleted.
(LayoutTestFinderTests.test_touched_but_skipped_test): Deleted.
* Scripts/webkitpy/layout_tests/models/test_input.py:
(TestInput.__init__): Remove unused reference_files and should_run_pixel_tests
(TestInput.__repr__): Remove unused should_run_pixel_tests
* Scripts/webkitpy/port/base.py:
(Port.tests): Deleted.
(Port._expanded_paths): Deleted.
(Port._real_tests): Deleted.
(Port.is_w3c_resource_file): Deleted.
(Port.is_reference_html_file): Deleted.
(Port._has_supported_extension): Deleted.
(Port._is_test_file): Deleted.
* Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_find_no_paths_specified): Deleted.
(PortTest.test_find_one_test): Deleted.
(PortTest.test_find_glob): Deleted.
(PortTest.test_find_with_skipped_directories): Deleted.
(PortTest.test_find_with_skipped_directories_2): Deleted.
(PortTest.test_is_test_file): Deleted.
(PortTest.test_is_reference_html_file): Deleted.
(PortTest.test_tests): Deleted.
(PortTest.test_is_w3c_resource_file): Deleted.
(test_jhbuild_wrapper): Deleted.
(test_ref_tests_platform_directory): Deleted.
(test_commits_for_upload): Deleted.
* Scripts/webkitpy/port/factory.py:
(PortFactory): Remove mock_drt
* Scripts/webkitpy/port/mock_drt.py: Removed.
* Scripts/webkitpy/port/mock_drt_unittest.py: Removed.
* Scripts/webkitpy/tool/commands/queries.py:
(PrintExpectations.execute): Adjust for Port.tests moving to LayoutTestFinder
(PrintBaselines.execute): Adjust for Port._real_tests moving to LayoutTestFinder
2021-01-07 Sihui Liu <sihui_liu@appe.com>
ASSERTION FAILED: !m_messageReceiverMapCount under WebKit::SpeechRecognitionServer::~SpeechRecognitionServer()
https://bugs.webkit.org/show_bug.cgi?id=220404
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(-[SpeechRecognitionPermissionUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[SpeechRecognitionNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[SpeechRecognitionNavigationDelegate webView:didFinishNavigation:]):
(TestWebKitAPI::TEST):
2021-01-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Build failures with GTK4 3.99.5.1
https://bugs.webkit.org/show_bug.cgi?id=219844
Reviewed by Philippe Normand.
* MiniBrowser/gtk/BrowserSearchBox.c:
(browserSearchBoxSizeAllocate):
* MiniBrowser/gtk/BrowserWindow.c:
(webViewReadyToShow):
* MiniBrowser/gtk/CMakeLists.txt:
2021-01-06 Katherine Cheney <katherine_cheney@apple.com>
Storage access prompt does not appear on MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=220379
<rdar://problem/72861088>
Reviewed by Darin Adler.
ITP should be on-by-default in MiniBrowser.
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController initWithMenu:]):
2021-01-06 Alexey Proskuryakov <ap@apple.com>
Assorted fixes for bisect-builds
https://bugs.webkit.org/show_bug.cgi?id=220158
Reviewed by Jonathan Bedard.
Switched to Python 3.
Many trivial Python style changes.
Simplified arguments, and cleaned up output.
Switched from run-safari to run-minibrowser on macOS, as run-safari currently
doesn't work on regular macOS installations.
* Scripts/bisect-builds:
(QueueDescriptor): New class that holds a description of a queue, or a "platform",
as coming from a string like mac-catalina or mac-catalina-x86_64-release. Used for
matching arguments to an existing archive directory on the server.
(trac_link): Added. The tool now prints a trac link for seeing where the regression
was introduced.
(bisect_builds): Fixed arithmetic mistakes. Got rid of an unnecessary while-true loop,
as the function was already recursive.
(host_platform_name): The script now defaults to current platform, so -p argument
is mostly to select simulator.
(main): Moved code from "if __name__ == '__main__'" block into main function for
consistency.
2021-01-06 Alex Christensen <achristensen@webkit.org>
Add SPI to determine whether a regex is supported in WKContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=220095
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:
(TEST):
2021-01-06 Sihui Liu <sihui_liu@appe.com>
Stop speech recognition if page becomes invisible
https://bugs.webkit.org/show_bug.cgi?id=220073
<rdar://problem/72710704>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm: updated
WebKit2.SpeechRecognitionErrorWhenStartingAudioCaptureOnDifferentPage for updated behavior.
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView _setUpTestWindow:]): set the origin of host window to be the origin of frame of TestWKWebView.
2021-01-06 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add command to canonicalize unpushed commits (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=219982
<rdar://problem/72427536>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/canonicalize/__init__.py:
(Canonicalize.main): git filter-branch requires the repository root.
2021-01-06 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] coredumpctl invocation when using a local SDK repo fallbacks to the remote repo
https://bugs.webkit.org/show_bug.cgi?id=219934
Reviewed by Philippe Normand.
Some commands run in flatpak may end up calling other commands on the
host through flatpak-spawn that would enter the flatpak environment
again. One such command happens when getting crash logs, which invokes
webkit-flatpak with --gdb-stack-trace.
Before this commit, the WEBKIT_FLATPAK_USER_DIR is not forwarded,
making flatpakutils.py to download the regular UserFlatpak SDK instead
of using the one in the mentioned variable.
* Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator._get_trace_from_flatpak):
2021-01-05 Aditya Keerthi <akeerthi@apple.com>
REGRESSION (r261157): Crash in WKSelectPopover when running as iPhone app on iPad
https://bugs.webkit.org/show_bug.cgi?id=220065
<rdar://problem/71932792>
Reviewed by Darin Adler.
Added an API test to exercise the previously crashing, and now fixed,
codepath. Note that the test will trivially pass on iPhones, since the
crash only occurs on iPads. See below for an explanation of how the
test functions on iPads.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/UserInterfaceIdiomUpdate.mm: Added.
(TestWebKitAPI::TEST):
Since TestWebKitAPI is not an application, [UIApplication sharedApplication]
is nil when the test creates a WKWebView. Consequently, when the WKWebView
is created, WebKit uses the device hardware information to determine the user
interface idiom (iPad). Now, before the test interacts with the WKWebView,
the user interface idiom is changed to an iPhone and the UIApplication is
initialized. Note that the UIApplicationDidFinishLaunchingNotification
is manually posted, since there is no UIApplicationDelegate.
Without the changes in this patch, the test will crash, since the user
interface idiom maintained by WebKit would not be updated, and would
remain iPad rather than iPhone. Hence, when focusing a select element, the test
would attempt to present a UIPopoverController. However, since the idiom
is actually iPhone, UIKit will throw an NSInvalidArgumentException.
After the changes in this patch, the test does crash, as the change to the
user interface idiom after UIApplication creation is recognized by WebKit,
and the attempt to present a UIPopoverController under the iPhone idiom
does not occur.
2021-01-05 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add command to canonicalize unpushed commits
https://bugs.webkit.org/show_bug.cgi?id=219982
<rdar://problem/72427536>
Reviewed by Dewei Zhu.
* Scripts/git-webkit: Specify web-service for canonical identifier translation.
* Scripts/libraries/webkitscmpy/setup.py: Add canonicalize directory to package.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/canonicalize: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/canonicalize/__init__.py: Added.
(Canonicalize): Command to edit history of unpushed commits on a branch.
(Canonicalize.parser):
(Canonicalize.main): Call `git filter-branch` to edit commit message and authorship
of unpushed commits.
* Scripts/libraries/webkitscmpy/webkitscmpy/canonicalize/committer.py: Added.
(canonicalize): Given a name, email and a contributor mapping, return a canonical name
and email for the given author or committer.
(main): Print out the canonical author and committer to be parsed by `git filter-branch`.
* Scripts/libraries/webkitscmpy/webkitscmpy/canonicalize/message.py: Added.
(main): Add the canonical identifier to a commit message.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor): Add unknown author regex.
(Contributor.from_scm_log):
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__init__): Add `git filter-branch` mock. Note that this mock makes an effort to test
message.py and contributor.py, but not the shell script passed to the command.
* Scripts/libraries/webkitscmpy/webkitscmpy/program.py:
(Command.main): Accept arbitrary **kwargs.
(Find.main): Ditto.
(Checkout.main): Ditto.
(main): Allow caller to specify a string template for canonical identifiers in commit messages.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/canonicalize_unittest.py: Added.
(TestCanonicalize):
(TestCanonicalize.test_invalid):
(TestCanonicalize.test_no_commits):
(TestCanonicalize.test_formated_identifier):
(TestCanonicalize.test_git_svn):
(TestCanonicalize.test_branch_commits):
2021-01-05 Angelos Oikonomopoulos <angelos@igalia.com>
[JSC] allow stress tests to opt out of parallel execution
https://bugs.webkit.org/show_bug.cgi?id=213373
Reviewed by Yusuke Suzuki.
On memory-limited devices, some JSC stress tests may intermittently OOM when
they get scheduled along with another heavy JSC stress test. However, the tests
might be able to complete if run on their own.
This patch adds a serial! directive that causes a JSC stress test to only ever
be scheduled to run by itself. It's currently unused and needs to be enabled on
a test-by-test basis.
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2021-01-05 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r271169.
Caused
TestWebKitAPI.WebKit2.SpeechRecognitionErrorWhenStartingAudioCaptureOnDifferentPage
to time out on macOS.
Reverted changeset:
"Stop speech recognition if page becomes invisible"
https://bugs.webkit.org/show_bug.cgi?id=220073
https://trac.webkit.org/changeset/271169
2021-01-05 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, revert part of r271158 to fix builtins generator tests.
* Scripts/webkitpy/codegen/main.py:
(BuiltinsGeneratorTests.wrappers_builtin_test):
2021-01-05 Sihui Liu <sihui_liu@appe.com>
Stop speech recognition if page becomes invisible
https://bugs.webkit.org/show_bug.cgi?id=220073
<rdar://problem/72710704>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(TestWebKitAPI::TEST):
2021-01-05 Alexey Proskuryakov <ap@apple.com>
Revert part of https://trac.webkit.org/r271158
Update root level scripts in Tools/Scripts to Python 3
* Scripts/make-dist: This also needed print_function.
2021-01-05 Alexey Proskuryakov <ap@apple.com>
Revert part of https://trac.webkit.org/r271158
Update root level scripts in Tools/Scripts to Python 3
* Scripts/extract-dependencies-from-makefile: This print_function import
was necessary, the build is broken without it.
2021-01-05 Alexey Proskuryakov <ap@apple.com>
Remove some unused variables from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=220180
Reviewed by Aakash Jain, Sam Weinig and Jonathan Bedard.
* Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
* Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
* Scripts/webkitpy/codegen/main.py:
* Scripts/webkitpy/common/checkout/changelog.py:
* Scripts/webkitpy/common/checkout/checkout.py:
* Scripts/webkitpy/common/checkout/scm/git.py:
* Scripts/webkitpy/common/checkout/scm/svn.py:
* Scripts/webkitpy/common/config/committers.py:
* Scripts/webkitpy/common/config/contributionareas.py:
* Scripts/webkitpy/common/message_pool.py:
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
* Scripts/webkitpy/common/net/credentials.py:
* Scripts/webkitpy/common/system/crashlogs.py:
* Scripts/webkitpy/common/system/executive.py:
* Scripts/webkitpy/common/system/profiler.py:
* Scripts/webkitpy/common/system/user.py:
* Scripts/webkitpy/generate_xcfilelists_lib/application.py:
* Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
* Scripts/webkitpy/layout_tests/controllers/manager.py:
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
* Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
* Scripts/webkitpy/layout_tests/servers/http_server.py:
* Scripts/webkitpy/layout_tests/views/buildbot_results.py:
* Scripts/webkitpy/layout_tests/views/metered_stream.py:
* Scripts/webkitpy/performance_tests/perftest.py:
* Scripts/webkitpy/port/device_port.py:
* Scripts/webkitpy/port/factory.py:
* Scripts/webkitpy/port/leakdetector_valgrind.py:
* Scripts/webkitpy/port/server_process.py:
* Scripts/webkitpy/style/checkers/js.py:
* Scripts/webkitpy/tool/bot/layouttestresultsreader.py:
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
* Scripts/webkitpy/tool/bot/queueengine.py:
* Scripts/webkitpy/tool/commands/download.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
* Scripts/webkitpy/tool/commands/queues.py:
* Scripts/webkitpy/tool/commands/suggestnominations.py:
* Scripts/webkitpy/tool/commands/upload.py:
* Scripts/webkitpy/tool/multicommandtool.py:
* Scripts/webkitpy/tool/servers/rebaselineserver.py:
* Scripts/webkitpy/tool/steps/commit.py:
* Scripts/webkitpy/tool/steps/confirmdiff.py:
* Scripts/webkitpy/tool/steps/haslanded.py:
* Scripts/webkitpy/tool/steps/preparechangelog.py:
* Scripts/webkitpy/tool/steps/promptforbugortitle.py:
* Scripts/webkitpy/tool/steps/sortxcodeprojectfiles.py:
* Scripts/webkitpy/tool/steps/suggestreviewers_unittest.py:
* Scripts/webkitpy/w3c/test_exporter.py:
* Scripts/webkitpy/xcode/simulated_device.py:
2021-01-05 Sihui Liu <sihui_liu@appe.com>
Fail speech recognition when page is muted for audio capture
https://bugs.webkit.org/show_bug.cgi?id=220133
<rdar://problem/72745232>
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(-[SpeechRecognitionPermissionUIDelegate _webView:requestMediaCaptureAuthorization:decisionHandler:]):
(-[SpeechRecognitionPermissionUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-basic.html: Added.
2021-01-05 Alexey Proskuryakov <ap@apple.com>
Update root level scripts in Tools/Scripts to Python 3
https://bugs.webkit.org/show_bug.cgi?id=220200
Reviewed by Darin Adler and Jonathan Bedard.
Mostly 2to3 inspired.
* Scripts/check-for-global-bss-symbols-in-webkitgtk-libs:
* Scripts/check-for-invalid-symbols-in-version-script:
* Scripts/check-for-platform-layering-violations:
* Scripts/clean-webkit:
* Scripts/compare-results:
* Scripts/compare-webkit-configurations:
* Scripts/download-github-release.py:
* Scripts/dump-webkit-tests-run:
* Scripts/export-w3c-performance-wg-tests:
* Scripts/extract-dependencies-from-makefile:
* Scripts/extract-localizable-strings:
* Scripts/find-duplicate-files:
* Scripts/ic-stats.py:
* Scripts/import-w3c-performance-wg-tests:
* Scripts/make-dist:
* Scripts/malloc-tree:
* Scripts/mark-jsc-stress-test:
* Scripts/open-layout-test:
* Scripts/read-checksum-from-png:
* Scripts/rebase-patch-after-webkit-move:
* Scripts/run-gtk-tests:
* Scripts/run-webdriver-tests:
* Scripts/run-wpe-tests:
* Scripts/sampstat:
* Scripts/sync-feature-defines:
* Scripts/sync-master-with-upstream:
* Scripts/update-wasm-gcc-torture.py:
* Scripts/validate-committer-lists:
2021-01-05 Youenn Fablet <youenn@apple.com>
Enable WebRTC codecs in GPU process only for --use-gpu-process option
https://bugs.webkit.org/show_bug.cgi?id=220316
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
Enable WebRTC codecs in GPU process experimental feature in gpu process mode.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
By default, disable WebRTC codecs in GPU process experimental feature.
2021-01-04 Lauro Moura <lmoura@igalia.com>
[WebXR][WPE] Build fails without openxr installed
https://bugs.webkit.org/show_bug.cgi?id=220250
Reviewed by Carlos Alberto Lopez Perez.
* jhbuild/jhbuild-minimal.modules: Add openxr to wpe's minimal
moduleset.
2020-12-28 Alexey Proskuryakov <ap@apple.com>
built-product-archive should work with Python 3
https://bugs.webkit.org/show_bug.cgi?id=220157
Reviewed by Aakash Jain.
* CISupport/built-product-archive:
(webkitBuildDirectoryForConfigurationAndPlatform): Decode result as a string,
because the directory is then used in string manipulation.
(createZipFromList): Use Python 3 compatible 'except' syntax. The new syntax works
in Python 2.6 and newer.
(createZip): Ditto.
2020-12-23 Dean Jackson <dino@apple.com>
Simulated Python crash during test runs
https://bugs.webkit.org/show_bug.cgi?id=220108
<rdar://problem/72605338>
Reviewed by Geoffrey Garen.
The ResourceLoadStatistics code can unlink a database during the test
run, which causes a simulated python crash. We already worked around this
by setting the SQLITE_EXEMPT_PATH_FROM_VNODE_GUARDS environment variable
on a temporary directory, but it needs to include /private/var/folders as well.
However, I didn't have any luck setting multiple directories, so I
used '/' instead.
* Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver):
2020-12-22 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, fix the build with recent SDKs.
* MiniBrowser/mac/ExtensionManagerWindowController.m:
(-[ExtensionManagerWindowController add:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
(-[WK2BrowserWindowController saveAsPDF:]):
(-[WK2BrowserWindowController saveAsWebArchive:]):
2020-12-22 Lauro Moura <lmoura@igalia.com>
[Flapak SDK] Allow setting custom SDK repository locations and other small fixes
https://bugs.webkit.org/show_bug.cgi?id=219884
Reviewed by Philippe Normand.
- Update envvar to match the WEBKIT_FLATPAK prefix
- Give precedence to the verbose flag instead of envvar
- Enable logging earlier to be used in the parse step
- Error out if the user provides an user repo that is not accessible.
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.clean_args):
2020-12-21 Simon Fraser <simon.fraser@apple.com>
[macOS MiniBrowser] Add menu items to reset all experimental and internal debug features to defaults
https://bugs.webkit.org/show_bug.cgi?id=220060
Reviewed by Wenson Hsieh.
Add menu items at the bottom of the "Experimental" and "Internal Debug" feature submenus
to reset all the features to their default values.
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController resetAllExperimentalFeatures:]):
(-[SettingsController resetAllInternalDebugFeatures:]):
2020-12-21 Ryan Hostetler <rhost@apple.com>
$(findstring iphone,$(SDKROOT)) fails when SDKROOT is not lowercase
https://bugs.webkit.org/show_bug.cgi?id=219993
rdar://72436093
Reviewed by Darin Adler.
Update SDKROOT evaluation to be lowercase and SDK filename only.
* ImageDiff/Makefile:
* Makefile:
2020-12-21 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] Update built-in User-Agent strings (December 2020)
https://bugs.webkit.org/show_bug.cgi?id=220048
Reviewed by Alex Christensen.
* MiniBrowser/win/BrowserWindow.cpp:
(BrowserWindow::setUserAgent):
2020-12-20 Simon Fraser <simon.fraser@apple.com>
Fix the lldb WebCoreColorProvider
https://bugs.webkit.org/show_bug.cgi?id=220049
Reviewed by Sam Weinig.
Fix the lldb color provider after Color internals where shifted around.
* lldb/lldb_webkit.py:
(WebCoreColorProvider.to_string):
2020-12-18 Tim Horton <timothy_horton@apple.com>
iOS wheel events don't work on many websites
https://bugs.webkit.org/show_bug.cgi?id=220034
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/ios/WKScrollViewTests.mm:
(TEST):
Add a test ensuring that if the UIScrollPhaseBegin scroll event
has zero delta, that we let a subsequent UIScrollPhaseChanged event
with non-zero delta cancel the gesture's default action.
2020-12-18 Said Abou-Hallawa <said@apple.com>
Upgrade motionmark1.1.plan to r270959
https://bugs.webkit.org/show_bug.cgi?id=220016
Reviewed by Alexey Proskuryakov.
r270959 increases the warm-up time to 1000ms. This should fix a bi-
modality problem in the score of Images and Multiply sub-tests.
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
2020-12-17 Jer Noble <jer.noble@apple.com>
REGRESSION: [ BigSur ] 3 PictureInPicture related API tests timing out
https://bugs.webkit.org/show_bug.cgi?id=219999
Reviewed by Eric Carlson.
Not a fix for the timeout itself, but a change which will allow us to see the Util::run() statement which
is timing out. Rather than just get a generic TIMEOUT result with no clue to the cause, a Util::run() statement
which takes longer than the specified amount of time will generate an ASSERT() error with the line number
which caused the timeout.
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ExitPiPOnSuspendVideoElement.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
(TEST):
* TestWebKitAPI/Utilities.h:
* TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
(TestWebKitAPI::Util::runFor):
2020-12-17 Alex Christensen <achristensen@webkit.org>
REGRESSION(r270638) decidePolicyForNewWindowAction should have non-null request
https://bugs.webkit.org/show_bug.cgi?id=220001
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
(TEST):
2020-12-17 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Correct mock `git log` call in standard git repositories
https://bugs.webkit.org/show_bug.cgi?id=219992
<rdar://problem/72436380>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: git_svn flag should only
control the final line of the message, not the existence of the entire message.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
(TestFind.test_basic_git):
(TestFind.test_identifier_git):
(TestFind.test_identifier_git_svn):
(TestFind.test_hash):
2020-12-17 Sam Sneddon <gsnedders@apple.com>
Stop parsing reftest.list files
https://bugs.webkit.org/show_bug.cgi?id=203783
Reviewed by Jonathan Bedard.
This has only been used by the webkitpy integration tests in recent years. Needless to say,
this is Not Useful.
We do still have one reftest.list file,
media/track/opera/track/webvtt/rendering/reftest/reftest.list, but as this is in a reftest
directory we don't run any of the tests in it (and never have). See the above bug for more
detail about that history.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RebaselineTest.assertBaselines): docstring fix
(RunTest.test_reftest_should_not_use_naming_convention_if_not_listed_in_reftestlist): Deleted.
(EndToEndTest): Deleted.
(EndToEndTest.test_reftest_with_two_notrefs): Deleted.
* Scripts/webkitpy/port/base.py:
(Port.__init__): remove Port._reftest_list
(Port.reference_files): don't use reftest.list as source of truth
(Port._get_reftest_list): Deleted.
(Port._parse_reftest_list): Deleted.
* Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_parse_reftest_list): Deleted.
* Scripts/webkitpy/port/test.py:
(unit_test_list): remove tests used to test reftest.list
2020-12-17 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Replace FailureNotTested with FailureNoOutput
https://bugs.webkit.org/show_bug.cgi?id=219994
<rdar://problem/72440201>
Reviewed by Geoffrey Garen.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_text): Replace FailureNotTest with FailureNoOutput.
* Scripts/webkitpy/layout_tests/models/test_failures.py:
(determine_result_type): Replace FailureNotTest with FailureNoOutput.
(FailureNoOutput): Renamed from FailureNotTested.
(FailureNotTested): Renamed to FailureNoOutput.
* Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
(TestFailuresTest.test_all_failure_classes): Replace FailureNotTest with FailureNoOutput.
2020-12-17 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Capture Mock process logging during tests
https://bugs.webkit.org/show_bug.cgi?id=219989
<rdar://problem/72435662>
Reviewed by Dewei Zhu.
When declaring two mock local repositories, we need to ensure that logs are captured when
Instantiating the second repository so that "Mock process # send signal 9" is not logged
to the user's terminal.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:
(TestCheckout):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
(TestFind):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit):
2020-12-17 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Remove branches argument from mock Git
https://bugs.webkit.org/show_bug.cgi?id=219988
<rdar://problem/72434657>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__init__): Remote branches argument.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_branches):
2020-12-17 Zan Dobersek <zdobersek@igalia.com>
Unreviewed, reordering associated email addresses in
preparation for the GitHub migration.
* Scripts/webkitpy/common/config/contributors.json:
2020-12-16 Yusuke Suzuki <ysuzuki@apple.com>
Use python3 in Tools/Scripts/dump-class-layout
https://bugs.webkit.org/show_bug.cgi?id=219945
Reviewed by Simon Fraser.
Newer LLDB python module only contains python3 version. So Tools/Scripts/dump-class-layout does not work.
This patch makes Tools/Scripts/dump-class-layout working with python3.
* Scripts/dump-class-layout:
(webkit_build_dir): Deleted.
(main): Deleted.
(main.or): Deleted.
* lldb/lldb_dump_class_layout.py:
(ClassLayoutBase.dump):
(LLDBDebuggerInstance.__init__):
(LLDBDebuggerInstance._get_first_file_architecture):
(LLDBDebuggerInstance.layout_for_classname):
2020-12-16 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Include remote directories when packaging
https://bugs.webkit.org/show_bug.cgi?id=219927
<rdar://problem/72362529>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitscmpy/setup.py: Include remote directories.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
2020-12-15 Andy Estes <aestes@apple.com>
[Mac] Numerous webgl tests continue to time out with the WebM format reader enabled
https://bugs.webkit.org/show_bug.cgi?id=219928
Reviewed by Eric Carlson.
* Scripts/webkitpy/port/mac.py:
(MacPort.logging_patterns_to_strip): Stripped unnecessary logging during VP9 decoding.
2020-12-15 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support remote GitHub repository
https://bugs.webkit.org/show_bug.cgi?id=219602
<rdar://problem/72050026>
Reviewed by Stephanie Lewis.
Services often need to interact with the WebKit repository without actually downloading the
repository. In particular, it is useful to be able to retrieve commits and their identifiers.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git): Move GIT_SVN_REVISION regex to base class.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/__init__.py: Add GitHub class.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py: Added.
(GitHub): Mock request router for a limited subset of GitHub's API.
(GitHub.__init__):
(GitHub.commit): Return a commit object given a reference.
(GitHub._api_response):
(GitHub._list_refs_response):
(GitHub._commit_response):
(GitHub._compare_response):
(GitHub._branches_for_request):
(GitHub._parents_of_request):
(GitHub.request): Return a response object for the specified request.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/__init__.py: Add GitHub class.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py: Added.
(GitHub): Repository object representing a GitHub remote.
(GitHub.is_webserver): True if the provided URL is a GitHub webserver.
(GitHub.__init__): Verify the provided URL and split it into it's composite parts.
(GitHub.is_git): Return True.
(GitHub.request): Make an API request, combining pagination into a single request.
(GitHub._count_for_ref): Scrape the GitHub UI to find the number of parent commits for a specified
branch or commit.
(GitHub._difference): Compute the number of commits a specified reference is ahead of another.
(GitHub._branches_for): Scrape the GitHub UI to determine what branches a commit is on.
(GitHub.default_branch): Query GitHub to determine the default branch for a specified commit.
(GitHub.branches): Return all branches for a repository.
(GitHub.tags): Return all tags for a repository.
(GitHub.commit): Return a commit object given a revision, branch, identifier or tag.
(GitHub.find): Use git to match branches and tags to a hash instead of trying to do it ourselves.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py:
(Scm.from_url): Add GitHub to the set of candidate remote repositories.
* Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase): Move GIT_SVN_REVISION regex to base class.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGitHub):
(TestGitHub.test_detection):
(TestGitHub.test_branches):
(TestGitHub.test_tags):
(TestGitHub.test_scm_type):
(TestGitHub.test_commit_revision):
(TestGitHub.test_commit_from_branch):
(TestGitHub.test_identifier):
(TestGitHub.test_non_cannonical_identifiers):
(TestGitHub.test_tag):
(TestGitHub.test_no_log):
2020-12-15 Sihui Liu <sihui_liu@apple.com>
Add webkit- prefix to SpeechRecognition
https://bugs.webkit.org/show_bug.cgi?id=219869
Reviewed by Geoffrey Garen.
Replace SpeechRecognition with webkitSpeechRecognition in test.
* TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-user-permission-persistence.html:
2020-12-15 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Save contributors to json file
https://bugs.webkit.org/show_bug.cgi?id=219908
<rdar://problem/72351153>
Reviewed by Dewei Zhu.
The motivation for this change is not to replace contributors.json (although that could
eventually be the case), instead, the motivation for this change is to pass contributors
to `git filter-branch` subprocesses.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Increment version.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor.Mapping):
(Contributor.Mapping.load): Load contributor mapping from a json file.
(Contributor.Mapping.save): Save contributor mapping to a json file.
(Contributor.Mapping.add):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor):
(TestContributor.test_saving):
2020-12-15 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Contributor emails with capitalizations should be searchable as lowercase
https://bugs.webkit.org/show_bug.cgi?id=219892
<rdar://problem/72341870>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor.Mapping.create):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor):
(TestContributor.test_upper_case_email):
2020-12-15 Angelos Oikonomopoulos <angelos@igalia.com>
generate-bundle: don't ignore --no-strip
https://bugs.webkit.org/show_bug.cgi?id=219855
Reviewed by Jonathan Bedard.
* Scripts/generate-bundle:
2020-12-15 Dmitry Bezhetskov <dbezhetskov@igalia.com>
[WASM-References] Add support for type annotated select
https://bugs.webkit.org/show_bug.cgi?id=219595
Reviewed by Yusuke Suzuki.
Add support for testing ref-types.
* Scripts/run-jsc-stress-tests:
2020-12-14 Andy Estes <aestes@apple.com>
[Mac] MediaFormatReader.bundle fails to load in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=219879
Reviewed by Eric Carlson.
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize): Tell CoreMedia to allow unsigned format reader
plug-ins when running in WebKitTestRunner. This resolves test timeouts under
LayoutTests/webgl/2.0.0/.
2020-12-14 Alex Christensen <achristensen@webkit.org>
Remove WKDownloadDelegate.didWriteData
https://bugs.webkit.org/show_bug.cgi?id=219820
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[DownloadObserver observeValueForKeyPath:ofObject:change:context:]):
(TestWebKitAPI::mutateFile):
* TestWebKitAPI/cocoa/TestDownloadDelegate.h:
* TestWebKitAPI/cocoa/TestDownloadDelegate.mm:
(-[TestDownloadDelegate download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): Deleted.
2020-12-14 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Load mock repository data from json file
https://bugs.webkit.org/show_bug.cgi?id=219803
<rdar://problem/72236132>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/git-repo.json: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__init__): Move mock data into git-repo.json.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.__init__): Move mock data into git-repo.json.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.__init__): Move mock data into git-repo.json.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/svn-repo.json: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_tags): Specify tags.
(TestGit.test_tag): Ditto.
(TestGit.test_checkout): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_branches): Remove branch specification.
2020-12-13 Andy Estes <aestes@apple.com>
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebCore/SampleMap.cpp:
2020-12-12 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r270661.
Caused layout test failures and timeouts
Reverted changeset:
"Unreviewed, re-landing r270132."
https://bugs.webkit.org/show_bug.cgi?id=202874
https://trac.webkit.org/changeset/270661
2020-12-12 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn][iOS] Turn on modern WebAuthn for default browsers
https://bugs.webkit.org/show_bug.cgi?id=219823
<rdar://problem/72250436>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::WebCore::webAuthenticationModernExperimentalFeature):
(TestWebKitAPI::TEST):
Turn modern WebAuthn off for old tests.
2020-12-11 Tim Horton <timothy_horton@apple.com>
Trackpad and Mouse scroll events on iPad only fire "pointermove" -- not "wheel"
https://bugs.webkit.org/show_bug.cgi?id=210071
<rdar://problem/54616853>
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/ios/WKScrollViewTests.mm:
(-[WKUIScrollEvent initWithPhase:location:delta:]):
(-[WKUIScrollEvent phase]):
(-[WKUIScrollEvent locationInView:]):
(-[WKUIScrollEvent _adjustedAcceleratedDeltaInView:]):
(TEST):
* TestWebKitAPI/ios/UIKitSPI.h:
Add a very simple test that directly calls the new UIScrollViewDelegate SPI
and verifies that only the first event is cancelable (unless the first event
is canceled, in which case all subsequent events are cancelable).
2020-12-11 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Do not use actual URLs in testing
https://bugs.webkit.org/show_bug.cgi?id=219790
<rdar://problem/72228983>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): Use example.org instead of webkit.org.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.__init__): Use example.org instead of webkit.org.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
(TestFind.test_basic_svn_remote): Use example.org instead of webkit.org.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_info): Use example.org instead of webkit.org.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestRemoteSvn): Use example.org instead of webkit.org.
(TestRemoteSvn.test_detection):
2020-12-11 Don Olmstead <don.olmstead@sony.com>
[CMake] Determine correct visibility for linked frameworks
https://bugs.webkit.org/show_bug.cgi?id=210366
Reviewed by Michael Catanzaro.
Remove explicit setting of STATICALLY_LINKED_WITH_${framework}.
* TestWebKitAPI/PlatformWin.cmake:
2020-12-11 Dmitry Bezhetskov <dbezhetskov@igalia.com>
[WASM-References] Add table.init
https://bugs.webkit.org/show_bug.cgi?id=219297
Reviewed by Yusuke Suzuki.
Support ref-types spec tests.
* Scripts/run-jsc-stress-tests:
2020-12-11 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r270186): [GTK] MiniBrowser: do not exit after load when no arguments given
https://bugs.webkit.org/show_bug.cgi?id=219737
Reviewed by Adrian Perez de Castro.
Only exit after load when --exit-after-load is passed.
* MiniBrowser/gtk/main.c:
(activate):
2020-12-10 Alex Christensen <achristensen@webkit.org>
Accept click measurement data from hosting application
https://bugs.webkit.org/show_bug.cgi?id=219763
<rdar://problem/72121094>
Reviewed by John Wilander.
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(testCertificate):
* TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: Added.
(-[MockEventAttribution initWithReportEndpoint:attributeOn:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
2020-12-10 Chris Dumez <cdumez@apple.com>
[GPUProcess] Cut in half amount of IPC needed to do WebAudio
https://bugs.webkit.org/show_bug.cgi?id=219715
Reviewed by Geoff Garen.
Minor API test changes due to CARingBuffer API change. fetch() always returned Ok
so I dropped the return value.
* TestWebKitAPI/Tests/WebCore/CARingBuffer.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::MixingTest::run):
2020-12-10 Geoffrey Garen <ggaren@apple.com>
Unreviewed, re-landing r270132.
Regression test failures have been resolved.
Re-landed changeset:
"Use a Version 1 CFRunLoopSource for faster task dispatch"
https://bugs.webkit.org/show_bug.cgi?id=202874
https://trac.webkit.org/changeset/270132
2020-12-10 Don Olmstead <don.olmstead@sony.com>
[CMake] Determine when to use $<TARGET_OBJECTS> for executables
https://bugs.webkit.org/show_bug.cgi?id=219648
Reviewed by Michael Catanzaro.
Use ${taget_name}_FRAMEWORKS to specify WebKit frameworks when linking executables.
Remove use of $<TARGET_OBJECTS>.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformPlayStation.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* WebKitTestRunner/CMakeLists.txt:
2020-12-10 Alex Christensen <achristensen@webkit.org>
Introduce new download SPI
https://bugs.webkit.org/show_bug.cgi?id=217747
Reviewed by Brady Eidson.
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
(TestWebKitAPI::decidePolicyForNavigationResponse):
(TestWebKitAPI::decideDestinationWithSuggestedFilename):
(TestWebKitAPI::navigationResponseDidBecomeDownload):
(TestWebKitAPI::setPagePolicyClient):
(TestWebKitAPI::TEST):
(TestWebKitAPI::decidePolicyForNavigationAction): Deleted.
(TestWebKitAPI::setContextDownloadClient): Deleted.
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
(TestWebKitAPI::decideDestinationWithSuggestedFilename):
(TestWebKitAPI::contextMenuDidCreateDownload):
(TestWebKitAPI::TEST):
(TestWebKitAPI::decideDestinationWithSuggestedFilenameContainingSlashes):
(TestWebKitAPI::contextMenuDidCreateDownloadWithSuggestedFilenameContainingSlashes):
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[BecomeDownloadDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[ConvertResponseToDownloadNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[TestDownloadNavigationResponseFromMemoryCacheDelegate webView:didFailProvisionalNavigation:withError:]):
(-[TestDownloadNavigationResponseFromMemoryCacheDelegate webView:didFinishNavigation:]):
(TEST):
(downloadTestServer):
(checkResumedDownloadContents):
(simpleDownloadTestServer):
(checkFileContents):
(tempFileThatDoesNotExist):
(-[DownloadTestSchemeDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(TestWebKitAPI::mutateFile):
* TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
(-[DownloadProgressTestRunner webView:decidePolicyForNavigationResponse:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(TEST):
* TestWebKitAPI/cocoa/TestDownloadDelegate.h:
* TestWebKitAPI/cocoa/TestDownloadDelegate.mm:
(-[TestDownloadDelegate download:willPerformHTTPRedirection:newRequest:decisionHandler:]):
(-[TestDownloadDelegate download:decideDestinationWithResponse:suggestedFilename:completionHandler:]):
(-[TestDownloadDelegate download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[TestDownloadDelegate download:didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestDownloadDelegate downloadDidFinish:]):
(-[TestDownloadDelegate download:didFailWithError:resumeData:]):
(-[TestDownloadDelegate webView:navigationResponse:didBecomeDownload:]):
(-[TestDownloadDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[TestDownloadDelegate waitForDownloadDidFinish]):
(-[TestDownloadDelegate takeCallbackRecord]):
(-[TestDownloadDelegate _downloadDidStart:]): Deleted.
(-[TestDownloadDelegate _download:didReceiveServerRedirectToURL:]): Deleted.
(-[TestDownloadDelegate _download:didReceiveResponse:]): Deleted.
(-[TestDownloadDelegate _download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): Deleted.
(-[TestDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]): Deleted.
(-[TestDownloadDelegate _downloadDidFinish:]): Deleted.
(-[TestDownloadDelegate _download:didFailWithError:]): Deleted.
(-[TestDownloadDelegate _downloadDidCancel:]): Deleted.
(-[TestDownloadDelegate _download:didReceiveAuthenticationChallenge:completionHandler:]): Deleted.
(-[TestDownloadDelegate _download:didCreateDestination:]): Deleted.
* TestWebKitAPI/cocoa/TestLegacyDownloadDelegate.h: Copied from Tools/TestWebKitAPI/cocoa/TestDownloadDelegate.h.
* TestWebKitAPI/cocoa/TestLegacyDownloadDelegate.mm: Copied from Tools/TestWebKitAPI/cocoa/TestDownloadDelegate.mm.
(-[TestLegacyDownloadDelegate _downloadDidStart:]):
(-[TestLegacyDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[TestLegacyDownloadDelegate _download:didReceiveResponse:]):
(-[TestLegacyDownloadDelegate _download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[TestLegacyDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(-[TestLegacyDownloadDelegate _downloadDidFinish:]):
(-[TestLegacyDownloadDelegate _download:didFailWithError:]):
(-[TestLegacyDownloadDelegate _downloadDidCancel:]):
(-[TestLegacyDownloadDelegate _download:didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestLegacyDownloadDelegate _download:didCreateDestination:]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::navigationDidBecomeDownloadShared):
(WTR::TestController::navigationActionDidBecomeDownload):
(WTR::TestController::navigationResponseDidBecomeDownload):
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::decideDestinationWithSuggestedFilename):
(WTR::TestController::downloadDidFinish):
(WTR::TestController::downloadDidFail):
(WTR::TestController::downloadDidReceiveServerRedirectToURL):
(WTR::TestController::downloadDidStart):
(WTR::TestController::decidePolicyForNavigationAction):
(WTR::TestController::downloadDidCancel): Deleted.
* WebKitTestRunner/TestController.h:
2020-12-10 Lauro Moura <lmoura@igalia.com>
[Flapak SDK] Add envvar to enable verbose mode
https://bugs.webkit.org/show_bug.cgi?id=219744
Reviewed by Adrian Perez de Castro.
While webkit-flatpak has the --verbose option, some scripts like
run-minibrowser, run-gtk-tests etc might not expose it to the user.
This change checks for WEBKIT_SDK_VERBOSE in order to be able to
control it regardless of command line options.
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args):
2020-12-10 David Kilzer <ddkilzer@apple.com>
prepare-ChangeLog won't parse rdar://nnnnnnnn URLs in fetchRadarURLFromBugXMLData()
<https://webkit.org/b/219645>
<rdar://problem/72182806>
Reviewed by Darin Adler.
Relax the format for rdar:// URLs not to require angle brackets
(<>) or the "problem/" pseudo-path.
Include drive-by fixes for global variables in prepare-ChangeLog
that cause warnings when running tests:
Variable "$var" is not available
* Scripts/prepare-ChangeLog:
(main):
- Move %attributeCache from global scope into this subroutine,
then pass to generateFileList() to fix a variable warning.
(fetchRadarURLFromBugXMLData):
- Update regex that parses rdar:// URLs. This fixes the bug.
(attributeCommand):
- Add argument for $attributeCache hash ref since it is no
longer a global variable.
- Move definition of $devNull here to fix a variable warning.
(generateFileList):
- Add argument for $attributeCache hash ref to pass through to
attributeCommand().
* Scripts/webkitperl/prepare-ChangeLog_unittest/fetchRadarURLFromBugXMLData.pl:
- Add tests for newly supported rdar:// URL formats.
* Scripts/webkitperl/prepare-ChangeLog_unittest/filenameWithParentheses.pl:
- Update to pass $attributeCache to attributeCommand().
2020-12-10 Chris Dumez <cdumez@apple.com>
[iOS] TestWebKitAPI.GPUProcess.WebProcessTerminationAfterTooManyGPUProcessCrashes is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=219719
<rdar://problem/72158303>
Reviewed by Darin Adler.
We currently have an issue where the audio track gets removed after the GPUProcess
crashes. This is what is causing GPUProcess.WebProcessTerminationAfterTooManyGPUProcessCrashes
to be flaky on iOS. For the same reason, GPUProcess.CrashWhilePlayingVideo was flaky on
iOS until we temporarily disabled the checks in r270328. For now, do the same thing as in r270328
for WebProcessTerminationAfterTooManyGPUProcessCrashes since I have not found the reason why
we lose audio on iOS after a GPU process crash yet and we don't want to keep a flaky test on
the bots.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2020-12-10 Lauro Moura <lmoura@igalia.com>
[GTK] Fix EventSender wheel phase names
https://bugs.webkit.org/show_bug.cgi?id=219726
Reviewed by Carlos Garcia Campos.
It was causing the events to be sent with 0 phase as the momentum
phase switch overwrote it.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
2020-12-10 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Adopt new UI for the Security Key makeCredential flow
https://bugs.webkit.org/show_bug.cgi?id=219708
<rdar://problem/72154735>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
Adjusted to the new behavior.
2020-12-09 Cathie Chen <cathiechen@igalia.com>
Support overscroll-behavior parsing
https://bugs.webkit.org/show_bug.cgi?id=219305
Reviewed by Simon Fraser.
Based on Frédéric Wang's patch.
Add support for testing overscroll-behavior parsing.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
2020-12-09 John Wilander <wilander@apple.com>
PCM: Make JSON key names use underscores according to the W3C conversation
https://bugs.webkit.org/show_bug.cgi?id=219696
<rdar://problem/72143642>
Reviewed by Brent Fulgham.
Further discussion in https://github.com/privacycg/private-click-measurement/issues/30
concluded that the JSON report should use underscores in its keys instead of dashes.
This patch makes that change and shortens the "report_version" key to just "version".
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
2020-12-09 Alex Christensen <achristensen@webkit.org>
Make PDFHUD.MoveIFrame API test more robust
https://bugs.webkit.org/show_bug.cgi?id=219667
<rdar://problem/68639688>
Reviewed by Geoffrey Garen.
This test would time out if the place where the TestWKWebView is obscured, which happens frequently on the bots.
Make the test pass if this is the case. It's unfortunate to skip it often, but it still runs sometimes,
and I think this is better than having no test.
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
(TEST):
2020-12-09 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Specify TLS configuration of autoinstaller
https://bugs.webkit.org/show_bug.cgi?id=219694
<rdar://problem/72139146>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall._request): Encountered an issue where the default TLS configuration
was too restrictive in Python 2.7.18.
2020-12-09 Kimmo Kinnunen <kkinnunen@apple.com>
Implement RemoteGraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=217216
<rdar://problem/69876258>
Reviewed by Simon Fraser.
Implements a remote version of GraphicsContextGL for GPU process.
Current implementation is using WebKit IPC and is incomplete.
Add the code generator to generate the implementation. Currently
the generator generates a WebKit IPC implementation.
The input definition to the generator is the proxy implementation
header files.
The output of the generator is
- WebKit IPC message definition file
- Message sender code
- Message receiver and payload invocation code
The generator converts GraphicsContextGL GCGL -prefixed types to
sized IPC types.
The generator is invoked during development time and the results are
stored in the repository.
* Scripts/generate-gpup-webgl: Added.
2020-12-09 Michael Catanzaro <mcatanzaro@gnome.org>
check-for-global-bss-symbols-in-webkigtk-libs is misspelled
https://bugs.webkit.org/show_bug.cgi?id=219686
Reviewed by Carlos Garcia Campos.
* Scripts/check-for-global-bss-symbols-in-webkitgtk-libs: Renamed from Tools/Scripts/check-for-global-bss-symbols-in-webkigtk-libs.
(bss_symbols):
* Scripts/make-dist:
(Distcheck.check_symbols):
2020-12-09 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: add support for pen pointer events
https://bugs.webkit.org/show_bug.cgi?id=219024
Reviewed by Brian Burg.
Add optional pointerType parameter to EventSenderProxy mouseDown(), mouseUp() and mouseMoveTo() methods.
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::createMouseMessageBody):
(WTR::EventSendingController::mouseDown):
(WTR::EventSendingController::mouseUp):
(WTR::EventSendingController::mouseMoveTo):
(WTR::EventSendingController::scheduleAsynchronousClick):
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
* WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveMessageFromInjectedBundle):
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
* WebKitTestRunner/win/EventSenderProxyWin.cpp:
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
2020-12-08 Alex Christensen <achristensen@webkit.org>
Increase maximum size of WKContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=219626
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
2020-12-08 Devin Rousso <drousso@apple.com>
[macCatalyst] Enable context menus for WKWebView
https://bugs.webkit.org/show_bug.cgi?id=219617
<rdar://problem/53770300>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
* TestWebKitAPI/cocoa/TestContextMenuDriver.h:
* TestWebKitAPI/cocoa/TestContextMenuDriver.mm:
* TestWebKitAPI/ios/UIKitSPI.h:
Note that none of these tests actually work right now because of <rdar://problem/59610140>.
2020-12-08 Geoffrey Garen <ggaren@apple.com>
TextManipulationController sometimes fails to notify its delegate of new text (if an element has been removed)
https://bugs.webkit.org/show_bug.cgi?id=219656
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST): Added a test that removes lots of elements. The
bug in this case depended on finding a removed element after an inserted
element in set iteration order. Using lots of removed elements gives us
a reasonable chance to trigger the relevant order.
2020-12-08 Chris Dumez <cdumez@apple.com>
Unreviewed, reverting r269983.
Seems to have regressed PLT5
Reverted changeset:
"[iOS] beforeunload event does not fire in MobileSafari"
https://bugs.webkit.org/show_bug.cgi?id=219102
https://trac.webkit.org/changeset/269983
2020-12-08 Chris Dumez <cdumez@apple.com>
Potential crash under [WKRemoteObjectEncoder encodeObject:forKey:] when the object graph contains a cycle
https://bugs.webkit.org/show_bug.cgi?id=219620
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn takeDictionary:completionHandler:]):
2020-12-08 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Defer pypi index check until usage
https://bugs.webkit.org/show_bug.cgi?id=219271
<rdar://problem/71748250>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.Archive.download): Verify our index before using it.
(Package.archives): Ditto.
(AutoInstall): Provide variables to cache information needed for pypi index verification.
(AutoInstall._verify_index): Verify the current index is reachable if a fallback index exists.
(AutoInstall.set_index): Defer checking the provided index by default.
2020-12-08 Wenson Hsieh <wenson_hsieh@apple.com>
[Concurrent Display Lists] Add a way for display list clients to get missing cached resource identifiers
https://bugs.webkit.org/show_bug.cgi?id=219652
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp:
(TestWebKitAPI::TEST):
2020-12-08 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Fix case where cached=True with other arguments
https://bugs.webkit.org/show_bug.cgi?id=219644
<rdar://problem/72092851>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py:
(Memoize.__call__.decorator): Use keyargs instead of args.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/decorators_unittest.py:
(TestMemoize):
(TestMemoize.increment_with_arg): Added.
(TestMemoize.test_override):
2020-12-08 Aakash Jain <aakash_jain@apple.com>
[ews] commit-queue should use only the first email from contributors.json to validate committers and reviewers
https://bugs.webkit.org/show_bug.cgi?id=219608
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(ValidateCommiterAndReviewer.load_contributors): Use only first email for validating commiters and reviewers.
* Scripts/webkitpy/common/config/contributors.json: Correct Antoine Quint's and Justin Michaud's active accounts.
2020-12-07 Fujii Hironori <Hironori.Fujii@sony.com>
Unreviewed sort-Xcode-project-file
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
2020-12-07 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed API test gardening, disable failing tests on Big Sur.
* TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
(TEST):
2020-12-04 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed API test gardening, disable failing tests on Big Sur.
* TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
2020-12-07 Youenn Fablet <youenn@apple.com>
Add a SFrame H264 experimental compatibility mode
https://bugs.webkit.org/show_bug.cgi?id=219532
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp:
(TestWebKitAPI::TEST):
2020-12-07 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Automatically delete old buildbot logs
https://bugs.webkit.org/show_bug.cgi?id=218817
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg: Configured JanitorConfigurator to delete logs older than six months, and
configured to run every morning.
2020-12-07 Angelos Oikonomopoulos <angelos@igalia.com>
[JSC] Bundle non-native libs in run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=219485
Reviewed by Carlos Alberto Lopez Perez.
run-jsc-stress-tests already tries to bundle library dependencies
(on linux) when using the --remote functionality; this ensures
that we don't need to depend on the remote environment exactly
matching the build environment. However, this breaks when
cross-building; run-jsc-stress-tests uses ldd, which relies on
code execution to get the shared object paths.
This patch extends generate-bundle to be able to handle the output
from a cross ldd (specifically, xldd from crosstool-NG) and
changes run-jsc-stress-tests to use generate-bundle for bundling
the libraries for the remotes.
* Scripts/generate-bundle:
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* Scripts/run-jsc-stress-tests:
2020-12-07 Zan Dobersek <zdobersek@igalia.com>
[GLib] Leaked RunLoop objects on worker threads
https://bugs.webkit.org/show_bug.cgi?id=219232
<rdar://problem/71772277>
Reviewed by Geoffrey Garen.
Add a unit test covering proper RunLoop teardown upon thread destruction
even if RunLoop references are stored in the dispatch queues.
* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
2020-12-04 Wenson Hsieh <wenson_hsieh@apple.com>
[Concurrent display lists] Synchronize display list rendering across remote image buffers
https://bugs.webkit.org/show_bug.cgi?id=219091
<rdar://problem/71747695>
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
2020-12-04 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] local.Svn reports incorrect timestamps
https://bugs.webkit.org/show_bug.cgi?id=219549
<rdar://problem/71989052>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Remote dateutil dependency. Add svn remote dependencies.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version, move dateutil library hook.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.commit): Increment parsed time by UTC delta instead of configuring timezone.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn): Allow caller to specify UTC offset, treat all times as UTC to avoid issues with the
local timezone.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_info):
* Scripts/webkitpy/__init__.py: Move dateutil library hook.
2020-12-04 John Wilander <wilander@apple.com>
PCM: Switch to 8+4 bits for source IDs and trigger values respectively
https://bugs.webkit.org/show_bug.cgi?id=219519
<rdar://problem/70470036>
Reviewed by Brent Fulgham.
We've received a lot of feedback saying increased entropy on the click side is more
important than the current 6 bits on the conversion side. Some of that conversation
is captured in https://github.com/privacycg/private-click-measurement/issues/28.
This patch switches from 6+6 bits to 8+4 bits.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
2020-12-04 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r270422.
https://bugs.webkit.org/show_bug.cgi?id=219554
Deleted an SPI that is still in use.
Reverted changeset:
"Introduce new download API"
https://bugs.webkit.org/show_bug.cgi?id=217747
https://trac.webkit.org/changeset/270422
2020-12-04 Jonathan Bedard <jbedard@apple.com>
[git-webkit] Use contributors.json
https://bugs.webkit.org/show_bug.cgi?id=217732
<rdar://problem/70309518>
Reviewed by Dewei Zhu.
The interaction between Git, Svn and old commits means that our canonical record of
commit authors is somewhat incomplete. contributors.json has most of the information
we are missing, we should rely on it to map non-standard author names to their canonical
names and email addresses.
Additionally, making the record of Contributors owned by the repository instead of being global
to the entire process.
* Scripts/git-webkit: Parse contributors.json and add it to a Contributor.Mapping.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit): Contributor class object no longer owns record of contributors.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor):
(Contributor.Mapping): Dictionary mapping Contributors and their potential aliases.
(Contributor.Mapping.__init__):
(Contributor.Mapping.add): Add Contributor to mapping.
(Contributor.Mapping.create): Find or create a contributor with the specified name and email
addresses and bind it to the record of contributors.
(Contributor.from_scm_log): Leverage Contributor.Mapping provided by caller.
(Contributor.clear): Deleted.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.__init__): Instantiate repository with existing Contributor.Mapping.
(Git.commit): Repository now owns the record of contributors.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.from_path): Instantiate repository with existing Contributor.Mapping.
(Scm.__init__): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.__init__): Instantiate repository with existing Contributor.Mapping.
(Svn.commit): Repository now owns the record of contributors.
* Scripts/libraries/webkitscmpy/webkitscmpy/program.py:
(main): Allow caller to pass an existing record of contributors.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py:
(Scm.from_url): Instantiate repository with existing Contributor.Mapping.
(Scm.__init__): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn.__init__): Instantiate repository with existing Contributor.Mapping.
(Svn.commit): Repository now owns the record of contributors.
* Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase.__init__): Instantiate repository with existing Contributor.Mapping.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor.test_git_log): No more global contributor record.
(TestContributor.test_git_svn_log): Ditto.
(TestContributor.test_git_no_author): Ditto.
(TestContributor.test_git_svn_no_author): Ditto.
(TestContributor.test_svn_log): Ditto.
(TestContributor.test_short_svn_log): Ditto.
(TestContributor.test_svn_patch_by_log): Ditto.
(TestContributor.test_author_mapping): Contributor record is owned by the caller of the caller
of Contributor management.
(TestContributor.test_email_mapping): Ditto.
(TestContributor.test_invalid_log): No more global contributor record.
2020-12-04 Kate Cheney <katherine_cheney@apple.com>
Create API to enable/disable text interaction gestures in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=217784
<rdar://problem/63406241>
Reviewed by Wenson Hsieh.
Add API test coverage for macOS and support for layout tests for iOS.
API tests do not support user gestures which is why iOS tests must
use WebKitTestRunner.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDisableSelection.mm: Added.
(TEST):
(clickAndDragToSelectText):
* TestWebKitAPI/Tests/WebKitCocoa/try-text-select-with-disabled-text-interaction.html: Added.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
(WTR::TestOptions::keyTypeMapping):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::textInteractionEnabled const):
2020-12-04 Adam Roben <aroben@apple.com>
More FALLBACK_PLATFORM adoption
https://bugs.webkit.org/show_bug.cgi?id=219545
Reviewed by Tim Horton.
* DumpRenderTree/Scripts/check-xcfilelists.sh:
* TestWebKitAPI/Scripts/check-xcfilelists.sh:
* WebKitTestRunner/Scripts/check-xcfilelists.sh:
Use FALLBACK_PLATFORM if it's defined.
* ContentExtensionTester/Configurations/SDKVariant.xcconfig:
* DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
* ImageDiff/cg/Configurations/SDKVariant.xcconfig:
* MiniBrowser/Configurations/SDKVariant.xcconfig:
* MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
* TestWebKitAPI/Configurations/SDKVariant.xcconfig:
* WebEditingTester/Configurations/SDKVariant.xcconfig:
* WebKitTestRunner/Configurations/SDKVariant.xcconfig:
* lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:
WK_EMPTY_$(THIS_IS_NOT_EMPTY) evaluates to the empty string, not to
NO.
2020-12-03 Alex Christensen <achristensen@webkit.org>
Introduce new download SPI
https://bugs.webkit.org/show_bug.cgi?id=217747
Reviewed by Brady Eidson.
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
(TestWebKitAPI::decidePolicyForNavigationResponse):
(TestWebKitAPI::decideDestinationWithSuggestedFilename):
(TestWebKitAPI::navigationResponseDidBecomeDownload):
(TestWebKitAPI::setPagePolicyClient):
(TestWebKitAPI::TEST):
(TestWebKitAPI::decidePolicyForNavigationAction): Deleted.
(TestWebKitAPI::setContextDownloadClient): Deleted.
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
(TestWebKitAPI::decideDestinationWithSuggestedFilename):
(TestWebKitAPI::contextMenuDidCreateDownload):
(TestWebKitAPI::TEST):
(TestWebKitAPI::decideDestinationWithSuggestedFilenameContainingSlashes):
(TestWebKitAPI::contextMenuDidCreateDownloadWithSuggestedFilenameContainingSlashes):
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[BecomeDownloadDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[ConvertResponseToDownloadNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[TestDownloadNavigationResponseFromMemoryCacheDelegate webView:didFailProvisionalNavigation:withError:]):
(-[TestDownloadNavigationResponseFromMemoryCacheDelegate webView:didFinishNavigation:]):
(TEST):
(downloadTestServer):
(checkResumedDownloadContents):
(simpleDownloadTestServer):
(checkFileContents):
(tempFileThatDoesNotExist):
(-[DownloadTestSchemeDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(TestWebKitAPI::mutateFile):
* TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
(-[DownloadProgressTestRunner webView:decidePolicyForNavigationResponse:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(TEST):
* TestWebKitAPI/cocoa/TestDownloadDelegate.h:
* TestWebKitAPI/cocoa/TestDownloadDelegate.mm:
(-[TestDownloadDelegate download:willPerformHTTPRedirection:newRequest:decisionHandler:]):
(-[TestDownloadDelegate download:decideDestinationWithResponse:suggestedFilename:completionHandler:]):
(-[TestDownloadDelegate download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[TestDownloadDelegate download:didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestDownloadDelegate downloadDidFinish:]):
(-[TestDownloadDelegate download:didFailWithError:resumeData:]):
(-[TestDownloadDelegate webView:navigationResponse:didBecomeDownload:]):
(-[TestDownloadDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[TestDownloadDelegate waitForDownloadDidFinish]):
(-[TestDownloadDelegate takeCallbackRecord]):
(-[TestDownloadDelegate _downloadDidStart:]): Deleted.
(-[TestDownloadDelegate _download:didReceiveServerRedirectToURL:]): Deleted.
(-[TestDownloadDelegate _download:didReceiveResponse:]): Deleted.
(-[TestDownloadDelegate _download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): Deleted.
(-[TestDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]): Deleted.
(-[TestDownloadDelegate _downloadDidFinish:]): Deleted.
(-[TestDownloadDelegate _download:didFailWithError:]): Deleted.
(-[TestDownloadDelegate _downloadDidCancel:]): Deleted.
(-[TestDownloadDelegate _download:didReceiveAuthenticationChallenge:completionHandler:]): Deleted.
(-[TestDownloadDelegate _download:didCreateDestination:]): Deleted.
* TestWebKitAPI/cocoa/TestLegacyDownloadDelegate.h: Copied from Tools/TestWebKitAPI/cocoa/TestDownloadDelegate.h.
* TestWebKitAPI/cocoa/TestLegacyDownloadDelegate.mm: Copied from Tools/TestWebKitAPI/cocoa/TestDownloadDelegate.mm.
(-[TestLegacyDownloadDelegate _downloadDidStart:]):
(-[TestLegacyDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[TestLegacyDownloadDelegate _download:didReceiveResponse:]):
(-[TestLegacyDownloadDelegate _download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[TestLegacyDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(-[TestLegacyDownloadDelegate _downloadDidFinish:]):
(-[TestLegacyDownloadDelegate _download:didFailWithError:]):
(-[TestLegacyDownloadDelegate _downloadDidCancel:]):
(-[TestLegacyDownloadDelegate _download:didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestLegacyDownloadDelegate _download:didCreateDestination:]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::navigationDidBecomeDownloadShared):
(WTR::TestController::navigationActionDidBecomeDownload):
(WTR::TestController::navigationResponseDidBecomeDownload):
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::decideDestinationWithSuggestedFilename):
(WTR::TestController::downloadDidFinish):
(WTR::TestController::downloadDidFail):
(WTR::TestController::downloadDidReceiveServerRedirectToURL):
(WTR::TestController::downloadDidStart):
(WTR::TestController::decidePolicyForNavigationAction):
(WTR::TestController::downloadDidCancel): Deleted.
* WebKitTestRunner/TestController.h:
2020-12-03 Adam Roben <aroben@apple.com>
Adopt FALLBACK_PLATFORM
https://bugs.webkit.org/show_bug.cgi?id=219504
Reviewed by Tim Horton.
* ContentExtensionTester/Configurations/SDKVariant.xcconfig:
* DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
* ImageDiff/cg/Configurations/SDKVariant.xcconfig:
* MiniBrowser/Configurations/SDKVariant.xcconfig:
* MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
* TestWebKitAPI/Configurations/SDKVariant.xcconfig:
* WebEditingTester/Configurations/SDKVariant.xcconfig:
* WebKitTestRunner/Configurations/SDKVariant.xcconfig:
* lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:
Use FALLBACK_PLATFORM it if it's defined, otherwise use PLATFORM_NAME
as before.
2020-12-03 Alex Christensen <achristensen@webkit.org>
Serialize NFA to disk before converting it to a DFA when compiling a WKContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=219452
Reviewed by Geoffrey Garen.
Update syntax of existing tests, which cover behavior quite well.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::createNFAs):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/DFAHelpers.h:
(TestWebKitAPI::createNFAs):
(TestWebKitAPI::buildDFAFromPatterns):
2020-12-03 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Incorrect identifier on remote SVN branches
https://bugs.webkit.org/show_bug.cgi?id=219509
<rdar://problem/71953465>
Reviewed by Stephanie Lewis.
Request reconstructed from packet inspection of requests sent by the svn binary.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn._cache_revisions): Clarify that revisions should only come from the specified branch.
2020-12-02 Tim Horton <timothy_horton@apple.com>
Many different assertion failures on the GPU process bot after r270366
https://bugs.webkit.org/show_bug.cgi?id=219467
Reviewed by Simon Fraser.
* CISupport/build-webkit-org/config.json:
Revert r270366; macOS UI-side compositing is in way too sad
of a state, the world is not ready for this yet.
2020-12-02 Brent Fulgham <bfulgham@apple.com>
[macOS] WebContent sandbox; remove AppleIntelMEUserClient
https://bugs.webkit.org/show_bug.cgi?id=219012
<rdar://problem/70462796>
Reviewed by Eric Carlson.
Update the various sandboxes to allow the UIProcess to extend IOKit classes
to child processes on macOS. We already do this on iOS.
* MiniBrowser/MiniBrowser.entitlements:
* TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements:
* TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements:
* WebKitTestRunner/Configurations/WebKitTestRunner.entitlements:
2020-12-02 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Allow caller of autoinstall to specify CA file
https://bugs.webkit.org/show_bug.cgi?id=219433
<rdar://problem/71869247>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall):
(AutoInstall._request): Allow user to specify CA cert file.
(AutoInstall.set_index): Allow caller to specify CA cert file.
2020-12-02 Tim Horton <timothy_horton@apple.com>
Enable UI-side compositing on the GPU Process layout tests bot
https://bugs.webkit.org/show_bug.cgi?id=219450
Reviewed by Simon Fraser.
* CISupport/build-webkit-org/config.json:
GPU Process without UI-side compositing is not a valid configuration.
2020-12-02 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Json encode Contributor
https://bugs.webkit.org/show_bug.cgi?id=217932
<rdar://problem/70462473>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit.Encoder.default): Use Json encoding for Contributor.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor.Encoder): Encode Contributor object as dictionary.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor.test_json_encode):
(TestContributor.test_json_decode):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
2020-12-02 Megan Gardner <megan_gardner@apple.com>
Create and draw app highlights
https://bugs.webkit.org/show_bug.cgi?id=219365
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebCore/MarkedText.cpp:
(WebCore::operator<<):
2020-12-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
Remove unused JSC ARMv7 worker from EWS
https://bugs.webkit.org/show_bug.cgi?id=219444
Reviewed by Aakash Jain.
Worker igalia-jsc32-armv7-ews-03 is unused and there isn't any
plan to use it on the near future.
* CISupport/ews-build/config.json:
2020-12-02 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Provide switch to exclude commit message
https://bugs.webkit.org/show_bug.cgi?id=219409
<rdar://problem/71866445>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.commit): Pass --format-short if the user is opting out of the commit message.
(Git.find): Add include_log flag, pass to commit(...) function.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.commit): Skip network call to retrieve commit message if include_log is false.
* Scripts/libraries/webkitscmpy/webkitscmpy/program.py:
(Find.parser): Add --log and --no-log flags.
(Find.main): Allow user to skip network call to retrieve commit message.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn.info): Support case were SVN cannot determine the author.
(Svn.commit): Skip network call to retrieve commit message if include_log is false.
* Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase.commit): Add include_log flag.
(ScmBase.find): Add include_log flag, pass to commit(...) function.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
(TestFind.test_no_log_svn):
(TestFind.test_no_log_git):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_no_log):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_no_log):
(TestRemoteSvn.test_no_log):
2020-12-02 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Add unit-tests based on new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219363
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/loadConfig_unittest.py: Drive-by fix to import loadConfig when running through runUnittests.py
* CISupport/build-webkit-org/htdigestparser.py: Adding python 3 compatibality.
* CISupport/build-webkit-org/htdigestparser_unittest.py: Adding python 3 compatibality.
* CISupport/build-webkit-org/steps_unittest.py: Added unit-tests for various steps.
(ExpectMasterShellCommand):
(BuildStepMixinAdditions):
(TestStepNameShouldBeValidIdentifier):
(TestStepNameShouldBeValidIdentifier.test_step_names_are_valid):
(TestRunBindingsTests):
(TestRunBindingsTests.test_success):
(TestRunBindingsTests.test_failure):
(TestKillOldProcesses):
(TestKillOldProcesses.test_success):
(TestKillOldProcesses.test_failure):
(TestCleanBuildIfScheduled):
(TestCleanBuildIfScheduled.test_success):
(TestCleanBuildIfScheduled.test_failure):
(TestCleanBuildIfScheduled.test_skip):
(TestInstallGtkDependencies):
(TestInstallGtkDependencies.test_success):
(TestInstallGtkDependencies.test_failure):
(TestInstallWpeDependencies):
(TestInstallWpeDependencies.test_success):
(TestInstallWpeDependencies.test_failure):
(TestCompileWebKit):
(TestCompileWebKit.test_success):
(TestCompileWebKit.test_success_gtk):
(TestCompileWebKit.test_success_wpe):
(TestCompileWebKit.test_failure):
(TestCompileJSCOnly):
(TestCompileJSCOnly.test_success):
(TestCompileJSCOnly.test_failure):
2020-12-02 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Handle adding, modifying and deleting files on branches
https://bugs.webkit.org/show_bug.cgi?id=219432
<rdar://problem/71894089>
Rubber-stamped by Aakash Jain.
Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn._branch_for): Support branch detection when files are added or deleted.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.__init__):
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.request):
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn._branch_for): Support branch detection when files are deleted.
2020-12-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
Switch EWS workers for JSC-ARMv7-32bits build and test queues to a new machine.
https://bugs.webkit.org/show_bug.cgi?id=219189
Reviewed by Aakash Jain.
This switches the workers for the JSC-ARMv7-32bits-Build-EWS and
JSC-ARMv7-32bits-Test-EWS queues to a new ARM server that will run
things faster than the previous combination of cross-builder + RPis
Since now the tets run natively there is no need for passing the
"--remote-config-file" switch to the run-javascriptcore-tests script.
However "--memory-limited" is still needed because the issues with
failures on memory intensive tests happen on all Linux machines.
So the check to pass this flag is generalized like we do for all
Linux ports on the build.webkit.org buildbot config.
* CISupport/ews-build/config.json:
* CISupport/ews-build/steps.py:
(RunJavaScriptCoreTests.start):
* CISupport/ews-build/steps_unittest.py:
(TestRunJavaScriptCoreTests.test_remote_success):
(TestRunJavaScriptCoreTests.test_dfg_air_and_stress_test_failure):
(TestReRunJavaScriptCoreTests.test_remote_success):
2020-12-02 Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com>
Add Tetsuharu Ohzeki to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=219429
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/config/contributors.json:
2020-12-01 Chris Dumez <cdumez@apple.com>
[iOS] GPUProcess.CrashWhilePlayingVideo is flaky
https://bugs.webkit.org/show_bug.cgi?id=219377
<rdar://problem/71859117>
Reviewed by Darin Adler.
Disable the flaky check on iOS while this is investigated so that the bots are happy.
In the iOS simulator, I see the audio track getting disabled shortly after the GPU
process is relaunched for some reason. I have spent a lot of time investigating the
issue but have been unable to identify the root cause yet.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2020-12-01 Sergey Rubanov <chi187@gmail.com>
Add Sergey Rubanov to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=219400
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/config/contributors.json:
2020-12-01 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r270132.
Caused at least one regression test failure
(webkit.org/b/219401)
Reverted changeset:
"Use a Version 1 CFRunLoopSource for faster task dispatch"
https://bugs.webkit.org/show_bug.cgi?id=202874
https://trac.webkit.org/changeset/270132
2020-12-01 Aakash Jain <aakash_jain@apple.com>
Share runUnittests.py for ews-build and build.webkit.org unit-tests
https://bugs.webkit.org/show_bug.cgi?id=219374
Reviewed by Jonathan Bedard.
* CISupport/runUnittests.py: Moved from Tools/CISupport/ews-build/runUnittests.py.
* CISupport/ews-build/runUnittests.py: Removed.
* CISupport/ews-build/steps.py:
(RunEWSUnitTests): Updated ews configuration appropriately.
(RunEWSUnitTests.__init__):
* CISupport/ews-build/steps_unittest.py: Updated EWS unit-tests accordingly.
2020-12-01 Youenn Fablet <youenn@apple.com>
Add support for readable/writable to RTCRtpSFrameTransform
https://bugs.webkit.org/show_bug.cgi?id=219298
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp:
(TestWebKitAPI::createVideoTransformer):
2020-11-30 Wenson Hsieh <wenson_hsieh@apple.com>
check-webkit-style should allow WebKitAdditions headers to appear after soft linking headers
https://bugs.webkit.org/show_bug.cgi?id=219382
Reviewed by Darin Adler.
The header include ordering rule that forces soft linking headers to be included last in implementation (cpp and
mm) files shouldn't really apply to WebKitAdditions headers, since those additions headers are only meant to
contain method and function implementations anyways.
Fix this by adding code to recognize WebKitAdditions headers as a special type of header, and exempt these
headers from the `'*SoftLink.h header should be included after all other headers.'` rule.
* Scripts/webkitpy/style/checkers/cpp.py:
(_IncludeState):
(_IncludeState.check_next_include_order):
(_classify_include):
* Scripts/webkitpy/style/checkers/cpp_unittest.py: Add a test case to exercise this scenario.
2020-11-30 Brian Burg <bburg@apple.com>
filter-build-webkit: reduce non-actionable warnings from objc runtime and xcodebuild
https://bugs.webkit.org/show_bug.cgi?id=219376
Reviewed by Simon Fraser.
* Scripts/filter-build-webkit:
(shouldIgnoreLine):
2020-11-30 Chris Dumez <cdumez@apple.com>
sessionStorage should not be cloned when a window is opened with rel=noopener
https://bugs.webkit.org/show_bug.cgi?id=218804
<rdar://problem/71286606>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/SessionStorage.mm: Added.
(-[SessionStorageUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[SessionStorageUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(createAndInitializeTestWebView):
(checkSessionStorageInNewWindow):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/confirm.html: Added.
2020-11-30 Jonathan Bedard <jbedard@apple.com>
[git transition] Add old aliases to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=219367
<rdar://problem/71821209>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/common/config/contributors.json: Add old aliases for Ken Kocienda and
Maciej Stachowiak.
2020-11-30 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Move old buildbot unittests to steps_unittest_old.py (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=219364
<rdar://problem/71821157>
Unreviewed minor follow-up fix.
* CISupport/build-webkit-org/loadConfig_unittest.py:
2020-11-30 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Move old buildbot unittests to steps_unittest_old.py
https://bugs.webkit.org/show_bug.cgi?id=219364
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/committer_auth_unittest.py: Removed.
* CISupport/build-webkit-org/committer_auth_unittest_old.py: Moved from Tools/CISupport/build-webkit-org/committer_auth_unittest.py.
* CISupport/build-webkit-org/steps_unittest.py: Removed.
* CISupport/build-webkit-org/steps_unittest_old.py: Moved from Tools/CISupport/build-webkit-org/steps_unittest.py.
* CISupport/ews-build/steps.py:
(RunBuildWebKitOrgUnitTests): Updated ews configuration appropriately.
(RunBuildWebKitOrgUnitTests.getResultSummary):
* CISupport/ews-build/steps_unittest.py: Updated ews unit-tests.
2020-11-30 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support remote repositories in git-webkit
https://bugs.webkit.org/show_bug.cgi?id=219172
<rdar://problem/71594909>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/program.py:
(Command.parser): Remove repository, since it depends on the parser.
(Command.main): Support arguments to main functions.
(Find.parser): Remove repository, since it depends on the parser.
(Checkout.parser): Ditto.
(Checkout.main): Early return if specified repository is remote.
(main): Construct repository based on path argument.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:
(TestCheckout):
(TestCheckout.test_checkout_remote):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
(TestFind.test_baisc_svn_remote):
2020-11-30 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] webkitscmpy.test.svn_unittest.TestRemoteSvn.test_info timezone dependent
https://bugs.webkit.org/show_bug.cgi?id=219263
<rdar://problem/71806358>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestRemoteSvn.test_info):
2020-11-30 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update RunTest262Tests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219356
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(RunTest262Tests):
(RunTest262Tests.start): Initialized log observer.
(RunTest262Tests.parseOutputLine): Parse each log line as they come.
(RunTest262Tests.countFailures): Updated to return failedTestCount.
2020-11-30 Aakash Jain <aakash_jain@apple.com>
Automatically delete old data from ews buildbot instance
https://bugs.webkit.org/show_bug.cgi?id=214921
Reviewed by Jonathan Bedard.
* CISupport/ews-build/master.cfg: Configured JanitorConfigurator to delete logs older than one year, and
configured to run every morning.
2020-11-30 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update RunLLINTCLoopTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219084
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(RunLLINTCLoopTests):
(RunLLINTCLoopTests.start): Initialized log observer.
(RunLLINTCLoopTests.parseOutputLine): Parse each log line as they come.
(RunLLINTCLoopTests.countFailures): Updated to return failedTestCount.
2020-11-27 Wenson Hsieh <wenson_hsieh@apple.com>
Introduce new display list meta commands in preparation for webkit.org/b/219091
https://bugs.webkit.org/show_bug.cgi?id=219262
Reviewed by Ryosuke Niwa.
Rename `MetaCommandSwitchToItemBuffer`.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
2020-11-27 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] use lz4 compression for improving buildbot performance
https://bugs.webkit.org/show_bug.cgi?id=219133
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
2020-11-27 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MiniBroeser add an option to quit the browser after loading finishes
https://bugs.webkit.org/show_bug.cgi?id=219081
Reviewed by Carlos Alberto Lopez Perez.
It's useful to run benchmarks or test case reduction tools.
* MiniBrowser/gtk/BrowserTab.c:
(webProcessTerminatedCallback): Show a warning when the web process crashes.
(browserTabConstructed): Connect to web-process-terminated signal.
* MiniBrowser/gtk/main.c:
(quitApplication): Quit the MiniBrowser.
(exitAfterWebViewLoadFinishesCallback): Schedule a browser quit to the next run loop iteration.
(exitAfterWebProcessCrashed): Call exitAfterWebViewLoadFinishesCallback with WEBKIT_LOAD_FINISHED.
(exitAfterWebViewLoadFinishes): Connect to load-changed and web-process-terminated signals
(activate): Ensure the browser is exited after the load finishes or web process crashes when --exit-after-load is passed.
2020-11-26 Lauro Moura <lmoura@igalia.com>
[GTK] Unreviewed. Remove leftover test case after Internet Explorer quirks changes
The test cases were still expecting Linux platform for
drive.google.com, which now uses the IE quirk and thus the Windows
platform.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2020-11-26 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update Run32bitJSCTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219085
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(Run32bitJSCTests):
(Run32bitJSCTests.start): Initialized log observer.
(Run32bitJSCTests.parseOutputLine): Parse each log line as they come.
(Run32bitJSCTests.countFailures): Updated to return failedTestCount.
2020-11-26 Frederic Wang <fwang@igalia.com>
[GTK] Allow WebKitTestServer to run non-loopback addresses for API tests
https://bugs.webkit.org/show_bug.cgi?id=219257
GTK API tests currently assumes that loopback IP addresses can be treated as mixed content
in order to test WEBKIT_INSECURE_CONTENT_RUN and WEBKIT_INSECURE_CONTENT_DISPLAYED APIs.
After bug 218623, this will no longer be true so this patch adds an option to
WebKitTestServer so that it can run a server listening to "localhost" instead. This approach
will work until bug 171934 is fixed, but we might add a way to launch a server listening to
non-localhost addresses (bug 219198) or review the whole mixed content handling in the
future (bug 140625). This patch also tweaks a bit WebKitTestServer options, so they use a
bitset instead.
Reviewed by Michael Catanzaro.
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(beforeAll): Add a ServerNonLoopback bit to the HTTPS server used by the tests, so that
insecure content APIs will still work after bug 218623. Also remove explicit options for the
HTTP server since it just uses the default (no bits set).
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer): Use the new bitset syntax. Starts a server listening to
"localhost" if the ServerNonLoopback bit is set.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h: Make the enum a list of bit positions
and the parameter a bitset of options. Add the new ServerNonLoopback option and remove
ServerHTTP, which corresponds to the default value (no bits set).
2020-11-26 Michael Catanzaro <mcatanzaro@gnome.org>
[WPE][GTK] Use Internet Explorer quirk for Google Docs
https://bugs.webkit.org/show_bug.cgi?id=219278
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasInternetExplorerBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasWindowsPlatformQuirk):
(TestWebKitAPI::TEST):
2020-11-21 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Implement SPI for AuthenticationServices.Framework
https://bugs.webkit.org/show_bug.cgi?id=218893
<rdar://problem/71364731>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
(): Deleted.
2020-11-20 Kate Cheney <katherine_cheney@apple.com>
PCM: Persist pending ad clicks and attributions so they can survive browser restart
https://bugs.webkit.org/show_bug.cgi?id=219134
<rdar://problem/70470129>
Reviewed by John Wilander.
Add support for testing of expired ad-clicks and attributions.
Update names after Private Click Measurement standards discussions.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
(WTR::TestRunner::simulateResourceLoadStatisticsSessionRestart):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
(WTR::TestController::simulateResourceLoadStatisticsSessionRestart):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-11-20 Geoffrey Garen <ggaren@apple.com>
Use a Version 1 CFRunLoopSource for faster task dispatch
https://bugs.webkit.org/show_bug.cgi?id=202874
Reviewed by Simon Fraser.
Fixed a test incompatibiilty.
* TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
(TestWebKitAPI::Util::spinRunLoop): Be sure to run the runloop until
it runs out of sources to handle.
The SuspendServiceWorkerProcessBasedOnClientProcesses test invokes
spinRunLoop while adding items to the runloop. Under those conditions,
whether a given source will fire or not in a single invocation of
CFRunLoopRunInMode is undefined behavior.
2020-11-20 Don Olmstead <don.olmstead@sony.com>
Remove quota module
https://bugs.webkit.org/show_bug.cgi?id=219206
Reviewed by Anders Carlsson.
Remove the option to ENABLE_QUOTA.
* Scripts/webkitperl/FeatureList.pm:
2020-11-20 Frederic Wang <fwang@igalia.com>
[GTK] Migrate WebKitTestServer to libsoup 2.48 API
https://bugs.webkit.org/show_bug.cgi?id=219160
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer): SOUP_SERVER_INTERFACE and soup_server_get_port are
deprecated. The libsoup doc recommends to use soup_server_listen* and soup_server_get_uris
instead. Existing code uses 127.0.0.1 (https or http) which corresponds to calling
soup_server_listen_local with thIPV4_ONLY (and HTTPS or HTTP) option.
2020-11-19 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r259151): The "Convert Text to Traditional Chinese" services menu action is broken
https://bugs.webkit.org/show_bug.cgi?id=219190
<rdar://problem/71438389>
Reviewed by Tim Horton.
Add an API test to exercise `-readSelectionFromPasteboard:`.
* TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
(TEST):
2020-11-19 Hoa Dinh <dvh@apple.com>
Code formatting: change instances of "@synthesize a=b" to "@synthesize a = b".
https://bugs.webkit.org/show_bug.cgi?id=219094
Reviewed by Wenson Hsieh.
There was a mix of "@synthesize a=b" and "@synthesize a = b" in the codebase.
Most of the instances are "@synthesize a = b", with spaces around the equal sign.
With https://bugs.webkit.org/show_bug.cgi?id=219092, we're changing the behavior of
the code style checker to require spaces around the equal sign.
The change replace all the instances of "@synthesize a=b" with "@synthesize a = b".
* DumpRenderTree/DumpRenderTreeFileDraggingSource.m:
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
* MiniBrowser/mac/BrowserWindowController.m:
* TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
* TestWebKitAPI/Tests/WebKit/mac/CustomBundleObject.mm:
* TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm:
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
* TestWebKitAPI/mac/TestDraggingInfo.mm:
* TestWebKitAPI/mac/TestFontOptions.mm:
2020-11-19 Hoa Dinh <dvh@apple.com>
check-webkit-style: requires spaces around the equal sign for Objective-C @synthesize.
https://bugs.webkit.org/show_bug.cgi?id=219092
Reviewed by Wenson Hsieh.
Teach the Objective-C style checker to prefer `@synthesize a = b` over `@synthesize a=b`. As a followup,
<webkit.org/b/219094> will apply this style rule in existing @synthesize statements in WebKit.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
2020-11-19 James Darpinian <jdarpinian@chromium.org>
Improve update-angle script and move to Tools/Scripts
https://bugs.webkit.org/show_bug.cgi?id=218831
Reviewed by Kenneth Russell.
update-angle fetches changes from upstream ANGLE into Source/ThirdParty/ANGLE,
updates WebKit's build files and helps merge WebKit's local changes.
- Moved to Tools/Scripts so that it doesn't overwrite itself during the
update process.
- Reversed direction of rebase. Before the script rebased ANGLE on WebKit;
now it rebases WebKit's ANGLE changes on upstream ANGLE master. This
makes a lot more sense and results in fewer changes to rebase. This
requires the use of git-filter-repo to make the rebase not prohibitively
slow.
- Removed bash dependency.
- Fixed all issues identified by shellcheck.
- Fixed changes.diff to show added files, while filtering files added by
WebKit's build process.
- Fixed changes.diff to ignore whitespace changes.
- Added --regenerate-changes-diff option to update changes.diff in between
ANGLE updates.
- Updated [angle_]commit.h generation for upstream changes.
- Removed need to run the script multiple times during the rebase process.
* Scripts/update-angle: Added.
2020-11-19 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Resolve baseline search path for Big Sur as default version
https://bugs.webkit.org/show_bug.cgi?id=219176
<rdar://problem/71597951>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path):
2020-11-19 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support remote Subversion repository
https://bugs.webkit.org/show_bug.cgi?id=218827
<rdar://problem/71304485>
Rubber-stamped by Aakash Jain.
It is possible to interact with a Subversion repository without the svn command. This is useful
for services hosted in environments where installing binaries is burdensome, or in cases where
tools are running without a checkout.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version, add dependencies.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/__init__.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/__init__.py: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py: Added.
(Svn): Interact with a remote Subversion repository without using the svn command.
(Svn.is_webserver): Check if the provided url matches the pattern for a Subversion server.
(Svn.__init__):
(Svn.is_svn):
(Svn._latest): Return the latest revision.
(Svn.info): Return the bits of the `svn info` command that are used in code.
(Svn.default_branch):
(Svn.list):
(Svn.branches): List all branches.
(Svn.tags): List all tags.
(Svn._cache_path): Return path to json cache.
(Svn._cache_lock): Filesystem lock used to prevent contention over the json cache, this
is particularly important during testing.
(Svn._cache_revisions): Cache the identifier/revision mapping.
(Svn._branch_for): Given a commit, determine which branch that commit is on.
(Svn._commit_count): Determine the amount of commits on a branch since branching.
(Svn.commit): Return a commit object given a revision, branch, identifier or tag.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/__init__.py: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/scm.py: Added.
(Scm):
(Scm.from_url): Given a URL, attempt to determine what kind of remote API is available.
(Scm.__init__):
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py: Added.
(Svn): Mock requests needed to interact with a remote Subversion repository.
(Svn.latest): Return the most recent commit on any branch.
(Svn.branches): Return branches at some revision.
(Svn.tags): Return tags at some revision.
(Svn.range): Give a start and end revision, along with a tag or branch,
return all commits in that range.
(Svn.request): Handle a small subset of requests to a Subversion server.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn): Moved from TestSvn.
(TestRemoteSvn): Added.
(TestSvn): Moved to TestLocalSvn.
2020-11-19 Per Arne Vollan <pvollan@apple.com>
[macOS] Issue sandbox extension to Web Inspector service
https://bugs.webkit.org/show_bug.cgi?id=219041
<rdar://problem/71495287>
Reviewed by Brent Fulgham.
Allow MiniBrowser to read preferences from the domain com.apple.Safari.SandboxBroker.
* MiniBrowser/MiniBrowser.entitlements:
2020-11-19 Alexey Proskuryakov <ap@apple.com>
Make block-spammers autoinstall requests
https://bugs.webkit.org/show_bug.cgi?id=219137
Reviewed by Jonathan Bedard.
* Scripts/block-spammers: Move the webkitpy import first, making autoinstaller
is available for subsequent imports.
2020-11-18 Wenson Hsieh <wenson_hsieh@apple.com>
Rename MetaCommandSwitchTo to MetaCommandSwitchToItemBuffer
https://bugs.webkit.org/show_bug.cgi?id=219130
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
2020-11-18 Jonathan Bedard <jbedard@apple.com>
[webitscmpy] Branch point incorrect for Git checkouts
https://bugs.webkit.org/show_bug.cgi?id=219132
<rdar://problem/71561569>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.commit): Banca-point is the distance from the primordial commit minus the distance from
the default branch.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
2020-11-18 Alexey Proskuryakov <ap@apple.com>
Remove IRC bots from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=219111
Reviewed by Jonathan Bedard and Aakash Jain.
We haven't been running any IRC bots for a while, this is dead code.
* Scripts/webkitpy/common/net/irc: Removed.
* Scripts/webkitpy/thirdparty/irc: Removed.
* Scripts/webkitpy/tool/bot/irc_command.py: Removed.
* Scripts/webkitpy/tool/bot/irc_command_unittest.py: Removed.
* Scripts/webkitpy/tool/bot/ircbot.py: Removed.
* Scripts/webkitpy/tool/bot/ircbot_unittest.py: Removed.
* Scripts/webkitpy/tool/bot/sheriff.py: Removed.
* Scripts/webkitpy/tool/bot/sheriff_unittest.py: Removed.
* Scripts/webkitpy/tool/commands/__init__.py:
* Scripts/webkitpy/tool/commands/newcommitbot.py: Removed.
* Scripts/webkitpy/tool/commands/newcommitbot_unittest.py: Removed.
* Scripts/webkitpy/tool/commands/perfalizer.py: Removed.
* Scripts/webkitpy/tool/commands/perfalizer_unittest.py: Removed.
* Scripts/webkitpy/tool/commands/sheriffbot.py: Removed.
* Scripts/webkitpy/tool/commands/sheriffbot_unittest.py: Removed.
* Scripts/webkitpy/tool/main.py:
(WebKitPatch):
(WebKitPatch.__init__):
(WebKitPatch.path):
(WebKitPatch.command_completed):
(WebKitPatch.handle_global_options):
(WebKitPatch.ensure_irc_connected): Deleted.
(WebKitPatch.irc): Deleted.
* Scripts/webkitpy/tool/mocktool.py:
(MockTool.__init__):
(MockTool.path):
(MockTool.ensure_irc_connected): Deleted.
(MockTool.irc): Deleted.
2020-11-18 Wenson Hsieh <wenson_hsieh@apple.com>
[Concurrent display lists] Add a way for display lists to partially replay
https://bugs.webkit.org/show_bug.cgi?id=219067
Reviewed by Simon Fraser.
Add a test that exercises partial display list replay.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cg/DisplayListTestsCG.cpp: Added.
(TestWebKitAPI::TEST):
2020-11-17 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Improve Wasm binary test coverage
https://bugs.webkit.org/show_bug.cgi?id=204843
Reviewed by Darin Adler.
We add more tests for LEBDecoder. In particular, the added tests focus on the case which overflow bits.
* TestWebKitAPI/Tests/WTF/LEBDecoder.cpp:
(TestWebKitAPI::toString):
(TestWebKitAPI::testUInt32LEBDecode):
(TestWebKitAPI::TEST):
(TestWebKitAPI::testUInt64LEBDecode):
(TestWebKitAPI::testInt32LEBDecode):
(TestWebKitAPI::testInt64LEBDecode):
2020-11-18 Aakash Jain <aakash_jain@apple.com>
[ews] Add timeout to network requests
https://bugs.webkit.org/show_bug.cgi?id=218994
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(BugzillaMixin.fetch_data_from_url_with_authentication): Added timeout to requests.get() call.
(BugzillaMixin.fetch_data_from_url): Ditto.
(ValidateCommiterAndReviewer.load_contributors_from_trac): Ditto.
(CheckPatchStatusOnEWSQueues.get_patch_status): Ditto.
2020-11-18 Keith Rollin <krollin@apple.com>
Extend check-for-inappropriate-files-in-framework to check for .tmp files
https://bugs.webkit.org/show_bug.cgi?id=219064
<rdar://problem/71519010>
Reviewed by Alexey Proskuryakov.
Some *.tmp files that were generated from post-processing header files
were appearing in *.framework/Headers directories. The problem doesn't
seem to be occurring any more, but update
check-for-inappropriate-files-in-framework to catch it if it does
again.
* Scripts/check-for-inappropriate-files-in-framework:
2020-11-18 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Respect --result-report-flavor on device ports
https://bugs.webkit.org/show_bug.cgi?id=219112
<rdar://problem/71553965>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/port/device_port.py:
(DevicePort.configuration_for_upload): Add flavor to the configuration, if flag passed.
2020-11-18 Matt Lewis <jlewis3@apple.com>
Big Sur testers failing to download build products
https://bugs.webkit.org/show_bug.cgi?id=219095
Reviewed by Aakash Jain.
Fixing the url parsing to deal with special characters. Also
reworking the imports to help with transition to python3.
* CISupport/download-built-product:
(main):
2020-11-18 Chris Dumez <cdumez@apple.com>
[iOS] beforeunload event does not fire in MobileSafari
https://bugs.webkit.org/show_bug.cgi?id=219102
<rdar://problem/70550655>
Reviewed by Geoff Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/beforeunload.html:
* TestWebKitAPI/Tests/WebKitCocoa/ModalAlerts.mm:
(-[UIDelegateWithoutRunBeforeUnload webViewDidClose:]):
(-[BeforeUnloadMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
2020-11-18 Chris Dumez <cdumez@apple.com>
navigator.clipboard is not exposed on *.localhost pages
https://bugs.webkit.org/show_bug.cgi?id=219020
Reviewed by Wenson Hsieh.
Extend API test coverage.
* TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
(TestWebKitAPI::TEST_F):
2020-11-18 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update RunPerlTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219083
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(RunPerlTests):
(RunPerlTests.start): Initialized log observer.
(RunPerlTests.parseOutputLine): Parse each log line as they come.
(RunPerlTests.countFailures): Updated to return failedTestCount.
2020-11-18 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update RunPythonTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219082
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(RunPythonTests):
(RunPythonTests.start): Initialized log observer.
(RunPythonTests.parseOutputLine): Parse each log line as they come.
(RunPythonTests.countFailures): Updated to return failedTestCount.
2020-11-18 Michael Catanzaro <mcatanzaro@gnome.org>
[WPE][GTK] Update Outlook user agent quirk
https://bugs.webkit.org/show_bug.cgi?id=219049
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2020-11-18 Carlos Alberto Lopez Perez <clopez@igalia.com>
[FlatPak] update-webkitgtk-libs fails after a clean build
https://bugs.webkit.org/show_bug.cgi?id=218724
Reviewed by Philippe Normand.
The issue was caused because when adding a new flatpak repository
via the method FlatpakRepos.add() that repository is not added to
the internal list of available repositories inside the object FlatpakRepos.
So then the check on setup_builddir() added in r268542 failed because
the internal list of repositories on the object FlatpakRepos() was
empty on the first run (after a clean build).
To fix this we ensure to re-generate the internal list of flatpak
repositories any time that a new reporistory is added by calling
FlatpakRepos.update() after FlatpakRepos.add()
On top of that fix, we add another fix to make the code more robust.
Now it allows the generation of toolchains to fail without causing
a fatal error. Also a new check is added in order to retry to generate
the toolchains in the next run if is detected that they were not
correctly generated.
* flatpak/flatpakutils.py:
(FlatpakRepos.add):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.main):
(WebkitFlatpak.check_toolchains_generated):
(WebkitFlatpak.pack_toolchain):
2020-11-17 Diego Pino Garcia <dpino@igalia.com>
[buildbot] Add buildAndTest bot for WebKitGTK (GTK4)
https://bugs.webkit.org/show_bug.cgi?id=213016
Reviewed by Carlos Alberto Lopez Perez.
Add a new post-commit bot to test WebKitGTK using GTK4 library.
The bot builds WebKitGTK and runs the following test suites: layout-test, api-test
and webdriver-test.
* CISupport/build-webkit-org/config.json:
* CISupport/build-webkit-org/factories.py:
(BuildAndTestAllButJSCFactory):
(BuildAndTestAllButJSCFactory.getProduct):
(BuildAndTestAllButJSCFactory.__init__):
* CISupport/build-webkit-org/steps_unittest.py:
2020-11-17 Matt Lewis <jlewis3@apple.com>
Big Sur testers fail to find proper archives due to architecture keys.
https://bugs.webkit.org/show_bug.cgi?id=219039
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/config.json:
2020-11-17 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Support mocking request network calls.
https://bugs.webkit.org/show_bug.cgi?id=218927
<rdar://problem/71389720>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests.py: Moved to requests_.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests_.py: Copied from Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests.py.
(Response): Object mimicking the structure of Requests's response object, useful for mocking.
(Requests): Context manager which will intercept http and https requests to a specific host.
(Requests.__exit__):
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/requests_unittest.py: Added.
(MockRequests):
(MockRequests.test_basic):
(MockRequests.test_fallback):
2020-11-17 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update ExtractTestResults step for new buildbot (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=218759
<rdar://problem/71246754>
Unreviewed minor follow-up fix.
* CISupport/build-webkit-org/steps.py:
(ExtractTestResults):
2020-11-16 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Generalize parts of local.Scm class
https://bugs.webkit.org/show_bug.cgi?id=218935
<rdar://problem/71395688>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm):
(Scm.Exception): Moved to ScmBase.
(Scm.__init__): Move branches logic to ScmBase.
(Scm.is_svn): Moved to ScmBase.
(Scm.is_git): Ditto.
(Scm.default_branch): Ditto.
(Scm.branches): Ditto.
(Scm.tags): Ditto.
(Scm.find): Ditto.
(Scm.commit): Ditto.
(Scm.prioritize_branches): Ditto.
(Scm.log): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.commit): Passing branch to self.info is redundant.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/__init__.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py: Added.
(ScmBase): Base class for all local and remote Scm objects.
(ScmBase.Exception): Moved from local.Scm.
(ScmBase.__init__): Ditto.
(ScmBase.is_svn): Ditto.
(ScmBase.is_git): Ditto.
(ScmBase.default_branch): Ditto.
(ScmBase.branches): Ditto.
(ScmBase.tags): Ditto.
(ScmBase.commit): Ditto.
(ScmBase.prioritize_branches): Ditto.
(ScmBase.find): Ditto.
(ScmBase.log): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
2020-11-16 Ling Ho <lingho@apple.com>
Updated contributors.json to remove inactive committers and reviewers.
Removed irc user "Adam Barth" from IRCCommand in webkitpy unittest.
https://bugs.webkit.org/show_bug.cgi?id=219006
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
(IRCCommandTest.test_whois):
2020-11-16 John Wilander <wilander@apple.com>
PCM: Change attribute and JSON key names according to the W3C conversation
https://bugs.webkit.org/show_bug.cgi?id=218967
Reviewed by Brent Fulgham.
We've discussed extensively with Google and others on naming for the link
attributes and JSON key names in these issues:
https://github.com/privacycg/private-click-measurement/issues/30
https://github.com/privacycg/private-click-measurement/issues/56
This patch changes PCM accordingly.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp:
(TestWebKitAPI::TEST):
2020-11-16 Matt Lewis <jlewis3@apple.com>
Bring up Big Sur Builders and Testers
https://bugs.webkit.org/show_bug.cgi?id=218917
Reviewed by Aakash Jain.
* CISupport/build-webkit-org/config.json:
* CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
2020-11-16 Chris Dumez <cdumez@apple.com>
Fix several leaks of CGContext in API tests
https://bugs.webkit.org/show_bug.cgi?id=218988
Reviewed by Wenson Hsieh.
Make sure we adopt the value returned by CGBitmapContextCreate().
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
(TestWebKitAPI::TEST):
2020-11-15 Youenn Fablet <youenn@apple.com>
Add a WebRTC SFrame transform
https://bugs.webkit.org/show_bug.cgi?id=218752
Reviewed by Eric Carlson.
Add unit tests that validate SFrame generation and parsing.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/RTCRtpSFrameTransformerTests.cpp: Added.
(TestWebKitAPI::getRawKey):
(TestWebKitAPI::createVideoTransformer):
(TestWebKitAPI::checkVectorsAreEqual):
(TestWebKitAPI::TEST):
2020-11-13 Sihui Liu <sihui_liu@apple.com>
Implement basic permission check for SpeechRecognition
https://bugs.webkit.org/show_bug.cgi?id=218476
<rdar://problem/71222638>
Reviewed by Youenn Fablet.
* MiniBrowser/mac/Info.plist:
* MobileMiniBrowser/MobileMiniBrowser/Info.plist:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm: Added.
(-[SpeechRecognitionPermissionUIDelegate _webView:requestSpeechRecognitionPermissionForOrigin:decisionHandler:]):
(-[SpeechRecognitionMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-user-permission-persistence.html: Added.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setIsSpeechRecognitionPermissionGranted):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::decidePolicyForSpeechRecognitionPermissionRequest):
(WTR::TestController::completeSpeechRecognitionPermissionCheck):
(WTR::TestController::setIsSpeechRecognitionPermissionGranted):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::resetStateToConsistentValues):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-11-13 Chris Dumez <cdumez@apple.com>
[GPUProcess] Add basic GPUProcess crash handling for canvas
https://bugs.webkit.org/show_bug.cgi?id=218924
Reviewed by Simon Fraser.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(convertToCGImage):
(getPixelIndex):
(TEST):
2020-11-13 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update CompileWebKit step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=218922
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(CompileWebKit.start): Initialize logobserver.
(CompileWebKit.parseOutputLine): Method to process each line.
(CompileWebKit._addToLog): Method to add to the log which is displayed in UI.
(CompileWebKit.createSummary):
2020-11-13 Jonathan Bedard <jbedard@apple.com>
REGRESSION: r269514 Reset server port before restarting webserver
https://bugs.webkit.org/show_bug.cgi?id=218918
<rdar://problem/71380345>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.serve): Reset server port.
(SimpleHTTPServerDriver.kill_server): Ditto.
2020-11-13 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update RunAPITests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=218907
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(TestWithFailureCount.getText): Added FIXME to remove this method after switching to buildbot v2.
(TestWithFailureCount.getText2): Added FIXME to remove this method after switching to buildbot v2.
(TestWithFailureCount.getResultSummary): Method to generate custom step summary.
(RunWebKitTests.getResultSummary): Removed unnecessary u'', python3 defaults to unicode anyways.
(RunAPITests):
(RunAPITests.start): Use ParseByLineLogObserver.
(RunAPITests.countFailures):
(RunAPITests.parseOutputLine): Method to process each line.
2020-11-12 Darin Adler <darin@apple.com>
Remove unused advanced plug-in features: snapshotting and plug-in load policy
https://bugs.webkit.org/show_bug.cgi?id=218835
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Removed
PluginLoadClientPolicies.mm.
* TestWebKitAPI/Tests/WebKitCocoa/PluginLoadClientPolicies.mm: Removed.
This tested a feature that is now removed.
2020-11-13 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Use python3 to run transfer-to-s3 script
https://bugs.webkit.org/show_bug.cgi?id=218904
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(TransferToS3.start):
2020-11-13 Kimmo Kinnunen <kkinnunen@apple.com>
Add Kimmo Kinnunen as committer
https://bugs.webkit.org/show_bug.cgi?id=218888
Reviewed by Antti Koivisto.
* Scripts/webkitpy/common/config/contributors.json:
2020-11-12 Sam Weinig <weinig@apple.com>
Move more WebKitLegacy specific settings usage to WebPreferences.yaml
https://bugs.webkit.org/show_bug.cgi?id=218852
Reviewed by Tim Horton.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
Remove unnecessary call of [WebPreferences setUsePreHTML5ParserQuirks:NO] as this is the default.
2020-11-12 Devin Rousso <drousso@apple.com>
Web Inspector: ensure that `JSON::ArrayOf<T>` doesn't allow `addItem` to be called with a type other than `T`
https://bugs.webkit.org/show_bug.cgi?id=218686
Reviewed by Brian Burg.
* TestWebKitAPI/Tests/WTF/JSONValue.cpp:
(TestWebKitAPI::TEST):
Use `_s` and `makeString` to ensure that the `String` function overload is used.
2020-11-12 Ali Juma <ajuma@chromium.org>
configure-xcode-for-embedded-development breaks @available in Swift files
https://bugs.webkit.org/show_bug.cgi?id=218850
Reviewed by Jonathan Bedard.
The changes applied by configure-xcode-for-embedded-development
for AvailabilityProhibitedInternal.h cause API_AVAILABLE to be ignored
in Objective-C, but @available is not ignored in Swift. As a result,
if an Objective-C method marked with API_AVAILABLE makes a call
into a Swift class marked with @available, this can lead to an
availability warning even when the calling method is only available
when the callee is available.
To fix this, ensure that @available is also ignored in Swift.
* Scripts/configure-xcode-for-embedded-development:
2020-11-12 Chris Dumez <cdumez@apple.com>
[GPUProcess] Add basic GPUProcess crash handling for media playback
https://bugs.webkit.org/show_bug.cgi?id=218825
Reviewed by Eric Carlson.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2020-11-12 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] configure buildbot not to send Usage Data to buildbot developers
https://bugs.webkit.org/show_bug.cgi?id=218821
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
2020-11-12 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Remove obsolete buildHorizon, eventHorizon and logHorizon properties from master_buildbot2.cfg
https://bugs.webkit.org/show_bug.cgi?id=218818
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
2020-11-12 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Replace status with www in master.cfg
https://bugs.webkit.org/show_bug.cgi?id=218822
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
2020-11-12 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] replace c['slavePortnum'] with c['protocols'] in master_buildbot2.cfg
https://bugs.webkit.org/show_bug.cgi?id=218819
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/master_buildbot2.cfg:
2020-11-12 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update CheckOutSource step for new buildbot (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=218802
<rdar://problem/71295484>
Unreviewed minor follow-up fix.
* CISupport/build-webkit-org/steps.py:
(CheckOutSource):
2020-11-12 Zalan Bujtas <zalan@apple.com>
Show legacy line layout visual coverage instead of "simple line" layout.
https://bugs.webkit.org/show_bug.cgi?id=218695
Reviewed by Antti Koivisto.
* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleLegacyLineLayoutVisualCoverageEnabled:]):
(-[SettingsController legacyLineLayoutVisualCoverageEnabled]):
(-[SettingsController toggleSimpleLineLayoutDebugBordersEnabled:]): Deleted.
(-[SettingsController simpleLineLayoutDebugBordersEnabled]): Deleted.
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):
2020-11-12 Lauro Moura <lmoura@igalia.com>
[WPE][TestWebKitAPI] Wait for RenderingState::Started to avoid flakiness
https://bugs.webkit.org/show_bug.cgi?id=218841
Reviewed by Adrian Perez de Castro.
The external audio rendering test asked JS to play the video but
checked the condition right away. As with other tests, the full side
effects of the JS call might not have propagated, causing the
assertion to fail. This became especially visible after the build with
r269579.
So, like the other conditions in the test, add a method to wait for
the condition.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(AudioRenderingWebViewTest::waitUntilStarted): Added
2020-11-11 Sam Weinig <weinig@apple.com>
Move more WebKitLegacy preferences bound to Settings to WebPreferences.yaml
https://bugs.webkit.org/show_bug.cgi?id=218826
Reviewed by Tim Horton.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
Switch to using TestOptions for ShrinksStandaloneImagesToFit now that it is supported.
2020-11-11 John Wilander <wilander@apple.com>
PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL)
https://bugs.webkit.org/show_bug.cgi?id=218730
<rdar://problem/71094296>
Reviewed by Alex Christensen.
Change to the official name of the proposed standard Private Click Measurement
https://github.com/privacycg/private-click-measurement.
This includes a change of the reporting URL from
"/.well-known/ad-click-attribution/" to
"/.well-known/private-click-measurement/".
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp: Removed.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp: Added.
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::dumpPrivateClickMeasurement):
(WTR::TestRunner::clearPrivateClickMeasurement):
(WTR::TestRunner::clearPrivateClickMeasurementsThroughWebsiteDataRemoval):
(WTR::TestRunner::setPrivateClickMeasurementOverrideTimerForTesting):
(WTR::TestRunner::setPrivateClickMeasurementConversionURLForTesting):
(WTR::TestRunner::markPrivateClickMeasurementsAsExpiredForTesting):
(WTR::TestRunner::dumpAdClickAttribution): Deleted.
(WTR::TestRunner::clearAdClickAttribution): Deleted.
(WTR::TestRunner::clearAdClickAttributionsThroughWebsiteDataRemoval): Deleted.
(WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting): Deleted.
(WTR::TestRunner::setAdClickAttributionConversionURLForTesting): Deleted.
(WTR::TestRunner::markAdClickAttributionsAsExpiredForTesting): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::PrivateClickMeasurementStringResultCallbackContext::PrivateClickMeasurementStringResultCallbackContext):
(WTR::privateClickMeasurementStringResultCallback):
(WTR::TestController::dumpPrivateClickMeasurement):
(WTR::PrivateClickMeasurementVoidCallbackContext::PrivateClickMeasurementVoidCallbackContext):
(WTR::privateClickMeasurementVoidCallback):
(WTR::TestController::clearPrivateClickMeasurement):
(WTR::TestController::clearPrivateClickMeasurementsThroughWebsiteDataRemoval):
(WTR::TestController::setPrivateClickMeasurementOverrideTimerForTesting):
(WTR::TestController::setPrivateClickMeasurementConversionURLForTesting):
(WTR::TestController::markPrivateClickMeasurementsAsExpiredForTesting):
(WTR::AdClickAttributionStringResultCallbackContext::AdClickAttributionStringResultCallbackContext): Deleted.
(WTR::adClickAttributionStringResultCallback): Deleted.
(WTR::TestController::dumpAdClickAttribution): Deleted.
(WTR::AdClickAttributionVoidCallbackContext::AdClickAttributionVoidCallbackContext): Deleted.
(WTR::adClickAttributionVoidCallback): Deleted.
(WTR::TestController::clearAdClickAttribution): Deleted.
(WTR::TestController::clearAdClickAttributionsThroughWebsiteDataRemoval): Deleted.
(WTR::TestController::setAdClickAttributionOverrideTimerForTesting): Deleted.
(WTR::TestController::setAdClickAttributionConversionURLForTesting): Deleted.
(WTR::TestController::markAdClickAttributionsAsExpiredForTesting): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpResults):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::dumpPrivateClickMeasurement):
(WTR::TestInvocation::dumpAdClickAttribution): Deleted.
* WebKitTestRunner/TestInvocation.h:
2020-11-11 Tim Horton <timothy_horton@apple.com>
Add minimal support for deep color IOSurface backing store to ImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=218816
Reviewed by Simon Fraser.
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView):
2020-11-11 Wenson Hsieh <wenson_hsieh@apple.com>
Add system trace points for the GPU process display list processing loop
https://bugs.webkit.org/show_bug.cgi?id=218824
Reviewed by Simon Fraser.
* Tracing/SystemTracePoints.plist:
2020-11-11 Ryan Haddad <ryanhaddad@apple.com>
[webkitpy] Bump CURRENT_VERSION to 11.0 for Mac port
https://bugs.webkit.org/show_bug.cgi?id=218581
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/port/mac.py:
(MacPort):
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest):
(MacTest.test_big_sur_baseline_search_path):
2020-11-11 Sam Weinig <weinig@apple.com>
Remove unused ExperimentalNotificationsEnabled setting
https://bugs.webkit.org/show_bug.cgi?id=218813
Reviewed by Tim Horton.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
Stop setting ExperimentalNotificationsEnabled to false. It does nothing.
2020-11-11 Chris Dumez <cdumez@apple.com>
Terminate WebProcesses if GPUProcess crashes more than twice in 30 seconds
https://bugs.webkit.org/show_bug.cgi?id=218811
<rdar://problem/71292424>
Reviewed by Tim Horton.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate waitForWebContentProcessDidTerminate]):
(-[WKWebView _test_waitForWebContentProcessDidTerminate]):
2020-11-11 Brian Burg <bburg@apple.com>
[Cocoa] Inspector Extensions: Add _WKInspectorExtension and related plumbing
https://bugs.webkit.org/show_bug.cgi?id=217783
<rdar://problem/69968787>
Reviewed by Devin Rousso.
Add API tests to exercise new methods of the _WKInspectorExtensionHost protocol.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: New test file.
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorExtensionHost.mm: Added.
(resetGlobalState):
(-[UIDelegateForTestingInspectorExtensionHost _webView:didAttachLocalInspector:]):
(TEST):
2020-11-11 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update CheckOutSource step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=218802
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(CheckOutSource):
(CheckOutSource.__init__):
2020-11-11 Chris Dumez <cdumez@apple.com>
[GPUProcess] Seamlessly resume WebAudio playback if the GPU Process crashes
https://bugs.webkit.org/show_bug.cgi?id=218806
Reviewed by Geoffrey Garen.
Extend API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
2020-11-11 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update RunWebKitTests step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=218805
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(ParseByLineLogObserver): New helper class to replace usage of LineConsumerLogObserver. This both makes it
easier to adopt the generator-based approach and reduces duplication of: while True, try, run some code,
then except GeneratorExit.
(ParseByLineLogObserver.__init__): Takes one argument: the function to run against each line produced.
(RunWebKitTests):
(RunWebKitTests.start): Initialize log_observer and appropriate variables.
(RunWebKitTests._parseRunWebKitTestsOutput): Added FIXME to remove this method after switching to buildbot v2.
(RunWebKitTests.parseOutputLine): Method to parse each log line as it is generated.
(RunWebKitTests.processTestFailures): Method to summarize the test failure information.
(RunWebKitTests.commandComplete):
(RunWebKitTests.evaluateCommand): Call processTestFailures method before processing results.
(RunWebKitTests.getResultSummary): Method to show step summary in new buildbot.
(RunWebKitTests.getText): Added FIXME to remove this method after switching to buildbot v2.
(RunWebKitTests.getText2): Ditto.
2020-11-11 Angelos Oikonomopoulos <angelos@igalia.com>
Use FileDownload to fetch built product from master
https://bugs.webkit.org/show_bug.cgi?id=218440
Reviewed by Aakash Jain.
This removes the need for a front-end web server to serve the static
files.
* CISupport/ews-build/steps.py:
(DownloadBuiltProductFromMaster):
(DownloadBuiltProductFromMaster.__init__):
(DownloadBuiltProductFromMaster.getResultSummary):
* CISupport/ews-build/steps_unittest.py:
2020-11-10 Noam Rosenthal <noam@webkit.org>
Unreviewed, cleanup my watchlist entries.
* Scripts/webkitpy/common/config/watchlist:
2020-11-10 Lauro Moura <lmoura@igalia.com>
[GLIB] Update page-visibility test after r269665
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewPageVisibility):
2020-11-10 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r269660.
https://bugs.webkit.org/show_bug.cgi?id=218786
Crashing in EWS iOS simulator bots
Reverted changeset:
"PCM: Change from ad-click-attribution to private-click-
measurement (in all forms, including .well-known URL)"
https://bugs.webkit.org/show_bug.cgi?id=218730
https://trac.webkit.org/changeset/269660
2020-11-10 Chris Dumez <cdumez@apple.com>
Webkit incorrectly setting visibilityState to "prerender" when opening link in new tab
https://bugs.webkit.org/show_bug.cgi?id=215851
<rdar://problem/67817100>
Reviewed by Geoff Garen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/VisibilityState.mm: Added.
(TEST):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPageVisibility):
2020-11-10 Darin Adler <darin@apple.com>
Remove another function that implicitly uses the composed tree (intersects with range)
https://bugs.webkit.org/show_bug.cgi?id=218726
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp:
(TestWebKitAPI::makeBoundaryPoint): Deleted.
Deleted the DocumentOrder.IsPointInRange, DocumentOrder.RangeIntersectsRange and
DocumentOrder.RangeIntersectsNode tests, each replaced by an internals-based test.
2020-11-10 John Wilander <wilander@apple.com>
PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL)
https://bugs.webkit.org/show_bug.cgi?id=218730
<rdar://problem/71094296>
Reviewed by Devin Rousso.
Change to the official name of the proposed standard Private Click Measurement
https://github.com/privacycg/private-click-measurement.
This includes a change of the reporting URL from
"/.well-known/ad-click-attribution/" to
"/.well-known/private-click-measurement/".
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp: Removed.
* TestWebKitAPI/Tests/WebCore/PrivateClickMeasurement.cpp: Added.
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::dumpPrivateClickMeasurement):
(WTR::TestRunner::clearPrivateClickMeasurement):
(WTR::TestRunner::clearPrivateClickMeasurementsThroughWebsiteDataRemoval):
(WTR::TestRunner::setPrivateClickMeasurementOverrideTimerForTesting):
(WTR::TestRunner::setPrivateClickMeasurementConversionURLForTesting):
(WTR::TestRunner::markPrivateClickMeasurementsAsExpiredForTesting):
(WTR::TestRunner::dumpAdClickAttribution): Deleted.
(WTR::TestRunner::clearAdClickAttribution): Deleted.
(WTR::TestRunner::clearAdClickAttributionsThroughWebsiteDataRemoval): Deleted.
(WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting): Deleted.
(WTR::TestRunner::setAdClickAttributionConversionURLForTesting): Deleted.
(WTR::TestRunner::markAdClickAttributionsAsExpiredForTesting): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::PrivateClickMeasurementStringResultCallbackContext::PrivateClickMeasurementStringResultCallbackContext):
(WTR::privateClickMeasurementStringResultCallback):
(WTR::TestController::dumpPrivateClickMeasurement):
(WTR::PrivateClickMeasurementVoidCallbackContext::PrivateClickMeasurementVoidCallbackContext):
(WTR::privateClickMeasurementVoidCallback):
(WTR::TestController::clearPrivateClickMeasurement):
(WTR::TestController::clearPrivateClickMeasurementsThroughWebsiteDataRemoval):
(WTR::TestController::setPrivateClickMeasurementOverrideTimerForTesting):
(WTR::TestController::setPrivateClickMeasurementConversionURLForTesting):
(WTR::TestController::markPrivateClickMeasurementsAsExpiredForTesting):
(WTR::AdClickAttributionStringResultCallbackContext::AdClickAttributionStringResultCallbackContext): Deleted.
(WTR::adClickAttributionStringResultCallback): Deleted.
(WTR::TestController::dumpAdClickAttribution): Deleted.
(WTR::AdClickAttributionVoidCallbackContext::AdClickAttributionVoidCallbackContext): Deleted.
(WTR::adClickAttributionVoidCallback): Deleted.
(WTR::TestController::clearAdClickAttribution): Deleted.
(WTR::TestController::clearAdClickAttributionsThroughWebsiteDataRemoval): Deleted.
(WTR::TestController::setAdClickAttributionOverrideTimerForTesting): Deleted.
(WTR::TestController::setAdClickAttributionConversionURLForTesting): Deleted.
(WTR::TestController::markAdClickAttributionsAsExpiredForTesting): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpResults):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::dumpPrivateClickMeasurement):
(WTR::TestInvocation::dumpAdClickAttribution): Deleted.
* WebKitTestRunner/TestInvocation.h:
2020-11-10 Chris Dumez <cdumez@apple.com>
GPUProcess does not properly get relaunched after crashing
https://bugs.webkit.org/show_bug.cgi?id=218769
Reviewed by Tim Horton.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm: Added.
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/audio-context-playing.html: Added.
2020-11-10 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r269525): Many layout tests crash when run under ASan
https://bugs.webkit.org/show_bug.cgi?id=218733
<rdar://problem/71206273>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
2020-11-10 Andres Gonzalez <andresg_22@apple.com>
Fix for LayoutTests/accessibility/mac/search-predicate.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=218732
Reviewed by Chris Fleizach.
Exposed isOnScreen method to JS.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::isOnScreen const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::isOnScreen const):
2020-11-10 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Only upload to S3 when running on production server
https://bugs.webkit.org/show_bug.cgi?id=218755
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(TransferToS3.doStepIf):
2020-11-10 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update ExtractTestResults step for new buildbot
https://bugs.webkit.org/show_bug.cgi?id=218759
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(ExtractTestResults): Making this step similar to corresponding EWS step. Also added name to this step to make it more readable (than MasterShellCommand).
(ExtractTestResults.__init__):
(ExtractTestResults.resultDirectoryURL):
(ExtractTestResults.start):
* CISupport/build-webkit-org/steps_unittest.py: Updated unit-tests to handle step name change.
2020-11-10 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] [REGRESSSION(r269390) Several editing/ tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=218607
Reviewed by Adrian Perez de Castro.
After r269390 some of the internal preferences like LiveRangeSelectionEnabled
are not resetted to their default value on WTR between test runs.
So when a test changes some of this properties it may cause failures on
the next tests that will run on the same WTR process.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues): Add back the call to WKPreferencesResetAllInternalDebugFeatures() that was removed on r269390.
2020-11-10 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MiniBrowser: add buttons to insert ordered/unordered lists to editor toolbar
https://bugs.webkit.org/show_bug.cgi?id=218648
Reviewed by Carlos Alberto Lopez Perez.
* MiniBrowser/gtk/BrowserWindow.c:
2020-11-09 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Do not print master environment variables in build steps
https://bugs.webkit.org/show_bug.cgi?id=218711
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(TransferToS3.__init__): Set logEnviron to False for newer buildbot.
(ExtractTestResults.__init__): Ditto.
2020-11-09 Xan López <xan@igalia.com>
[JSC] Enable bytecode cache testing in stress tests for Linux
https://bugs.webkit.org/show_bug.cgi?id=218072
Reviewed by Yusuke Suzuki.
We only need to tweak how we define the temporary dir for the
bytecode cache in order for stress tests to support bytecode cache
testing on Linux.
This is skipped on Linux/MIPS for now, since the bots are already
slow enough and we have one blocker bug with incorrect parameter
quoting on some tests. See bug #218703.
* Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh:
receive the temporary dir template as an argument. Also tweak the
script a bit so that it does not use arrays, that way it will work
in any POSIX shell.
* Scripts/run-jsc-stress-tests: pass a different temporary dir
template for Darwin and Linux, since mktemp works differently
there.
2020-11-09 Alan Bujtas <zalan@apple.com>
Unreviewed, reverting r269603.
Needs Safari patch
Reverted changeset:
"Show legacy line layout visual coverage instead of "simple
line" layout."
https://bugs.webkit.org/show_bug.cgi?id=218695
https://trac.webkit.org/changeset/269603
2020-11-09 Zalan Bujtas <zalan@apple.com>
Show legacy line layout visual coverage instead of "simple line" layout.
https://bugs.webkit.org/show_bug.cgi?id=218695
Reviewed by Antti Koivisto.
* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleLegacyLineLayoutVisualCoverageEnabled:]):
(-[SettingsController legacyLineLayoutVisualCoverageEnabled]):
(-[SettingsController toggleSimpleLineLayoutDebugBordersEnabled:]): Deleted.
(-[SettingsController simpleLineLayoutDebugBordersEnabled]): Deleted.
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):
2020-11-09 Diego Pino Garcia <dpino@igalia.com>
[webkitpy] When platform is GTK or WPE, make lint-test-expectations lint GLIB too
https://bugs.webkit.org/show_bug.cgi?id=218691
Reviewed by Carlos Alberto Lopez Perez.
In the test expectations hierarchy, both GTK and WPE share a common
root, GLIB. It's not possible to lint GLIB test expectations as it's
not a platform with a builder associated. Thus, make lint-test-expectations
lint GLIB test expectations when linting GLIB or WPE.
* Scripts/webkitpy/layout_tests/lint_test_expectations.py:
(lint):
2020-11-09 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Use workersrc instead of slavesrc for new Buildbot
https://bugs.webkit.org/show_bug.cgi?id=218717
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(UploadBuiltProduct.__init__): Used workersrc instead of slavesrc.
(UploadTestResults.__init__): Ditto.
(Run32bitJSCTests.start): Drive-by fix to use workerEnvironment instead of slaveEnvironment.
2020-11-09 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] remove unused imports from loadConfig.py
https://bugs.webkit.org/show_bug.cgi?id=218718
Reviewed by Dewei Zhu.
* CISupport/build-webkit-org/loadConfig.py:
2020-11-09 Per Arne Vollan <pvollan@apple.com>
[macOS] System sounds should be played in the UI process
https://bugs.webkit.org/show_bug.cgi?id=218405
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/SystemBeep.mm: Added.
(TEST):
2020-11-09 Per Arne Vollan <pvollan@apple.com>
[macOS] Set preference for overridden languages in the WebContent process after entering the sandbox.
https://bugs.webkit.org/show_bug.cgi?id=218097
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm:
* TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
* TestWebKitAPI/Tests/WebKit/OverrideAppleLanguagesPreference.mm: Added.
(TEST):
* TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
2020-11-09 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Add python 3 support - part 3
https://bugs.webkit.org/show_bug.cgi?id=218706
Reviewed by Jonathan Bedard.
* CISupport/Shared/transfer-archive-to-s3: Updated print method to be both python 2 and 3 compatible.
* CISupport/built-product-archive: Ditto.
* CISupport/delete-stale-build-files: Ditto.
* CISupport/build-webkit-org/loadConfig.py: Removed unnecessary filter method.
* CISupport/ews-build/loadConfig.py: Ditto.
2020-11-08 Lauro Moura <lmoura@igalia.com>
[GTK] REGRESSION(r267250) API test /webkit/WebKitWebView/usermedia-enumeratedevices-permission-check is crashing
https://bugs.webkit.org/show_bug.cgi?id=216727
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/glib/TestExpectations.json: Remove expectations
2020-11-08 Darin Adler <darin@apple.com>
Remove another function that implicitly uses the composed tree (documentOrder on nodes and boundary points)
https://bugs.webkit.org/show_bug.cgi?id=218673
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp: Removed BoundaryPointOffsetZero and
BoundaryPointOffsets tests, both replaced by a internals-based test.
2020-11-06 Alex Christensen <achristensen@webkit.org>
REGRESSION (r269435): [iOS Debug] ASSERTION FAILED: !m_impl || Thread::mayBeGCThread() || m_impl->wasConstructedOnMainThread() == isMainThread()
https://bugs.webkit.org/show_bug.cgi?id=218662
Reviewed by Chris Dumez.
We were missing a few WebThreadLock calls, which changes the return value of isMainThread() in UIWebView.
* TestWebKitAPI/Tests/WebKitLegacy/ios/WebGLNoCrashOnOtherThreadAccess.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitLegacy/ios/WebGLPrepareDisplayOnWebThread.mm:
(TestWebKitAPI::TEST):
2020-11-06 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.
* CISupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): This significantly reduces the calculations done to estimate the position in queue. The position is queue
is calculated based on patches sent to buildbot in last DAYS_TO_CHECK days, and results received from buildbot. However, in
case any queue has a huge backlog (of more than 1 day), the position in queue might not be accurate. Slight trade-off for
speed vs accuracy.
2020-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
Add new display list item types in preparation for webkit.org/b/218426
https://bugs.webkit.org/show_bug.cgi?id=218588
Reviewed by Simon Fraser.
Adjust an API test. See other ChangeLogs for more detail.
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp:
(TestWebKitAPI::TEST):
2020-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
[Concurrent display lists] Add API tests for WebCore::DisplayList::DisplayList and related classes
https://bugs.webkit.org/show_bug.cgi?id=218425
Reviewed by Tim Horton.
Add two new API tests:
- One that covers basic display list functionality (i.e. appending items, checking whether a display list is
empty, clearing a display list and iterating over items).
- Another that exercises the item buffer client hooks to provide data for writing and encode and decode out-
of-line display list items. This test uses toy Reader/Writer classes that know how to "encode" and "decode"
`StrokePath` items by storing and reading 8-byte indices into a shared `Vector<StrokePath>`.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/DisplayListTests.cpp: Added.
(TestWebKitAPI::createGradient):
(TestWebKitAPI::createComplexPath):
(TestWebKitAPI::TEST):
2020-11-06 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Use workerEnvironment instead of slaveEnvironment for new Buildbot
https://bugs.webkit.org/show_bug.cgi?id=218656
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
2020-11-06 Yusuke Suzuki <ysuzuki@apple.com>
Re-enable SharedArrayBuffer for JSC shell and Testers
https://bugs.webkit.org/show_bug.cgi?id=212069
Reviewed by Keith Miller.
* Scripts/test262/Runner.pm:
(getFeatureFlags):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):
2020-11-06 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r269486.
Caused 50+ timeouts on Mac Debug WK2
Reverted changeset:
"[Cocoa] Inspector Extensions: Add _WKInspectorExtension and
related plumbing"
https://bugs.webkit.org/show_bug.cgi?id=217783
https://trac.webkit.org/changeset/269486
2020-11-06 Jer Noble <jer.noble@apple.com>
Do not allow pages to enter fullscreen while an exit fullscreen operation is ongoing.
https://bugs.webkit.org/show_bug.cgi?id=218640
<rdar://problem/70697738>
Reviewed by Eric Carlson.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::enterFullScreenForElement):
(WTR::InjectedBundlePage::exitFullScreenForElement):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setEnterFullscreenForElementCallback):
(WTR::TestRunner::callEnterFullscreenForElementCallback):
(WTR::TestRunner::setExitFullscreenForElementCallback):
(WTR::TestRunner::callExitFullscreenForElementCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2020-11-06 Adrian Perez de Castro <aperez@igalia.com>
[Flatpak SDK] Update libmanette source URI to new location
https://bugs.webkit.org/show_bug.cgi?id=218509
Reviewed by Carlos Alberto Lopez Perez.
* buildstream/elements/sdk/libmanette.bst: Update URI.
2020-11-06 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r268930): It broke the http server of run-benchmark
https://bugs.webkit.org/show_bug.cgi?id=218643
Reviewed by Jonathan Bedard.
The http server was failing to start because it is executed in a
subprocess and it can't find webkitpy.autoinstalled because the
scripts dir is not in PYTHONPATH.
Fix this and also add a check to ensure the http server is alive,
and if not, then raise an error with the return code and outputs
from the http server process.
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver):
(SimpleHTTPServerDriver._find_http_server_port):
2020-11-06 Carlos Alberto Lopez Perez <clopez@igalia.com>
webkitpy: Add a --no-comment switch to webkit-patch land
https://bugs.webkit.org/show_bug.cgi?id=218067
Reviewed by Ryosuke Niwa.
Add an optional --no-comment switch to webkit-patch land.
This is useful when landing gardening, build-fixes or follow-up patches
on a bug and you don't want the tool to automatically add a comment with
the revision landed because you preffer to later add a comment manually.
Note that it will still close the bug, if you don't want the bug to
be closed you need to pass also --no-close.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
(MockBugzilla.close_bug_as_fixed):
* Scripts/webkitpy/tool/commands/download_unittest.py:
(DownloadCommandsTest._default_options):
(test_land_no_close):
* Scripts/webkitpy/tool/steps/closebugforlanddiff.py:
(CloseBugForLandDiff.options):
(CloseBugForLandDiff.run):
* Scripts/webkitpy/tool/steps/options.py:
(Options):
2020-11-05 John Wilander <wilander@apple.com>
PCM: Switch to JSON report format
https://bugs.webkit.org/show_bug.cgi?id=218634
<rdar://problem/70469923>
Reviewed by Brent Fulgham.
The standards conversation has landed in attribution reports in a JSON
format as opposed to the currently implemented URL format. Discussion
here: https://github.com/privacycg/private-click-measurement/issues/30
* TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp:
(TestWebKitAPI::TEST):
2020-11-05 Brian Burg <bburg@apple.com>
[Cocoa] Inspector Extensions: Add _WKInspectorExtension and related plumbing
https://bugs.webkit.org/show_bug.cgi?id=217783
<rdar://problem/69968787>
Reviewed by Devin Rousso.
Add API tests to exercise new methods of the _WKInspectorExtensionHost protocol.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: New test file.
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorExtensionHost.mm: Added.
(resetGlobalState):
(-[UIDelegateForTestingInspectorExtensionHost _webView:didAttachLocalInspector:]):
(TEST):
2020-11-05 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Rename BUILD_WEBKIT_URL to CURRENT_HOSTNAME
https://bugs.webkit.org/show_bug.cgi?id=218629
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
2020-11-05 Aakash Jain <aakash_jain@apple.com>
[ews] Patch which break layout-test shouldn't cause infinite RETRY loop
https://bugs.webkit.org/show_bug.cgi?id=218618
Reviewed by Jonathan Bedard.
* CISupport/ews-build/steps.py:
(RunWebKitTests.evaluateResult): Do not retry when layout-tests fail with exit code 254. Instead fail the build-step, which
will trigger re-run and run-layout-tests-without-patch steps.
(RunWebKitTestsWithoutPatch.evaluateCommand): Set clean_tree_run_status build property.
(AnalyzeLayoutTestsResults.report_failure):
(AnalyzeLayoutTestsResults.start): If clean tree run passes, mark the build as failure.
* CISupport/ews-build/steps_unittest.py: Added/updated unit-tests.
2020-11-05 Patrick Angle <pangle@apple.com>
Change my (Patrick Angle's) status to committer.
Unreviewed, updating contributors.json for myself.
* Scripts/webkitpy/common/config/contributors.json:
2020-11-05 Lauro Moura <lmoura@igalia.com>
[GTK] Test /webkit/WebKitWebsiteData/configuration is flaky
https://bugs.webkit.org/show_bug.cgi?id=205441
Reviewed by Carlos Garcia Campos.
Checking the last 200 runs of gtk-release in the bots, the original
error from the report does not appear, but other flakies happened
related to checking if some directories were created (namely
indexeddb, service-workers and dom-cache). As they are created
asynchronously or lazily (i.e. requiring some operation to happen).
This could be seen in the WPE bots, not covered by the original
expectation, and also reproduced locally by running the test case
alone.
This commit adds some steps/wait time before each of these to make
sure the directories are created properly.
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataConfiguration): Add required steps before checking
directories
* TestWebKitAPI/glib/TestExpectations.json: Remove expectation
2020-11-05 Angelos Oikonomopoulos <angelos@igalia.com>
Test that skip_validation is effective
https://bugs.webkit.org/show_bug.cgi?id=218611
Reviewed by Aakash Jain.
* CISupport/ews-build/steps_unittest.py:
2020-11-05 Angelos Oikonomopoulos <angelos@igalia.com>
Test that TransferToS3 is skipped properly
https://bugs.webkit.org/show_bug.cgi?id=218610
Reviewed by Aakash Jain.
I.e. when not running on steps.EWS_BUILD_HOSTNAME.
* CISupport/ews-build/steps_unittest.py:
2020-11-05 Angelos Oikonomopoulos <angelos@igalia.com>
Don't mark TransferToS3 as failed if it was skipped
https://bugs.webkit.org/show_bug.cgi?id=218606
Reviewed by Aakash Jain.
* CISupport/ews-build/steps.py:
(TransferToS3.getResultSummary):
2020-11-05 Rob Buis <rbuis@igalia.com>
Update my information in contributors.json
https://bugs.webkit.org/show_bug.cgi?id=218608
Reviewed by Carlos Garcia Campos.
Update my information in contributors.json to change the autocomplete email address to be Igalia.
* Scripts/webkitpy/common/config/contributors.json:
2020-11-04 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add checkout command
https://bugs.webkit.org/show_bug.cgi?id=218360
<rdar://problem/70828312>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.checkout): Checkout repository to specified commit, branch or tag.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.checkout): Checkout repository to specified commit, branch or tag.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.checkout): Checkout repository to specified commit, branch or tag.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__init__): Add concept of HEAD commit, mock `git checkout` command.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.__init__): Add concept of HEAD commit, mock `svn up -r *`.
(Svn.branch): The HEAD's branch is the current branch.
(Svn.find): Use the HEAD of the repository as the default.
(Svn.up): Change the repository's HEAD.
* Scripts/libraries/webkitscmpy/webkitscmpy/program.py:
(Checkout): Checkout repository to specified commit.
(main): Add Checkout subcommand.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py: Added.
(TestCheckout):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit):
(TestGit.test_checkout):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn):
(TestSvn.test_checkout):
2020-11-04 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] remove unnecessary code from loadConfig
https://bugs.webkit.org/show_bug.cgi?id=218582
Reviewed by Dewei Zhu.
* CISupport/ews-build/loadConfig.py:
(loadBuilderConfig): Also renamed variables to be consistent with EWS counterpart.
* CISupport/build-webkit-org/loadConfig.py:
(loadBuilderConfig):
2020-11-04 Aditya Keerthi <akeerthi@apple.com>
[Contact Picker API] Add support for picker UI on iOS
https://bugs.webkit.org/show_bug.cgi?id=218189
<rdar://problem/69862277>
Reviewed by Devin Rousso.
Added UIScriptController hooks to observe the presentation and
dismissal of a contact picker. Furthermore, the
dismissContactPickerWithContacts method was added to allow tests to
dismiss the presented contact picker with a set of selected contacts.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptContext.h:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::isShowingContactPicker const):
(WTR::UIScriptController::dismissContactPickerWithContacts):
* TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp:
(WTR::UIScriptController::setDidShowContactPickerCallback):
(WTR::UIScriptController::didShowContactPickerCallback const):
(WTR::UIScriptController::setDidHideContactPickerCallback):
(WTR::UIScriptController::didHideContactPickerCallback const):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView resetInteractionCallbacks]):
(-[TestRunnerWKWebView _didPresentContactPicker]):
(-[TestRunnerWKWebView _didDismissContactPicker]):
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::setDidShowContactPickerCallback):
(WTR::UIScriptControllerCocoa::setDidHideContactPickerCallback):
(WTR::UIScriptControllerCocoa::isShowingContactPicker const):
(WTR::UIScriptControllerCocoa::dismissContactPickerWithContacts):
2020-11-04 Angelos Oikonomopoulos <angelos@igalia.com>
Conditionally disable the patch validation step
https://bugs.webkit.org/show_bug.cgi?id=218441
Reviewed by Aakash Jain.
This makes it easy to submit an arbitrary patch (i.e. one that doesn't
appear on bugzilla) for an EWS run. Useful for non-interactive testing.
Note that the skip_validation parameter can only be supplied by
ews-app, so patches cannot skip the validation step in the
production EWS deployment.
* CISupport/ews-build/steps.py:
(ValidatePatch.doStepIf):
2020-11-04 Sam Weinig <weinig@apple.com>
Remove support for experimental: and internal: prefixes from WebKitTestRunner and DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=218569
Reviewed by Tim Horton.
The prefixes were removed from use in tests in r269360.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::webViewIsCompatibleWithOptions const):
Replace duplicated comparison code with call to operator==.
* TestRunnerShared/TestFeatures.cpp:
(WTR::merge):
Remove special maps for internal and experimental features.
(WTR::operator==):
(WTR::operator!=):
Add operator== support for use by TestOptions in determining compatibility.
(WTR::parseTestHeaderFeature):
(WTR::parseTestHeader):
Split out feature parsing for future use in command line parsing.
* TestRunnerShared/TestFeatures.h:
Remove special maps for internal and experimental features.
* WebKitTestRunner/Options.cpp:
(WTR::handleOptionAcceleratedDrawing):
(WTR::handleOptionRemoteLayerTree):
(WTR::handleOptionShowWebView):
(WTR::handleOptionShowTouches):
(WTR::parseFeature):
(WTR::handleOptionExperimentalFeature):
(WTR::handleOptionInternalFeature):
* WebKitTestRunner/Options.h:
Rather than parsing into bools / extra maps, parse the command line options
directly into a TestFeatures.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
Initialize global features from the new Options' TestFeatures.
(WTR::TestController::resetPreferencesToConsistentValues):
Remove special casing for experimental and internal features, they are now just
generic bool WebPreferences. Move special cases for internal features into TestOptions.
(WTR::TestController::testOptionsForTest const):
Now that global features is not seeded with the default features, construct the
full merge chain starting with the default features instead.
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
Add some additional defaults moved from TestController::resetPreferencesToConsistentValues.
(WTR::TestOptions::hasSameInitializationOptions const):
Use operator== to reduce duplicated code.
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::experimentalFeatures const): Deleted.
(WTR::TestOptions::internalDebugFeatures const): Deleted.
Remove now unused extra maps for external and internal features.
2020-11-04 David Kilzer <ddkilzer@apple.com>
WebKit should remove unused debug variant support
<https://webkit.org/b/218315>
<rdar://problem/70785369>
Reviewed by Darin Adler.
Remove support for building the debug variant since it is
currently unused. We now set default values for the
DEAD_CODE_STRIPPING, DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL and
STRIP_INSTALLED_PRODUCT variables.
Also move these values out of the Xcode project into
Base.xcconfig files using the [config=Debug] specifier so that
these overrides are next to the definitions.
Additional changes in behavior are noted below.
* ContentExtensionTester/Configurations/Base.xcconfig:
* ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
- Remove unneeded Xcode variables that have no effect or are
already set in xcconfig files.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* ImageDiff/ImageDiff.xcodeproj/project.pbxproj:
- Remove redundant PRODUCT_NAME which is defined in
ImageDiff.xcconfig.
- Let Xcode have its way with the project file.
* ImageDiff/cg/Configurations/Base.xcconfig:
* Scripts/check-for-exit-time-destructors:
* Scripts/check-for-global-initializers:
- Switch to use BUILD_VARIANTS instead of CURRENT_VARIANT. Xcode
only invokes build phase scripts once (even when multiple
variants are defined for a build), and it always sets
CURRENT_VARIANT=normal, so using BUILD_VARIANTS is more
accurate.
- Add FIXME about building with multiple variants. These scripts
are only used in engineering builds, which are only ever built
with BUILD_VARIANTS=normal, so there is no urgency to handle
multiple variants here.
* Scripts/check-for-inappropriate-objc-class-names:
* Scripts/check-for-weak-vtables-and-externals:
- Remove unused $variants variable.
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* lldb/lldbWebKitTester/Configurations/Base.xcconfig:
* lldb/lldbWebKitTester/Configurations/lldbWebKitTester.xcconfig:
* lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
- Correctly define DEAD_CODE_STRIPPING, GCC_OPTIMIZATION_LEVEL
and STRIP_INSTALLED_PRODUCT when buliding Debug configuration.
2020-11-03 Sihui Liu <sihui_liu@apple.com>
Set up basic infrastructure for SpeechRecognition
https://bugs.webkit.org/show_bug.cgi?id=218216
<rdar://problem/70703788>
Reviewed by Youenn Fablet.
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
2020-11-03 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Populate parent branch for tags
<rdar://problem/70998928>
https://bugs.webkit.org/show_bug.cgi?id=218521
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Version bump.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.commit): Populate cache of commits when the canonical branch does not match
the provided commit.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn):
(TestSvn.test_tag_previous):
2020-11-03 David Kilzer <ddkilzer@apple.com>
Add test for cacheModelForMainBundle() in WebKitLegacy
<https://webkit.org/b/217960>
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Add WebPreferencesTest.mm to project.
* TestWebKitAPI/Tests/WebKitLegacy/cocoa/WebPreferencesTest.mm: Add.
(TestWebKitAPI::TEST):
- Add test for TestWebPreferencesCacheModelForMainBundle().
2020-11-03 Adam Roben <aroben@apple.com>
Add SwiftUI MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=218393
Rubber-stamped by Tim Horton.
Using WKWebView in SwiftUI is pretty cumbersome today. At a minimum,
you need to wrap the WKWebView in a NS/UIViewRepresentable SwiftUI
view, but to react to any state changes in the WKWebView (e.g.,
-canGoBack changing from NO to YES) you need to bridge between
WKWebView's KVO and SwiftUI's use of Combine publishers or
ObservableObjects. Setting up WKWebView's various delegates has to
happen down inside the NS/UIViewRepresentable's Coordinator object.
And so on.
There have been some attempts at this in the past, e.g.:
https://medium.com/macoclock/how-to-use-webkit-webview-in-swiftui-4b944d04190a
https://medium.com/@mdyamin/swiftui-mastering-webview-5790e686833e
https://github.com/kylehickinson/SwiftUI-WebView
Someday it would be nice to provide an idiomatic SwiftUI API for
WebKit out of the box, like the new VideoPlayer API that wraps
AVPlayer.
This change provides a SwiftUI MiniBrowser implementation as well as a
very preliminary SwiftUI wrapper for WKWebView, originally authored by
James Savage. This only exposes a subset of the WKWebView API, and is
definitely not production ready yet, but will give us a place to
experiment with ways to make WebKit and SwiftUI work together better.
Here's James's description of the API:
> The initial version of this API is composed of two primary
> components: `WebView` and `WebViewState`. `WebView` conforms to
> `View`, and its usage is straight-forward. `WebViewState` is novel,
> and may not survive to the final API. It exists as a read-write
> handle on the rather large amount of state that a web view offers.
> This includes read-only access to properties about the current
> page (`title`, `url`, `hasOnlySecureContent`), navigations
> (`estimatedProgress`, `isLoading`), and back/forward history
> (`canGoBack`, `canGoForward`). It also offers imperative methods
> for navigation which map 1:1 with our existing Objective-C API.
>
> struct BrowserView : View {
> @StateObject var state = WebViewState(initialURL: URL(string: "https://apple.com")!)
> var body: some View {
> HStack {
> Text(verbatim: state.title ?? "Nothing Loaded")
> Text(verbatim: state.url ?? "--")
> WebView(state: state)
> }
> }
> }
>
> JavaScript dialogs are supported with both built-in behavior for all
> clients, and a customization point if desired. Clients can pass a
> `Binding<Dialog?>` to their `WebView` to disable the built-in
> display, and provide custom handling.
>
> Navigation policies can be customized using
> `webViewNavigationPolicy(onAction:onResponse:)` to provide custom
> decider for the action and response phases. These propagate via the
> environment, allowing them to be defined at an app, window, or
> individual view level.
>
> Future Directions
>
> To make `WebView` as declarative as possible, we're investigating
> how to make broader use of `Binding` for navigation. As a simple
> example, you could imagine if the `WebView`'s initializer took a
> `Binding<URL?>` for the current page. However, this design alone is
> too simplistic to model all states that the web view could be, so we
> will likely need to introduce a more complex type for the binding.
>
> Currently navigation policies are attached via `View` modifiers.
> This has the benefit that they can be installed at the root of an
> application, which is useful for a web browser where all tabs want
> to have uniform policies. Given the number of customization points
> in existing `WKWebView` delegates, this may fail to scale and lead
> to undesirable ergonomics. Another approach would to be just use a
> delegate protocol (a la DropDelegate:
> https://developer.apple.com/documentation/swiftui/dropdelegate).
>
> As a practical matter, we want to minimize the amount of work that
> adding new functionality to WebKit API incurs for engineers. While
> we could redefine every Objective-C type for SwiftUI, but this could
> lead to SwiftUI falling behind as our Objective-C API gets updated.
> We could use tools like `@dynamicMemberLookup` to automatically pull
> our Objective-C APIs over to Swift, however this could have
> undesirable impact our our ABI. There may be a better compromise we
> haven’t yet reached.
* MiniBrowserSwiftUI/Configurations/Base.xcconfig:
* MiniBrowserSwiftUI/Configurations/Debug.xcconfig:
* MiniBrowserSwiftUI/Configurations/MiniBrowserSwiftUI.xcconfig:
* MiniBrowserSwiftUI/Configurations/Release.xcconfig:
* MiniBrowserSwiftUI/Configurations/WebKit_SwiftUI.xcconfig:
* MiniBrowserSwiftUI/MiniBrowserSwiftUI.xcodeproj/project.pbxproj:
* MiniBrowserSwiftUI/MiniBrowserSwiftUI.xcodeproj/xcshareddata/xcschemes/MiniBrowserSwiftUI.xcscheme:
* MiniBrowserSwiftUI/MiniBrowserSwiftUI.xcodeproj/xcshareddata/xcschemes/_WebKit_SwiftUI.xcscheme:
Added the new project and its configuration. The project was generated
from Xcode's "Multiplatform App" template. There are two targets: the
MiniBrowserSwiftUI app, and the _WebKit_SwiftUI framework. Both are
cross-platform. The build settings were extracted out of the .pbxproj
into the .xcconfig files.
* MiniBrowserSwiftUI/Shared/Assets.xcassets/AccentColor.colorset/Contents.json:
* MiniBrowserSwiftUI/Shared/Assets.xcassets/AppIcon.appiconset/Contents.json:
* MiniBrowserSwiftUI/Shared/Assets.xcassets/Contents.json:
* MiniBrowserSwiftUI/Shared/Assets.xcassets/URLFieldBackground.colorset/Contents.json:
Defines a couple of colors and an empty icon for the app.
* MiniBrowserSwiftUI/iOS/Info.plist:
* MiniBrowserSwiftUI/macOS/Info.plist:
* MiniBrowserSwiftUI/macOS/macOS.entitlements:
* MiniBrowserSwiftUI/WebKit_SwiftUI/WebKit_SwiftUI-Info.plist: Added.
Added these files generated by Xcode. The only change was adding
com.apple.security.network.client to the entitlements so the browser
can connect to servers.
* MiniBrowserSwiftUI/Shared/BrowserApp.swift: Added. This is the entry
point of the app, and just sets up a BrowserScene.
* MiniBrowserSwiftUI/Shared/BrowserScene.swift: Added. This sets up
the browser's windows, each of which just contain a single BrowserTab.
On iOS we wrap the BrowserTab in a NavigationView so there will be
somewhere to show our toolbar buttons.
* MiniBrowserSwiftUI/Shared/BrowserTab.swift: Added. This is the heart
of the browser.
(BrowserTab.body): Sets up the WebView itself plus some toolbar items:
the back/forward buttons and URL field.
(BrowserTab.onNavigate(to:)): Callback called when the user presses
Return in the URL field.
(BrowserTab.decidePolicy(for:state:)): Callback called when the
WebView is about to navigate, similar to WKNavigationDelegate's
-webView:decidePolicyForNavigationAction:decisionHandler:.
(BrowserTab.makeExternalNavigationAlert(_:)): Displays an alert to let
the user decide whether to follow a URL that will open in some other
application.
(UserInput): Represents text typed in the URL field after determining
whether it is a URL or a search query.
(ExternalURLNavigation): Provides the data for the external navigation
alert.
(BrowserTab_Previews): Shows a canned BrowserTab in Xcode's preview
canvas.
* MiniBrowserSwiftUI/Shared/FoundationExtras.swift: Added. Provides a
few utility functions for URLs.
* MiniBrowserSwiftUI/Shared/URLField.swift: Added.
(URLField): The SwiftUI view you use directly. It contains a leading
glyph (e.g., a lock icon when viewing a secure page), a text field,
a trailing accessory view provided by the caller, and a progress bar.
It also supports callbacks to notify the caller when the text field
gains/loses focus and when the user has committed the text in the
field (e.g., by pressing Return).
(Background): The background view for the URLField, which defines both
the rounded rectangle shape for the field and the progress bar.
(URLField_Previews): Shows some canned URLFields in Xcode's preview
canvas.
* MiniBrowserSwiftUI/WebKit_SwiftUI/Dialog.swift: Added.
(Dialog): Represents a single JavaScript dialog (alert, confirm, or
prompt).
(DialogContainer): Provides the default UI shared by all JavaScript
dialog types.
* MiniBrowserSwiftUI/WebKit_SwiftUI/JavaScriptDialogs.swift: Added.
(JavaScriptAlert): Default UI for a JavaScript alert dialog.
(JavaScriptConfirm): Default UI for a JavaScript confirm dialog.
(JavaScriptPrompt): Default UI for a JavaScript prompt dialog.
* MiniBrowserSwiftUI/WebKit_SwiftUI/Navigation.swift: Added.
(View.webViewNavigationPolicy(onAction:)):
(View.webViewNavigationPolicy(onResponse:)):
(View.webViewNavigationPolicy(onAction:onResponse:)):
These let the application specify navigation policy logic for any
descendant WebViews in the view hierarchy, using SwiftUI's Environment
facility.
(NavigationAction): Idiomatic SwiftUI wrapper around
WKNavigationAction and its decision handler callback.
(NavigationResponse): Idiomatic SwiftUI wrapper around
WKNavigationResponse and its decision handler callback.
* MiniBrowserSwiftUI/WebKit_SwiftUI/SwiftUIExtras.swift: Added.
(Color.platformSeparator):
(Color.platformBackground):
Cross-platform wrappers around platform-specific colors.
* MiniBrowserSwiftUI/WebKit_SwiftUI/WebView.swift: Added.
(WebView): The heart of the SwiftUI API. You provide it a WebViewState
struct to represent and control its state (similar to AVFoundation's
VideoPlayer view controlled by AVPlayer). You can optionally provide a
Binding to be notified of the current JavaScript dialog that the web
content wishes to display. If you don't provide this binding, WebView
will present the dialog using default UI.
(WebView.dialogView): Configures the default dialog UI if the caller
doesn't want to handle dialogs on its own.
(_WebView): Internal view that bridges SwiftUI to WKWebView.
(Coordinator): Internal class that functions as the WKWebView's
WKNavigationDelegate and WKUIDelegate.
(Coordinator.webView(_:decidePolicyFor:preferences:decisionHandler:)):
Looks for a navigation decider in the view's environment and delegates
to it if found, otherwise allows all navigations.
(Coordinator.webView(_:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:)):
(Coordinator.webView(_:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:)):
(Coordinator.webView(_:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:)):
Passes the dialog information up to the WebView, which then decides
whether to present default UI itself or let the caller handle it.
* MiniBrowserSwiftUI/WebKit_SwiftUI/WebViewModifiers.swift: Added.
(View.webViewAllowsBackForwardNavigationGestures(_:)): Specifies
whether WebViews below this point in the view hierarchy should support
swipe gestures to navigate back/forward.
* MiniBrowserSwiftUI/WebKit_SwiftUI/WebViewState.swift: Added.
(WebViewState): Represents the state and actions of a WebView.
Conforms to ObservableObject so SwiftUI views can react to changes in
the WebViewState.
(WebViewState.webView(_:didChangeKeyPath:)): Detects when the
WKWebView's state has changed via KVO and reflects those through the
ObservableObject.objectWillChange mechanism so SwiftUI views will be
updated.
(WebViewState.canGoBack):
(WebViewState.canGoForward):
(WebViewState.title):
(WebViewState.url):
(WebViewState.isLoading):
(WebViewState.estimatedProgress):
(WebViewState.hasOnlySecureContent):
Wrappers around WKWebView properties.
(WebViewState.load(_:)):
(WebViewState.goBack):
(WebViewState.goForward):
(WebViewState.reload):
(WebViewState.stopLoading):
(WebViewState.createPDF(configuration:completion:)):
Wrappers around WKWebView methods.
2020-11-03 Fujii Hironori <Hironori.Fujii@sony.com>
WebKitTestRunner --show-webview doesn't work since r268238
https://bugs.webkit.org/show_bug.cgi?id=218430
Reviewed by Simon Fraser.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Use insert_or_assign() of
std::unordered_map instead of insert() which does nothing if the
key already exists.
2020-11-03 Keith Rollin <krollin@apple.com>
Extend check-for-inappropriate-files-in-framework to WebKitLegacy and JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=218272
<rdar://problem/70748116>
Reviewed by Simon Fraser.
Bug 218268 reports that some *.txt files got included in WebKitLegacy.
To help protect against this happening in the future, extend
check-for-inappropriate-files-in-framework to check for *.txt files,
and apply the script to WebKitLegacy and JavaScriptCore in addition to
WebCore and WebKit.
* Scripts/check-for-inappropriate-files-in-framework:
2020-11-03 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MiniBrowser: increase default window size
https://bugs.webkit.org/show_bug.cgi?id=218513
Reviewed by Adrian Perez de Castro.
Because 800x600 is to small nowadays. Use 1024x768 instead.
* MiniBrowser/gtk/BrowserWindow.c:
2020-11-03 Adrian Perez de Castro <aperez@igalia.com>
[GTK][WPE] Cannot remove individual scripts/stylesheets using WebKitUserContentManager
https://bugs.webkit.org/show_bug.cgi?id=218403
Reviewed by Carlos Garcia Campos.
Add the missing WebKitUserContentManager functions which allow
removing a single script and style sheet from the manager. Given
that it is possible to remove a single content filter and message
handlers already, this make the API orthogonal for scripts and style
sheets as well.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
(testUserContentManagerInjectedStyleSheet): Add test for
webkit_user_content_manager_remove_style_sheet().
(testUserContentManagerInjectedScript): Add test for
webkit_user_content_manager_remove_script().
2020-11-02 Sam Weinig <weinig@apple.com>
Sort/cleanup preferences in resetWebPreferencesToConsistentValues
https://bugs.webkit.org/show_bug.cgi?id=218467
Reviewed by Darin Adler.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
Sort things.
2020-11-02 Sam Weinig <weinig@apple.com>
[Testing] Match WebKitTestRunner and enable all "experimental" features in DumpRenderTree (cocoa)
https://bugs.webkit.org/show_bug.cgi?id=218447
Reviewed by Darin Adler.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
Add missing file, TestOptionsGeneratedWebKitLegacyKeyMapping.cpp.erb.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
(enableExperimentalFeatures): Deleted.
Match WebKitTestRunner and enable all experimental features by default. Disable a few of them to
keep the current behavior, but added FIXME to figure out why they are exposed but not enabled. Also
ensure a few preferences that are not experimental features, but were in the enableExperimentalFeatures
function remain set.
2020-11-02 David Kilzer <ddkilzer@apple.com>
Sort Xcode project file
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2020-11-02 Aakash Jain <aakash_jain@apple.com>
Only upload to S3 when running on ews-build.webkit.org (follow-up fix for unit-test).
https://bugs.webkit.org/show_bug.cgi?id=218439
Unreviewed follow-up fix.
* CISupport/ews-build/steps_unittest.py: Set CURRENT_HOSTNAME to EWS_BUILD_HOSTNAME during TestTransferToS3 unit-tests,
restore it in tearDown so that it doesn't affect any other unit-test.
2020-11-01 Darin Adler <darin@apple.com>
Start removing functions that implicitly use composed tree
https://bugs.webkit.org/show_bug.cgi?id=218424
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp: Moved the tests of documentOrder
for two nodes and contains for range/range or range/node into internals-based tests
in the LayoutTests directory. Eventually we'll move the rest of these tests, too.
2020-11-02 Angelos Oikonomopoulos <angelos@igalia.com>
Don't fail the build on S3 upload failure
https://bugs.webkit.org/show_bug.cgi?id=218438
Reviewed by Aakash Jain.
This allows buildbots to keep going even when S3 is down. Using
S3 is not strictly necessary, as the built product can also be
downloaded from the buildbot server.
Patch-by: aakash_jain@apple.com
* CISupport/ews-build/steps.py:
(CompileWebKit.evaluateCommand):
(TransferToS3):
(TransferToS3.finished):
2020-11-02 Angelos Oikonomopoulos <angelos@igalia.com>
Only upload to S3 when running on ews-build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=218439
Reviewed by Aakash Jain.
Uploading to S3 is inconvenient for testing instances, so only run this
step if we're executing on ews-build.webkit.org. Otherwise, transfer the
file through the buildbot server.
Patch-by: aakash_jain@apple.com
* CISupport/ews-build/steps.py:
(TransferToS3.doStepIf):
2020-11-01 Sam Weinig <weinig@apple.com>
Remove remaining alternative preference setting mechanisms from LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=218417
Reviewed by Simon Fraser.
Remove various one off solutions for setting preferences in WebKitTestRunner and DumpRenderTree
keeping only test header commands (which can be set without JS and can be in place before the
inital load) and internals.settings, which can be used when dynamic changing is required.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::supportedUInt32WebPreferenceFeatures):
(WTR::TestOptions::defaults):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestRunner.cpp:
(setPagePausedCallback):
(TestRunner::staticFunctions):
(setAuthorAndUserStylesEnabledCallback): Deleted.
(setJavaScriptCanAccessClipboardCallback): Deleted.
(setXSSAuditorEnabledCallback): Deleted.
(setAllowUniversalAccessFromFileURLsCallback): Deleted.
(setAllowFileAccessFromFileURLsCallback): Deleted.
(setNeedsStorageAccessFromFileURLsQuirkCallback): Deleted.
(setTelephoneNumberParsingEnabledCallback): Deleted.
(setPopupBlockingEnabledCallback): Deleted.
(setPluginsEnabledCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
(webPreferenceFeatureValue):
(setWebPreferencesForTestOptions):
(runTest):
(boolWebPreferenceFeatureValue): Deleted.
(shouldEnableDeveloperExtras): Deleted.
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setAuthorAndUserStylesEnabled): Deleted.
(TestRunner::setXSSAuditorEnabled): Deleted.
(TestRunner::setAllowUniversalAccessFromFileURLs): Deleted.
(TestRunner::setAllowFileAccessFromFileURLs): Deleted.
(TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted.
(TestRunner::setPopupBlockingEnabled): Deleted.
(TestRunner::setPluginsEnabled): Deleted.
(TestRunner::setJavaScriptCanAccessClipboard): Deleted.
(TestRunner::setTelephoneNumberParsingEnabled): Deleted.
(TestRunner::setDeveloperExtrasEnabled): Deleted.
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
(webPreferenceFeatureValue):
(setWebPreferencesForTestOptions):
(runTest):
(shouldEnableDeveloperExtras): Deleted.
(boolWebPreferenceFeatureValue): Deleted.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setAuthorAndUserStylesEnabled): Deleted.
(TestRunner::setXSSAuditorEnabled): Deleted.
(TestRunner::setAllowUniversalAccessFromFileURLs): Deleted.
(TestRunner::setAllowFileAccessFromFileURLs): Deleted.
(TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted.
(TestRunner::setPopupBlockingEnabled): Deleted.
(TestRunner::setPluginsEnabled): Deleted.
(TestRunner::setJavaScriptCanAccessClipboard): Deleted.
(TestRunner::setDeveloperExtrasEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::overridePreference): Deleted.
(WTR::TestRunner::setXSSAuditorEnabled): Deleted.
(WTR::TestRunner::setMediaDevicesEnabled): Deleted.
(WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Deleted.
(WTR::TestRunner::setWebAPIStatisticsEnabled): Deleted.
(WTR::TestRunner::setModernMediaControlsEnabled): Deleted.
(WTR::TestRunner::setWebGL2Enabled): Deleted.
(WTR::TestRunner::setWritableStreamAPIEnabled): Deleted.
(WTR::TestRunner::setTransformStreamAPIEnabled): Deleted.
(WTR::TestRunner::setReadableByteStreamAPIEnabled): Deleted.
(WTR::TestRunner::setEncryptedMediaAPIEnabled): Deleted.
(WTR::TestRunner::setPictureInPictureAPIEnabled): Deleted.
(WTR::TestRunner::setGenericCueAPIEnabled): Deleted.
(WTR::TestRunner::setAllowUniversalAccessFromFileURLs): Deleted.
(WTR::TestRunner::setAllowFileAccessFromFileURLs): Deleted.
(WTR::TestRunner::setNeedsStorageAccessFromFileURLsQuirk): Deleted.
(WTR::TestRunner::setPluginsEnabled): Deleted.
(WTR::TestRunner::setJavaScriptCanAccessClipboard): Deleted.
(WTR::TestRunner::setPopupBlockingEnabled): Deleted.
(WTR::TestRunner::setAuthorAndUserStylesEnabled): Deleted.
(WTR::TestRunner::setOffscreenCanvasEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::defaults):
2020-10-31 Sam Weinig <weinig@apple.com>
Remove all remaining testRunner.overridePreference calls
https://bugs.webkit.org/show_bug.cgi?id=218373
Reviewed by Simon Fraser.
Remove implementations of testRunner.overridePreference. Adds testRunner.setShouldInvertColors,
which is a windows only preference. When we generate preferences for Windows, we can convert
this to use test header commands instead.
Also add default for MinimumFontSize so it can be used as test header commands for DumpRenderTree.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
* DumpRenderTree/TestRunner.cpp:
(setShouldInvertColors):
(TestRunner::staticFunctions):
(overridePreferenceCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::overridePreference): Deleted.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setShouldInvertColors):
(TestRunner::overridePreference): Deleted.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::toBool): Deleted.
(WTR::TestRunner::overridePreference): Deleted.
2020-10-30 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use allowlist and blocklist
https://bugs.webkit.org/show_bug.cgi?id=217985
<rdar://problem/70499499>
Reviewed by Aakash Jain.
* Scripts/webkitpy/pylintrc:
* Scripts/webkitpy/style/checkers/cpp.py:
(check_namespace_indentation):
* Scripts/webkitpy/w3c/common.py:
(is_basename_skipped):
* flatpak/flatpakutils.py:
(WebkitFlatpak.setup_gstbuild):
2020-10-30 Lauro Moura <lmoura@igalia.com>
webkitpy: Sync package versions with WPT suite
https://bugs.webkit.org/show_bug.cgi?id=217826
<rdar://problem/70619091>
Reviewed by Carlos Garcia Campos.
Sync most packages. funcsics is already imported with a newer version
in webkitcorepy.
* Scripts/webkitpy/__init__.py:
2020-10-30 Martin Robinson <mrobinson@igalia.com>
Re-add Martin Robinson as a committer
https://bugs.webkit.org/show_bug.cgi?id=218376
Reviewed by Žan Doberšek.
* Scripts/webkitpy/common/config/contributors.json: Updated with new status.
2020-10-29 Sam Weinig <weinig@apple.com>
Remove all remaining boolean overridePreference calls
https://bugs.webkit.org/show_bug.cgi?id=218355
Reviewed by Darin Adler.
Add a few more defaults for DumpRenderTree to allow them to be
used as test header commands.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
2020-10-29 Aditya Keerthi <akeerthi@apple.com>
[Cocoa] Remove soft linking of NetworkExtension.framework
https://bugs.webkit.org/show_bug.cgi?id=218314
<rdar://problem/70785239>
Reviewed by Andy Estes.
Updated a test to reflect that NetworkExtension.framework is no longer
loaded at runtime. This test was failing on Catalina after r269109,
as the Contacts framework was loading NetworkExtension.
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.h:
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
(-[ContentFilteringPlugIn checkIfPlatformFrameworksAreLoaded:]):
2020-10-29 Chris Dumez <cdumez@apple.com>
Regression(PSON): Back/forward navigation may hang
https://bugs.webkit.org/show_bug.cgi?id=216611
<rdar://problem/68992714>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2020-10-29 Sihui Liu <sihui_liu@apple.com>
Unreviewed, reverting r268192.
PLT regression - rdar://problem/70141350
Reverted changeset:
"Adjust heuristic for checking whether view reaches visually
non-empty state"
https://bugs.webkit.org/show_bug.cgi?id=217400
https://trac.webkit.org/changeset/268192
2020-10-29 Sam Weinig <weinig@apple.com>
[Testing] Remove requirement of adding new SPI for each preference that needs testing (WebKitLegacy Windows)
https://bugs.webkit.org/show_bug.cgi?id=218291
Reviewed by Brent Fulgham.
Adopt set*PreferenceForTesting functions to match DumpRenderTree for cocoa platforms, and
make it so that only TestOptions.cpp needs to be touched to add support for new preference
in tests.
Also adds some helpers to convert between string types and use RetainPtr in a few more places.
* DumpRenderTree/win/DumpRenderTree.cpp:
(toUTF8):
(toBSTR):
(resetWebPreferencesToConsistentValues):
(boolWebPreferenceFeatureValue):
(setWebPreferencesForTestOptions):
(runTest):
2020-10-28 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] loadConfig unittest fail depending on locally installed version of buildbot
https://bugs.webkit.org/show_bug.cgi?id=218234
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/loadConfig_unittest.py:
2020-10-28 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Use -q and -o while unzipping layout-test-results.zip
https://bugs.webkit.org/show_bug.cgi?id=218230
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org/steps.py:
(ExtractTestResults.start):
2020-10-28 Aakash Jain <aakash_jain@apple.com>
Rename build.webkit.org-config directory to build-webkit-org
https://bugs.webkit.org/show_bug.cgi?id=218302
Reviewed by Jonathan Bedard.
* CISupport/build-webkit-org: Copied from Tools/CISupport/build.webkit.org-config.
* CISupport/build-webkit-org/htdigestparser_unittest.py:
* CISupport/build-webkit-org/public_html/TestFailures/scripts/builders_unittests.js:
* CISupport/build-webkit-org/steps.py:
* CISupport/build-webkit-org/steps_unittest.py:
* CISupport/build-webkit-org/wkbuild.py:
* CISupport/build-webkit-org/wkbuild_unittest.py:
* CISupport/build.webkit.org-config: Removed.
* CISupport/ews-build/steps.py:
* CISupport/ews-build/steps_unittest.py:
* Scripts/run-dashboard-tests:
* Scripts/webkitpy/layout_tests/views/buildbot_results.py:
* Scripts/webkitpy/style/checker_unittest.py:
* Scripts/webkitpy/tool/servers/gardeningserver.py:
2020-10-28 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support finding commit by tag
https://bugs.webkit.org/show_bug.cgi?id=218212
<rdar://problem/70700121>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.commit): Find a commit referred to by a provided tag.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.find): Find a commit by tag, if applicable.
(Scm.commit):
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.info): Pull information by tag, support non-standard branches.
(Svn._cache_revisions): Support non-standard branches.
(Svn._branch_for): Return the non-standard branch name for tags.
(Svn.commit): Find a commit referred to by a provided tag.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): Support tags.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.__init__): Support tags.
(Svn.tags): Tags are simply specialized branches, return the names of those tags
based on the commit mapping.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit):
(TestGit.test_tag):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn):
(TestSvn.test_tag):
2020-10-28 Jonathan Bedard <jbedard@apple.com>
[webkitflaskpy] Create shared library for WebKit's flask tooling
https://bugs.webkit.org/show_bug.cgi?id=218257
<rdar://problem/70736269>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py:
(_maybe_add_webkit_python_library_paths): Add webkitcorepy and webkitflaskpy.
(_maybe_add_webkitcorepy_path): Renamed _maybe_add_webkit_python_library_paths.
* Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/util.py: Moved to webkitflaskpy/util.py.
* Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/util_unittest.py: Moved to webkitflaskpy/util_unittest.py.
* Scripts/libraries/webkitflaskpy: Added.
* Scripts/libraries/webkitflaskpy/MANIFEST.in: Added.
* Scripts/libraries/webkitflaskpy/README.md: Added.
* Scripts/libraries/webkitflaskpy/setup.py: Added.
* Scripts/libraries/webkitflaskpy/webkitflaskpy: Added.
* Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py: Added.
* Scripts/libraries/webkitflaskpy/webkitflaskpy/util.py: Moved from resultsdpy/flask_support/util.py.
* Scripts/libraries/webkitflaskpy/webkitflaskpy/util_unittest.py: Moved from resultsdpy/flask_support/util_unittest.py.
* Scripts/webkitpy/test/main.py:
(main): Add
2020-10-28 Sam Weinig <weinig@apple.com>
Reduce Preference Override Methods: TabsToLinks/SpatialNavigation
https://bugs.webkit.org/show_bug.cgi?id=218288
Reviewed by Tim Horton.
Replace uses of testRunner.overridePreference("WebKitTabToLinksPreferenceKey", ...) and
testRunner.setSpatialNavigationEnabled(...) with test header commands, helping to reduce
the number of different ways we have to override preferences in LayoutTests.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::defaults):
* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
(setSpatialNavigationEnabledCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setSpatialNavigationEnabled): Deleted.
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
(setWebPreferencesForTestOptions):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setSpatialNavigationEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2020-10-28 Aakash Jain <aakash_jain@apple.com>
[ews] Ensure that uat instance doesn't send emails
https://bugs.webkit.org/show_bug.cgi?id=218227
Reviewed by Jonathan Bedard.
* CISupport/ews-build/send_email.py:
2020-10-28 Sam Weinig <weinig@apple.com>
[Testing] Remove requirement of adding new SPI for each preference that needs testing
https://bugs.webkit.org/show_bug.cgi?id=218267
Reviewed by Simon Fraser.
Removes the requirement for WebKitLegacy (macOS), which has already been lifted for
modern WebKit, that testing new preferences requires new WebPreferences SPI. Instead,
new testing specific SPI ([WebPreferences _set*PreferenceForTestingWithValue:forKey:])
are used to allow string based setting.
To make this work with the shared WebPreferences*.yaml names, a helper is generated to
map from the shared name to the WebKitLegacy specific name.
This still doesn't quite take us all the way to supporting any WebPreferences*.yaml name
in test headers, as is supported in WebKitTestRunner, as we still need a viable mechanism
to fully reset WebPreferences between tests. Right now, each preference must be set on
each test run, requiring the complete set of preferences to be known up front.
* DumpRenderTree/CMakeLists.txt:
* DumpRenderTree/DerivedSources-input.xcfilelist:
* DumpRenderTree/DerivedSources-output.xcfilelist:
* DumpRenderTree/DerivedSources.make:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/Scripts/PreferencesTemplates/TestOptionsGeneratedWebKitLegacyKeyMapping.cpp.erb: Added.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::supportedBoolWebPreferenceFeatures):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::overridePreference):
2020-10-28 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Update Mesa and GTK4 dependencies
https://bugs.webkit.org/show_bug.cgi?id=218281
Reviewed by Carlos Alberto Lopez Perez.
* buildstream/elements/flatpak/sdk.bst: Switch to app-debug-link as in the upstream FDO SDK.
* buildstream/elements/freedesktop-sdk.bst: Bump junction ref.
* buildstream/elements/sdk/mesa.bst: Update to 20.1.10 and add patch not present in stable release yet.
* buildstream/patches/fdo-0001-pango-Bump-to-1.47.patch: Added.
* buildstream/patches/mesa/0001-mesa-rename-_mesa_free_errors_data.patch: Removed.
* buildstream/patches/mesa/0002-mesa-add-bool-param-to-_mesa_free_context_data.patch: Removed.
* buildstream/patches/mesa/0003-mesa-st-release-debug_output-after-destroying-the-co.patch: Removed.
* buildstream/patches/mesa/0004-mesa-clear-texture-s-views-when-texture-is-remove.patch: Added.
2020-10-28 Adrian Perez de Castro <aperez@igalia.com>
[GTK4] Build broken with GTK 3.99.3
https://bugs.webkit.org/show_bug.cgi?id=218270
Reviewed by Carlos Garcia Campos.
* buildstream/elements/sdk/gtk.bst: Bump GTK4 version to 3.99.4
2020-10-27 Alex Christensen <achristensen@webkit.org>
Use _CFURLConnectionSetFrameworkStubs for SecItemShim instead of DYLD_INTERPOSE on Apple Silicon Macs
https://bugs.webkit.org/show_bug.cgi?id=218269
<rdar://problem/70491533>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TEST):
2020-10-27 Sam Weinig <weinig@apple.com>
DumpRenderTree spams stderr with CFNetwork warnings about null diskcache path
https://bugs.webkit.org/show_bug.cgi?id=218241
Reviewed by Darin Adler.
Remove attempt at using a memory only shared URL cache, as subsequent calls
to [WebPreferences setCacheModel:] cause a disk cache to be used anyway. All
this really seems to do is cause CFNetwork to log to stderr. It's unlikely
this optimization is worthwhile anyway these days, as avoiding touching the
filesystem is less necessary.
* DumpRenderTree/mac/DumpRenderTree.mm:
(prepareConsistentTestingEnvironment):
2020-10-27 Brian Burg <bburg@apple.com>
[Cocoa] Introduce _WKInspectorConfiguration for customizing local and remote Web Inspectors
https://bugs.webkit.org/show_bug.cgi?id=217896
<rdar://problem/70355910>
Reviewed by Devin Rousso.
Add an API test for _WKInspectorConfiguration. Disabled for now, will
be turned back on when more web extensions API has landed.
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:
(-[SimpleURLSchemeHandler webView:startURLSchemeTask:]):
(-[SimpleURLSchemeHandler webView:stopURLSchemeTask:]):
(-[UIDelegate _webView:configurationForLocalInspector:]):
(-[UIDelegate _webView:didAttachLocalInspector:]):
(TEST):
2020-10-27 Keith Rollin <krollin@apple.com>
Update generate_xcfilelists to accommodate paths with symlinks
https://bugs.webkit.org/show_bug.cgi?id=218223
<rdar://problem/70709808>
Reviewed by Timothy Hatcher.
There are cases where file system paths are compared against each
other, and where the comparisons are failing because one or the other
(or both) make use of symlinks, causing paths that refer to the same
location to fail to compare correctly. Address this by resolving path
components that are symlinks.
* Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
(BaseGenerator):
(BaseGenerator._unexpand):
(BaseGenerator._unexpand._expand_if_abs):
(BaseGenerator._unexpand._variations):
(BaseGenerator._unexpand._variations._gen):
(BaseGenerator._unexpand._try_unexpand):
(BaseGenerator._unexpand._do_unexpand):
2020-10-27 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] Don't disable MSE build support on Debian and Ubuntu LTS bots
https://bugs.webkit.org/show_bug.cgi?id=218247
Reviewed by Philippe Normand.
The version of gstreamer on this bots (Ubuntu-18.04 and Debian 10)
is now newer enough (1.14) to enable MSE support.
* CISupport/build.webkit.org-config/config.json:
2020-10-27 Aakash Jain <aakash_jain@apple.com>
Rename BuildSlaveSupport to CISupport
https://bugs.webkit.org/show_bug.cgi?id=218026
Reviewed by Jonathan Bedard.
* CISupport: Copied from Tools/BuildSlaveSupport.
* CISupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
* CISupport/build.webkit.org-config/steps.py:
* CISupport/build.webkit.org-config/wkbuild.py:
* CISupport/build.webkit.org-config/wkbuild_unittest.py:
* CISupport/ews-app/ews/views/statusbubble.py:
* CISupport/ews-build/steps.py:
* CISupport/ews-build/steps_unittest.py:
* BuildSlaveSupport: Replaced.
* EWSTools/Start-Queue.ps1:
* Scripts/bisect-builds:
* Scripts/run-dashboard-tests:
* Scripts/webkitpy/common/config/watchlist:
* Scripts/webkitpy/layout_tests/views/buildbot_results.py:
* Scripts/webkitpy/style/checker_unittest.py:
* Scripts/webkitpy/tool/servers/gardeningserver.py:
* .gitattributes:
2020-10-27 Sam Weinig <weinig@apple.com>
Rename WKPreferencesSet*ValueForKey SPI to WKPreferencesSet*ValueForKeyForTesting
https://bugs.webkit.org/show_bug.cgi?id=218240
Reviewed by Darin Adler.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Update for renamed function names.
2020-10-27 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] Move step for generating the JSC bundle back to the release build bot
https://bugs.webkit.org/show_bug.cgi?id=218207
Reviewed by Adrian Perez de Castro.
On r266208 I moved the step to generate the JSC bundle from the default
GTK release build bot to the new bots for Ubuntu-20.04 packaging.
But it seems the ICU version of Ubuntu-20.04 (66) is not new enough for
testing some Intl features like Intl.ListFormat as JS Intl feature behaviors
are derived from ICU versions.
Move back this step to the GTK release build bot that runs with flatpak,
so it bundles the version of ICU from the FreeDesktop SDK (67 currently)
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2020-10-26 Federico Bucchi <fbucchi@apple.com>
Add Federico Bucchi to list of WebKit contributors
https://bugs.webkit.org/show_bug.cgi?id=218136
- Added Federico Bucchi
- Removed "slackId" : "UTWC5TTSP", because it was causing:
ERROR: Tools/Scripts/webkitpy/common/config/contributors.json:0: contributors.json differs from the canonical format.
Reviewed by Brian Burg.
* Scripts/webkitpy/common/config/contributors.json:
2020-10-26 Aakash Jain <aakash_jain@apple.com>
Allow skipping specific files from report-non-inclusive-language
https://bugs.webkit.org/show_bug.cgi?id=218199
Reviewed by Darin Adler.
* Scripts/report-non-inclusive-language:
2020-10-26 Matt Lewis <jlewis3@apple.com>
Webkitscmpy has missing / in scm executable candidate list.
https://bugs.webkit.org/show_bug.cgi?id=218166
Reviewed by Jonathan Bedard.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Version Bump
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.executable):
2020-10-26 Youenn Fablet <youenn@apple.com>
W3C test importer should not import manual HTTPS tests
https://bugs.webkit.org/show_bug.cgi?id=217944
Reviewed by Jonathan Bedard.
Uodate manual test detection heuristic to simply search for '-manual.'.
* Scripts/webkitpy/w3c/test_parser.py:
(TestParser.is_wpt_manualtest):
* Scripts/webkitpy/w3c/test_parser_unittest.py:
2020-10-26 Zan Dobersek <zdobersek@igalia.com>
Remove Accelerated2dCanvasEnabled WebPreferences entry
https://bugs.webkit.org/show_bug.cgi?id=218114
Reviewed by Adrian Perez de Castro.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings): Adjust the test case to properly evaluate the
deprecated no-op behavior.
2020-10-22 Ryosuke Niwa <rniwa@webkit.org>
IPC testing API should expose ArrayBuffer for an unknown decoded argument
https://bugs.webkit.org/show_bug.cgi?id=218113
Reviewed by Darin Adler.
Updated a test case to check that the unknown type produces an ArrayBuffer.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(IPCTestingAPI.CanInterceptAlert):
2020-10-22 Darin Adler <darin@apple.com>
REGRESSION(r266295): DOMSelection's addRange and containsNode behave incorrectly when selection crosses shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=218007
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp: Disabled the isPointInRange
test and added comments about how we will restore it in the future.
2020-10-23 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r268761.
May have casued webrtc crashes on Catalina Debug.
Reverted changeset:
"[webkitpy] Use allowlist and blocklist"
https://bugs.webkit.org/show_bug.cgi?id=217985
https://trac.webkit.org/changeset/268761
2020-10-23 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Remove the old autointaller
https://bugs.webkit.org/show_bug.cgi?id=218131
<rdar://problem/70627699>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/test/main.py:
(Tester._run_tests): Remove reference to old autoinstaller.
* Scripts/webkitpy/thirdparty/__init__.py: Deleted content.
(autoinstall_everything): Deleted.
2020-10-23 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Use 'which' to find git and svn paths
https://bugs.webkit.org/show_bug.cgi?id=217717
<rdar://problem/70299192>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git):
(Git.executable): Generate git path from 'which' call.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.executable): Generate a program path from a 'which' call.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn):
(Svn.executable): Generate svn path from 'which' call.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git):
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.__init__):
2020-10-23 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Add python 3 support - part 2
https://bugs.webkit.org/show_bug.cgi?id=218130
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/buildbot.tac:
* BuildSlaveSupport/build.webkit.org-config/htdigestparser_unittest.py:
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
* BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py:
2020-10-23 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Create master.cfg for newer buildbot
https://bugs.webkit.org/show_bug.cgi?id=218102
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/buildbot.tac:
* BuildSlaveSupport/build.webkit.org-config/master_buildbot2.cfg: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg.
2020-10-23 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's autoinstaller for buildbot and twisted
https://bugs.webkit.org/show_bug.cgi?id=218105
<rdar://problem/70593576>
Rubber-stamped by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
(BuildBotConfigLoader._add_dependent_modules_to_sys_modules):
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.archives): tar.bz2 archives are tar.gz archives.
(Package.install): After r267056, we don't need "old-and-unmanageable" and
"single-version-externally-managed", handle case of nested modules more completely.
* Scripts/webkitpy/autoinstalled/buildbot.py: Added.
* Scripts/webkitpy/autoinstalled/twisted.py: Added.
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py:
Import new auto installed twisted.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver._ensure_http_server_dependencies): Import new auto installed twisted.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove all modules.
(AutoinstallImportHook._install_buildbot): Deleted.
(AutoinstallImportHook._install_twisted_15_5_0): Deleted.
* Scripts/webkitpy/thirdparty/__init___unittest.py: Removed.
2020-10-23 Aakash Jain <aakash_jain@apple.com>
Rename slave to worker in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=218123
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
* Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
* Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
* Scripts/webkitpy/common/system/crashlogs_unittest.py:
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
* Scripts/webkitpy/layout_tests/controllers/manager.py:
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
* Scripts/webkitpy/port/leakdetector_unittest.py:
* Scripts/webkitpy/style/checkers/jsonchecker_unittest.py:
2020-10-22 Alex Christensen <achristensen@webkit.org>
Null check platformStrategies when making blob read stream for an NSURLRequest
https://bugs.webkit.org/show_bug.cgi?id=218112
<rdar://problem/70507102>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/NavigationAction.mm:
(TEST):
2020-10-22 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's autoinstaller for chrome and gecko drivers
https://bugs.webkit.org/show_bug.cgi?id=218059
<rdar://problem/70551255>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/autoinstalled: Added.
* Scripts/webkitpy/autoinstalled/__init__.py: Added.
* Scripts/webkitpy/autoinstalled/chromedriver.py: Added.
(ChromeDriverPackage): Special listing rules for the chrome driver.
* Scripts/webkitpy/autoinstalled/geckodriver.py: Added.
(GeckoDriverPackage): Special listing rules for the GeckoDriver.
* Scripts/webkitpy/benchmark_runner/utils.py:
(get_driver_binary_path):
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove Chrome and Gecko drivers.
(AutoinstallImportHook.install_chromedriver): Deleted.
(AutoinstallImportHook.install_geckodriver): Deleted.
(get_driver_filename): Deleted.
(get_os_info): Deleted.
2020-10-22 Aakash Jain <aakash_jain@apple.com>
report-non-inclusive-language should also report total for all the non-inclusive terms
https://bugs.webkit.org/show_bug.cgi?id=218096
Reviewed by Darin Adler.
* Scripts/report-non-inclusive-language: Report total for all the non-inclusive terms. Also improved
formatting of the output to make it one-line.
2020-10-22 Aakash Jain <aakash_jain@apple.com>
[webkitpy] Rename slave to worker in perftestsrunner
https://bugs.webkit.org/show_bug.cgi?id=218082
Reviewed by Ryosuke Niwa.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args): Supporting both --slave-config-json-path and --worker-config-json-path for now.
(_generate_results):
(_merge_worker_config_json):
(_merge_slave_config_json): Deleted.
* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.test_parse_args):
(MainTest.test_parse_deprecated_args): Added unit-test for deprecated parameter.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunAndUploadPerfTests):
2020-10-22 Jonathan Bedard <jbedard@apple.com>
Few webkitpy tests fail for machines in non-PST timezones
https://bugs.webkit.org/show_bug.cgi?id=218079
<rdar://problem/70579517>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_info):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn.test_info):
2020-10-22 Eric Carlson <eric.carlson@apple.com>
UIClient isn't notified when page muted state changes
https://bugs.webkit.org/show_bug.cgi?id=218085
<rdar://problem/70462420>
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme:
* TestWebKitAPI/Tests/WebKitCocoa/MediaMutedState.mm: Added.
(-[AudioStateObserver initWithWebView:]):
(-[AudioStateObserver observeValueForKeyPath:ofObject:change:context:]):
(-[AudioStateTestView setMuted:]):
(TestWebKitAPI::TEST):
2020-10-22 Angelos Oikonomopoulos <angelos@igalia.com>
Detect unrecognized options in build-jsc
https://bugs.webkit.org/show_bug.cgi?id=218077
Reviewed by Yusuke Suzuki.
Currently, Getopt::Long is configured with pass_through, in order to
be able to forward arbitrary arguments in buildMyProject. However, that
means that typos in option names (e.g. using --cmake-args instead of
--cmakeargs) go undetected and the option is silently ignored.
For cmake builds, there is no such forwarding, so check that there are
no remaining arguments in ARGV and refuse to continue if so. This runs
the risk of breaking wrapper scripts that incorrectly pass unrecognized
options, but that seems like a good thing.
* Scripts/build-jsc:
2020-10-22 Peng Liu <peng.liu6@apple.com>
Let webkitDisplayingFullscreen() return true when a video element’s fullscreen mode is not VideoFullscreenModeNone
https://bugs.webkit.org/show_bug.cgi?id=216426
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
(TEST):
Use internals.isChangingPresentationMode() to make sure a video presentation mode
change (from inline to picture-in-picture) is completed before moving to the next
step of the test.
2020-10-22 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Backport GStreamer device monitor patch
https://bugs.webkit.org/show_bug.cgi?id=218021
Reviewed by Adrian Perez de Castro.
Backport of https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/679 to be shipped in 1.20.
This is needed to prevent false-positive critical warnings on the bots. See #217959.
* buildstream/elements/sdk/gstreamer.bst:
* buildstream/patches/gstreamer-0001-devicemonitor-Stop-only-the-already-started-provider.patch: Added.
2020-10-22 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update W3C WebDriver imported tests.
Always connect to WebKitWebView::close even if the view is never made active.
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowSwitchTab):
(browser_window_append_view):
2020-10-21 Carlos Alberto Lopez Perez <clopez@igalia.com>
[JHbuild] Add patch to wpebackend-fdo to fix the build on Ubuntu-18.04
https://bugs.webkit.org/show_bug.cgi?id=218068
Reviewed by Adrian Perez de Castro.
On r268591 I updated the version of wpebackend-fdo to the last stable 1.8
but this version is failing to build on Ubuntu-18.04 because of the cmake version.
Backport a patch to fix this.
* gtk/jhbuild.modules:
* gtk/patches/wpebackend-fdo-cmake-buildfix-3.10.patch: Added.
* jhbuild/jhbuild-minimal.modules:
* jhbuild/patches/wpebackend-fdo-cmake-buildfix-3.10.patch: Added.
* wpe/jhbuild.modules:
* wpe/patches/wpebackend-fdo-cmake-buildfix-3.10.patch: Added.
2020-10-21 Ryosuke Niwa <rniwa@webkit.org>
IPC testing API should have the capability to observe messages being sent and received
https://bugs.webkit.org/show_bug.cgi?id=217870
Reviewed by Darin Adler.
Added tests to intercept IPC messages sent and received by WebContent process.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(IPCTestingAPI.CanInterceptAlert):
(IPCTestingAPI.CanInterceptHasStorageAccess):
(IPCTestingAPI.CanInterceptFindString):
2020-10-21 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's autoinstaller for beautifulsoup
https://bugs.webkit.org/show_bug.cgi?id=218049
<rdar://problem/70542684>
Reviewed by Aakash Jain.
* Scripts/webkitpy/__init__.py:
* Scripts/webkitpy/thirdparty/BeautifulSoup.py:
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove _install_beatifulsoup.
(AutoinstallImportHook._install_pytest_timeout): Deleted.
(AutoinstallImportHook._install_pytest): Deleted.
(AutoinstallImportHook._install_beautifulsoup): Deleted.
2020-10-21 Carlos Alberto Lopez Perez <clopez@igalia.com>
update-webkitgtk-libs and run-webkit-tests fail silently if flatpak has problems updating
https://bugs.webkit.org/show_bug.cgi?id=218047
Reviewed by Philippe Normand.
This scripts were returning zero status when flatpak failed to
update in some cases. Fix them to return a non-zero status.
* Scripts/update-webkit-flatpak: Add missing sys.exit call with the return code.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): In python false is zero when casted to int.
2020-10-21 Lauro Moura <lmoura@igalia.com>
webkitpy: Check for duplicated keys in json expectation files
https://bugs.webkit.org/show_bug.cgi?id=218032
Reviewed by Carlos Alberto Lopez Perez.
When JSON contains repeated keys, Python only uses the last key/value
pair in the resulting dict, without warnings. This may cause some
expectations to be ignored, like what r267323 fixed.
This change also makes MockTestExpectations use the same loading
validation as the actual expectation instead of calling json.loads
directly.
* Scripts/webkitpy/common/test_expectations.py:
(check_repeated_keys): Added.
(TestExpectations.__init__): Use helper function.
(TestExpectations._load_expectation_string): Moved validation here.
* Scripts/webkitpy/common/test_expectations_unittest.py:
(MockTestExpectations.__init__): Use helper function.
(test_repeated_keys): Added test when there are repeated keys.
2020-10-21 Alex Christensen <achristensen@webkit.org>
Don't crash when deallocating WKWebView during TLS handshake
https://bugs.webkit.org/show_bug.cgi?id=218025
<rdar://problem/70225969>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TEST):
2020-10-20 Sam Weinig <weinig@apple.com>
Cleanup DumpRenderTree in preparation for supporting arbitrary test header commands
https://bugs.webkit.org/show_bug.cgi?id=217962
Reviewed by Darin Adler.
- Moves DumpRenderTree's TestOptions to be fully backed by TestFeatures like WebKitTestRunnner,
allowing future changes to utilize any WebPreference once SPI is available from WebKitLegacy.
- Removes use of using namespace std; from DumpRenderTree.mm, which is not something we normally
do and made the code a bit confusing.
- Move some random setting of preferences to centralized reset functions.
* DumpRenderTree/TestOptions.cpp:
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
* DumpRenderTree/mac/TestRunnerMac.mm:
* DumpRenderTree/mac/UIDelegate.mm:
* DumpRenderTree/win/DumpRenderTree.cpp:
2020-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: add support for wheel actions
https://bugs.webkit.org/show_bug.cgi?id=217174
Reviewed by Brian Burg.
Add webdriver-wheel-interactions option.
* Scripts/webkitperl/FeatureList.pm:
2020-10-21 Lauro Moura <lmoura@igalia.com>
webkitpy: Fix webdriver logging message
https://bugs.webkit.org/show_bug.cgi?id=218006
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
(WebDriverTestRunner.process_results): Use the test name instead of
the dir name.
2020-10-20 Aakash Jain <aakash_jain@apple.com>
report-non-inclusive-language should do exact match for directory names to ignore
https://bugs.webkit.org/show_bug.cgi?id=217993
Reviewed by Darin Adler.
* Scripts/report-non-inclusive-language:
2020-10-20 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Rename slavename to workername in steps.py
https://bugs.webkit.org/show_bug.cgi?id=217988
Reviewed by Dewei Zhu.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
2020-10-20 Aakash Jain <aakash_jain@apple.com>
Make report-non-inclusive-language ignore autoinstalled directories and certain file types (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=217972
Reviewed by Darin Adler.
* Scripts/report-non-inclusive-language: Rename IGNORE_DIRECTORIES to IGNORE_DIRECTORIES_CONTAINING.
2020-10-20 Sihui Liu <sihui_liu@apple.com>
Add stubs for SpeechRecognition
https://bugs.webkit.org/show_bug.cgi?id=217780
<rdar://problem/70350727>
Reviewed by Youenn Fablet.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
2020-10-20 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use allowlist and blocklist
https://bugs.webkit.org/show_bug.cgi?id=217985
<rdar://problem/70499499>
Reviewed by Aakash Jain.
* Scripts/webkitpy/pylintrc:
* Scripts/webkitpy/style/checkers/cpp.py:
(check_namespace_indentation):
* Scripts/webkitpy/w3c/common.py:
(is_basename_skipped):
* flatpak/flatpakutils.py:
(WebkitFlatpak.setup_gstbuild):
2020-10-20 Aakash Jain <aakash_jain@apple.com>
Make report-non-inclusive-language ignore autoinstalled directories and certain file types
https://bugs.webkit.org/show_bug.cgi?id=217972
Reviewed by Beth Dakin.
* Scripts/report-non-inclusive-language: startswith and endswith also takes a tuple of suffixes to
look for, reference: https://docs.python.org/3/library/stdtypes.html#str.endswith
2020-10-20 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Use builder tags instead of category for latest buildbot
https://bugs.webkit.org/show_bug.cgi?id=217958
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
(loadBuilderConfig):
(PlatformSpecificScheduler.filter):
(getInvalidTags):
(getValidTags):
(getTagsForBuilder):
* BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py: Added unit-tests, copied from EWS code.
(TagsForBuilderTest):
(TagsForBuilderTest.verifyTags):
(TagsForBuilderTest.test_getTagsForBuilder):
(TagsForBuilderTest.test_tags_type):
(TagsForBuilderTest.test_getInvalidTags):
2020-10-20 Michael Catanzaro <mcatanzaro@gnome.org>
TestOptionsGeneratedKeys.h:30:52: warning: backslash-newline at end of file
https://bugs.webkit.org/show_bug.cgi?id=217957
Reviewed by Sam Weinig.
I guess this is bad because something else from another header could be on the next line,
depending on the order that headers get included into the source file. So let's add a blank
line to the end of the file.
* WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb:
2020-10-16 Jer Noble <jer.noble@apple.com>
Add skeleton implementation of Media Session API
https://bugs.webkit.org/show_bug.cgi?id=217797
<rdar://problem/70367487>
Reviewed by Darin Adler.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
2020-10-20 Aakash Jain <aakash_jain@apple.com>
[ews] Remove blacklist terminology
https://bugs.webkit.org/show_bug.cgi?id=217953
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/loadConfig.py:
(getInvalidTags):
(getValidTags):
* BuildSlaveSupport/ews-build/loadConfig_unittest.py:
(TagsForBuilderTest.test_getInvalidTags):
2020-10-20 Philippe Normand <pnormand@igalia.com>
Unreviewed, partial revert of r268721.
* buildstream/elements/sdk/libmanette.bst: libevdev is actually a requirement for libmanette.
2020-10-20 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: start a https server too for tests
https://bugs.webkit.org/show_bug.cgi?id=217223
<rdar://problem/70136595>
Reviewed by Adrian Perez de Castro.
Handle HTTPS configuration in WebDriver WPT server.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
(WebDriverW3CExecutor.__init__): Set https configuration from server.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
(WebDriverW3CWebServer._wait_for_server): Also wait for HTTPS port.
(WebDriverW3CWebServer.start): Write config file and get also https port.
(WebDriverW3CWebServer.http_port): Renamed port as http_port.
(WebDriverW3CWebServer.https_port): Added to return the https port.
(WebDriverW3CWebServer.port): Deleted.
2020-10-20 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Update rr for AMD Ryzen support
https://bugs.webkit.org/show_bug.cgi?id=217474
Reviewed by Adrian Perez de Castro.
* buildstream/Pipfile: Remove Python 3.8 hard requirement.
* buildstream/Pipfile.lock:
* buildstream/elements/freedesktop-sdk.bst: Bump to latest version of the 20.08 FDO junction.
* buildstream/elements/sdk/rr.bst: Bump to current git master.
2020-10-20 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Gamepad events do not occur in the flatpak shell.
https://bugs.webkit.org/show_bug.cgi?id=212453
Reviewed by Michael Catanzaro.
If the support for gudev is disabled in libmanette, it falls back to monitoring the
files under /dev/input by itself without trying to use udev at all. This works fine
because the Flatpak SDK environment has access to all of /dev.
* buildstream/elements/sdk/libmanette.bst: Pass -Dgudev=disabled to Meson, and remove
the libgudev dependency from the element.
2020-10-20 Sam Weinig <weinig@apple.com>
Tweak WebPreferences*.yaml "exposed" key to only indicate that the key should not be changeable by the frontend
https://bugs.webkit.org/show_bug.cgi?id=217918
Reviewed by Darin Adler.
Update to use new "exposed" prefix bindings and use default value explicitly
when updating settings for non-exposed preferences.
* DumpRenderTree/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb:
* WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb:
2020-10-19 Lauro Moura <lmoura@igalia.com>
REGRESSION(r268115) [GTK] Build failures with GCC 7 (Ubuntu 18.04) and GCC 8 (Debian Buster)
https://bugs.webkit.org/show_bug.cgi?id=217425
Reviewed by Carlos Alberto Lopez Perez.
* WebKitTestRunner/CMakeLists.txt: Link with stdc++fs if using
<experimental/filesystem>.
2020-10-19 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r268693.
Re-landing these changes as the underlying issue may have been
with CI infrastructure (and should now be resolved)
Reverted changeset:
"Unreviewed, reverting r268495, r268571, and r268682."
https://bugs.webkit.org/show_bug.cgi?id=217723
https://trac.webkit.org/changeset/268693
2020-10-19 Jonathan Bedard <jbedard@apple.com>
[results.webkit.org] Refresh S3 context when token expires
https://bugs.webkit.org/show_bug.cgi?id=217924
<rdar://problem/70381137>
Reviewed by Dewei Zhu.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/s3_archiver.py:
(S3Archiver.__init__): Add _cached_token variable.
(S3Archiver.__enter__): Refresh S3 resource when the current token and cached token don't match.
(S3Archiver.__exit__): Clear out the cached token.
2020-10-19 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r268495, r268571, and r268682.
Caused failures for some internal build configurations
Reverted changesets:
"[Testing] Generate test header key map for DumpRenderTree"
https://bugs.webkit.org/show_bug.cgi?id=217723
https://trac.webkit.org/changeset/268495
"Attempt to fix the build."
https://trac.webkit.org/changeset/268571
"Switch to a static pattern for DumpRenderTree preferences
generation to avoid ambiguous rules"
https://bugs.webkit.org/show_bug.cgi?id=217907
https://trac.webkit.org/changeset/268682
2020-10-19 Aakash Jain <aakash_jain@apple.com>
[ews] use -o while unzipping layout-test-results.zip
https://bugs.webkit.org/show_bug.cgi?id=217914
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ExtractTestResults.__init__):
* BuildSlaveSupport/ews-build/steps_unittest.py:
2020-10-19 Sam Weinig <weinig@apple.com>
Switch to a static pattern for DumpRenderTree preferences generation to avoid ambiguous rules
https://bugs.webkit.org/show_bug.cgi?id=217907
Reviewed by Simon Fraser.
* DumpRenderTree/DerivedSources-input.xcfilelist:
Add DerivedSources.make and generate-derived-sources.sh to ensure things get rebuilt when they change.
* DumpRenderTree/DerivedSources.make:
Switch to using a static pattern to avoid ambiguous and ciruclar rules.
2020-10-19 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Use feature flag to support Buildbot 2 code
https://bugs.webkit.org/show_bug.cgi?id=217834
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
(loadBuilderConfig):
2020-10-19 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's autoinstaller for keyring
https://bugs.webkit.org/show_bug.cgi?id=217839
<rdar://problem/70389225>
Reviewed by Aakash Jain.
* Scripts/webkitpy/__init__.py: Add keyring.
* Scripts/webkitpy/common/net/credentials.py:
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove _install_keyring.
(AutoinstallImportHook._install_keyring): Deleted.
2020-10-18 Lauro Moura <lmoura@igalia.com>
webkitcorepy: Allow one package to require another package
https://bugs.webkit.org/show_bug.cgi?id=217856
Reviewed by Jonathan Bedard.
In some cases a package may check whether another package is
installed without actually importing it, which would make
the AutoInstall to miss the dependency as it would not be
imported. An example is pytest autoload feature searching
for plugins like pytest_timeout.
So, this commit adds a new argument to autoinstall.Package:
implicit_deps. It is not intended to be a full fledged dependency
tracking system, just covering these corner cases.
This commit also downgrades pytest from 3.10 to 3.6 to match the
version used in WPT tests.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump mini
version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.__init__): Add new implicit_deps argument.
(Package.install): Install implicit_deps.
* Scripts/webkitpy/__init__.py: Update pytest version and add
pytest_timeout dependency.
* Scripts/webkitpy/webdriver_tests/pytest_runner.py:
(run): Ignore DISABLE_AUTOLOAD as it was added in pytest 3.8 and go
back to implicitly loading pytest_timeout.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
(WebDriverTestRunnerSelenium.run): Add the harness error log messages
like the ones in the w3c runner from r268402.
2020-10-17 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] flatpakutils.py reports "KeyError: 'gcc'" error if using with icecc and toolchains aren't generated yet
https://bugs.webkit.org/show_bug.cgi?id=217799
Reviewed by Fujii Hironori.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Gracefully exit with an error message when the icecc
configuration failed to complete.
2020-10-16 Wenson Hsieh <wenson_hsieh@apple.com>
Add system trace points for flushing remote image buffers
https://bugs.webkit.org/show_bug.cgi?id=217853
Reviewed by Simon Fraser.
See WebKit ChangeLog for more details.
* Tracing/SystemTracePoints.plist:
2020-10-16 Ryosuke Niwa <rniwa@webkit.org>
IPC testing API should expose whether a given IPC message has sync reply or not
https://bugs.webkit.org/show_bug.cgi?id=217861
Reviewed by Darin Adler.
Added a test for IPC.messages.*.isSync using RunJavaScriptAlert.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(createWebViewWithIPCTestingAPI): Extracted to share more code between tests.
(IPCTestingAPI.AlertIsSyncMessage): Added.
2020-10-16 Antoine Quint <graouts@webkit.org>
Enable individual CSS transform properties by default
https://bugs.webkit.org/show_bug.cgi?id=217849
<rdar://problem/70052493>
Reviewed by Dean Jackson.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
2020-10-16 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Remove experimental feature flag: WebAuthenticationLocalAuthenticatorEnabled
https://bugs.webkit.org/show_bug.cgi?id=217796
<rdar://problem/70358912>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
* WebKitTestRunner/TestOptions.cpp:
(WTR::boolDefaultsMap):
(WTR::keyTypeMap):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::enableWebAuthentication const):
(WTR::TestOptions::enableWebAuthenticationLocalAuthenticator const): Deleted.
2020-10-16 Matt Lewis <jlewis3@apple.com>
Move EWS to new SDKs: iOS 14.
https://bugs.webkit.org/show_bug.cgi?id=217840
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/config.json:
2020-10-16 Sam Weinig <weinig@apple.com>
[Testing] Support configuring any preference from test headers for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=217645
Reviewed by Tim Horton.
Support using any preference defined in any of the WebPreference*.yaml configuration files
as a test header command rather than limiting it to a hard coded subset by generating the
list of supported commands and their types from the yaml files themselves.
This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree
in subsequent changes.
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/DerivedSources-input.xcfilelist:
* WebKitTestRunner/DerivedSources-output.xcfilelist:
* WebKitTestRunner/DerivedSources.make:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/Scripts/PreferencesTemplates: Added.
* WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added.
Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using
the shared GeneratePreferences.rb script in WTF.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Move preference setting to the bottom of the file to allow any preference
to be overriden. Also adds in support for double, uint32_t, and string preferences
though none of those are currently being used.
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::keyTypeMapping):
Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding
all the preferences types.
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::boolWebPreferenceFeatures const):
(WTR::TestOptions::doubleWebPreferenceFeatures const):
(WTR::TestOptions::uint32WebPreferenceFeatures const):
(WTR::TestOptions::stringWebPreferenceFeatures const):
Expose accessors for preferences values for use in setting the actual preference
values. Rather than setting all preferences, we now only set preferences that have
been explicitly requested, using the default value for any that have not.
2020-10-16 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org Rename slave to worker in steps.py
https://bugs.webkit.org/show_bug.cgi?id=217836
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/steps.py: Renamed slave to worker.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Ditto.
2020-10-16 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's autoinstaller for plint
https://bugs.webkit.org/show_bug.cgi?id=217793
<rdar://problem/70356095>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall): Support multiple aliases to a single library.
(AutoInstall.register):
(AutoInstall.install):
(AutoInstall.install_everything):
* Scripts/webkitpy/__init__.py: Add pylint, map install zope.interface when zope is imported.
* Scripts/webkitpy/style/checkers/python.py:
(Pylinter.run):
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove _install_pylint().
(AutoinstallImportHook._install_pylint): Deleted.
* Scripts/webkitpy/thirdparty/__init___unittest.py:
(ThirdpartyTest.test_imports): mechanize and pylint are managed by the new autoinstaller.
2020-10-16 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] buildbot checkconfig fails when passwords.json is missing
https://bugs.webkit.org/show_bug.cgi?id=217831
Reviewed by Darin Adler.
* BuildSlaveSupport/build.webkit.org-config/master.cfg: Set is_test_mode_enabled based on BUILDBOT_TESTING env variable.
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Renamed test_mode_is_enabled to is_test_mode_enabled to
be consistent with EWS code.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Ditto.
2020-10-16 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Add copyright message to steps_unittest.py
https://bugs.webkit.org/show_bug.cgi?id=217830
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2020-10-16 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Remove SVNMirror
https://bugs.webkit.org/show_bug.cgi?id=217823
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/factories.py: Removed SVNMirror.
* BuildSlaveSupport/build.webkit.org-config/steps.py: Ditto.
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Ditto.
(WaitForSVNServer): Deleted.
(WaitForSVNServer.evaluateCommand): Deleted.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
* BuildSlaveSupport/wait-for-SVN-server.py: Removed.
2020-10-16 Carlos Alberto Lopez Perez <clopez@igalia.com>
[JHBuild] Update libwpe and wpebackend-fdo and add libmanette to minimal moduleset
https://bugs.webkit.org/show_bug.cgi?id=217825
Reviewed by Adrian Perez de Castro.
libmanette 0.2.4 is required for enabling gamepad support, which
defaults to on since r268389 for developer builds. The version
shipped by ubuntu-20.04 is not enough (0.2.3), so we should include
this on the minimal moduleset which is used to generate the bundle
products on the packaging bots.
Seize to also update the libwpe and wpebackend-fdo libraries.
* gtk/jhbuild.modules:
* jhbuild/jhbuild-minimal.modules:
* wpe/jhbuild.modules:
2020-10-16 Sam Sneddon <gsnedders@apple.com>
Match webkitpy.port.base.Port's merging of .webarchive/.txt
https://bugs.webkit.org/show_bug.cgi?id=217795
Reviewed by Alexey Proskuryakov.
* Scripts/check-for-duplicated-platform-test-results:
(check_duplicate): Check for both .webarchive and .txt
(check_platform): Don't call the function that probably just threw
2020-10-16 Carlos Alberto Lopez Perez <clopez@igalia.com>
Ensure the tests are run with US/Pacific time zone
https://bugs.webkit.org/show_bug.cgi?id=186612
Reviewed by Michael Catanzaro.
Some tests fail if the time zone is not set to US/Pacific, and
this causes issues for contributors living outside of that timezone.
Ideally we should fix those tests, but in the meantime setting this
environment variable before starting the layout tests seems like
an acceptable workaround. Note that something similar is also
already done for the JSC tests.
* Scripts/webkitpy/port/base.py:
(Port.setup_environ_for_server):
2020-10-15 Sam Weinig <weinig@apple.com>
Attempt to fix the build.
* DumpRenderTree/DerivedSources.make: Don't use such fancy substitution, it wasn't working.
2020-10-15 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's autoinstaller for mechanize
https://bugs.webkit.org/show_bug.cgi?id=217683
<rdar://problem/70272262>
Reviewed by Aakash Jain.
* Scripts/webkitpy/__init__.py: Add mechanize.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla._get_browser):
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
* Scripts/webkitpy/common/net/ewsserver.py:
(EWSServer.__init__):
* Scripts/webkitpy/common/net/networktransaction_unittest.py:
(NetworkTransactionTest._raise_500_error):
(NetworkTransactionTest._raise_URLError):
(NetworkTransactionTest._raise_404_error):
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remov _install_mechanize().
(AutoinstallImportHook._install_mechanize): Deleted.
2020-10-15 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Check for installed packages in setup_buildir
https://bugs.webkit.org/show_bug.cgi?id=217768
Reviewed by Philippe Normand.
During a cleanup of one of the bots, setup_builddir failed with a null
self.sdk member, which is set in get_packages.
While I could not reproduce it again, this commit prevents this by
checking whether the packages are installed before continuing the
original setup_builddir steps.
* flatpak/flatpakutils.py:
(WebkitFlatpak.setup_builddir): Check for installed packages.
(WebkitFlatpak.run_in_sandbox): Check for setup_builddir return code.
(WebkitFlatpak.check_installed_packages): Extracted from
setup_dev_env.
(WebkitFlatpak.setup_dev_env): Call extracted method.
2020-10-15 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Unconditionally extract git-svn-id from commit message
https://bugs.webkit.org/show_bug.cgi?id=217740
<rdar://problem/70313868>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.commit): Unconditionally attempt to extract git-svn-id.
2020-10-15 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support <identifier>@ abbreviated idiom
https://bugs.webkit.org/show_bug.cgi?id=217716
<rdar://problem/70299119>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit):
(Commit._parse_identifier): Support <identifier>@ shorthand.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
(TestCommit.test_parse_identifier):
2020-10-15 Aakash Jain <aakash_jain@apple.com>
EWS bot should fail if a new test is missing its result
https://bugs.webkit.org/show_bug.cgi?id=177723
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests.evaluateResult):
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test.
2020-10-15 Lauro Moura <lmoura@igalia.com>
webkitpy: Fix remaining pytest autoinstall imports
https://bugs.webkit.org/show_bug.cgi?id=217694
Reviewed by Carlos Garcia Campos.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump mini
version due to argument rename below.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.__init__): Change argument name to communicate that the first
arg is the name of the package to be imported.
* Scripts/webkitpy/__init__.py: Some changes:
- Downgrade attr to a compatible version with the pytest used.
- Fix pytest_timeout import name
- Downgrade pytest to 3.x. Version 4.x deprecated direct invocation of
fixtures, which is still used by W3C webdriver test code.
* Scripts/webkitpy/webdriver_tests/pytest_runner.py:
(run): Avoid using pytest autoload features to ensure it would import
plugins like pytest_timeout, triggering their install.
2020-10-14 Ryosuke Niwa <rniwa@webkit.org>
IPC testing JS API should expose a reply and describe the list of arguments for each message
https://bugs.webkit.org/show_bug.cgi?id=217565
Reviewed by Geoffrey Garen.
Added tests for decoding replies for sync and async messages and one for argument descriptions.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(-[IPCTestingAPIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):
(-[IPCTestingAPIDelegate _webView:webContentProcessDidTerminateWithReason:]):
(IPCTestingAPI.DecodesReplyArgumentsForPrompt):
(IPCTestingAPI.DecodesReplyArgumentsForAsyncMessage):
(IPCTestingAPI.DescribesArguments):
2020-10-14 Hector Lopez <hector_i_lopez@apple.com>
Unreviewed, reverting r268474.
Revision is causing a number of test failures across iOS and
macOS
Reverted changeset:
"[Testing] Support configuring any preference from test
headers for WebKitTestRunner"
https://bugs.webkit.org/show_bug.cgi?id=217645
https://trac.webkit.org/changeset/268474
2020-10-14 Ryosuke Niwa <rniwa@webkit.org>
Enabling IPC testing API should prevent the termination of WebContent process which sends an invalid IPC
https://bugs.webkit.org/show_bug.cgi?id=217698
Reviewed by Geoffrey Garen.
Added regression tests.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(IPCTestingAPI.CanSendInvalidAsyncMessageWithoutTermination):
(IPCTestingAPI.CanSendInvalidMessageWithoutTermination):
2020-10-14 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Add python 3 support - part 1
https://bugs.webkit.org/show_bug.cgi?id=217727
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(UploadBuiltProduct.__init__): Changed 0644 to 0o644.
(UploadTestResults.__init__): Ditto.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Removed unused imports.
* BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py: Used .format() instead of % string formatting.
2020-10-14 Sam Weinig <weinig@apple.com>
[Testing] Generate test header key map for DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=217723
Reviewed by Tim Horton.
Copy test header command type generation from WebKitTestRunner to DumpRenderTree, to
begin support for using any WebPreference from DumpRenderTree. This does not actually
change any behavior yet, just updates the key mapping.
* DumpRenderTree/CMakeLists.txt:
* DumpRenderTree/DerivedSources-input.xcfilelist:
* DumpRenderTree/DerivedSources-output.xcfilelist:
* DumpRenderTree/DerivedSources.make:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/Scripts/PreferencesTemplates: Added.
* DumpRenderTree/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added.
* DumpRenderTree/TestOptions.cpp:
(WTR::TestOptions::keyTypeMapping):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
2020-10-14 Alexey Proskuryakov <ap@apple.com>
Remove WebKitLauncher
https://bugs.webkit.org/show_bug.cgi?id=217729
Reviewed by Darin Adler.
This is part of long defunct nightly build infrastructure.
* .gitattributes:
* BuildSlaveSupport/build-launcher-app: Removed.
* Scripts/webkitpy/style/checkers/sdkvariant.py:
* WebKitLauncher: Removed.
2020-10-14 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r268431 and r268443.
https://bugs.webkit.org/show_bug.cgi?id=217728
Broke debug builds of GTK, WinCairo and Playstation ports
Reverted changesets:
"IPC testing JS API should expose a reply and describe the
list of arguments for each message"
https://bugs.webkit.org/show_bug.cgi?id=217565
https://trac.webkit.org/changeset/268431
"IPC testing JS API should expose a reply and describe the
list of arguments for each message"
https://bugs.webkit.org/show_bug.cgi?id=217565
https://trac.webkit.org/changeset/268443
2020-10-14 Alex Christensen <achristensen@webkit.org>
Disallow ports in file URLs
https://bugs.webkit.org/show_bug.cgi?id=217252
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2020-10-14 Alexey Shvayka <shvaikalesh@gmail.com>
Unreviewed. Update my status to "reviewer" and add WebIDL expertise.
* Scripts/webkitpy/common/config/contributors.json:
2020-10-14 Keith Rollin <krollin@apple.com>
'make debug' fails on the repository root if ccache is installed on mac after r262147
https://bugs.webkit.org/show_bug.cgi?id=212469
<rdar://problem/70278783>
Reviewed by David Kilzer.
ccache is frequently installed in /usr/local/bin. However, when
running under XCBuild, $PATH does not include /usr/local/bin. This
leaves in a situation where the check for the existence of ccache in
Makefile.shared succeeds, but the use of ccache in ccache-wrapper
fails. To address this, look for ccache in a few well-known places
rather than just relying on $PATH. If it still can't be found, fall
back to compiling normally without ccache.
* ccache/ccache-wrapper:
2020-10-14 Sam Weinig <weinig@apple.com>
[Testing] Support configuring any preference from test headers for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=217645
Reviewed by Tim Horton.
Support using any preference defined in any of the WebPreference*.yaml configuration files
as a test header command rather than limiting it to a hard coded subset by generating the
list of supported commands and their types from the yaml files themselves.
This currently only works for WebKitTestRunner, but will be made to work with DumpRenderTree
in subsequent changes.
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/DerivedSources-input.xcfilelist:
* WebKitTestRunner/DerivedSources-output.xcfilelist:
* WebKitTestRunner/DerivedSources.make:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/Scripts/PreferencesTemplates: Added.
* WebKitTestRunner/Scripts/PreferencesTemplates/TestOptionsGeneratedKeys.h.erb: Added.
Add generation of TestOptionsGeneratedKeys.h from the WebPreference*.yaml using
the shared GeneratePreferences.rb script in WTF.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Move preference setting to the bottom of the file to allow any preference
to be overriden. Also adds in support for double, uint32_t, and string preferences
though none of those are currently being used.
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::keyTypeMapping):
Use generated macro GENERATED_WEB_PREFERENCE_KEY_TYPE_MAPPINGS rather than hardcoding
all the preferences types.
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::boolWebPreferenceFeatures const):
(WTR::TestOptions::doubleWebPreferenceFeatures const):
(WTR::TestOptions::uint32WebPreferenceFeatures const):
(WTR::TestOptions::stringWebPreferenceFeatures const):
Expose accessors for preferences values for use in setting the actual preference
values. Rather than setting all preferences, we now only set preferences that have
been explicitly requested, using the default value for any that have not.
2020-10-14 Stephan Szabo <stephan.szabo@sony.com>
builtins-generator-tests and bindings-generation-tests are reporting "Failed to install configparser-4.0.2!" since r268267 on WinCairo Buildbot
https://bugs.webkit.org/show_bug.cgi?id=217586
Reviewed by Jonathan Bedard.
Pass proxy environment variables to setup.py so wincairo bots
which need the proxy set can reach pypi.org.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
2020-10-14 Ryan Haddad <ryanhaddad@apple.com>
Temporarily reduce the number of iOS simulators booted during testing
https://bugs.webkit.org/show_bug.cgi?id=217681
Reviewed by Jonathan Bedard.
To work around unexpected timouts with iOS 14 (webkit.org/b/217392),
increase the estimated memory cost for booting iOS simulators.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager): Remove an obsolete FIXME and change the
estimated memory cost for a simulator to 8GB, which reduces the number
of booted simulators in our CI from 10 to 8. This change reduced the
number of unexpected timeouts seen on our bots from ~20 to 2, and came
at a penalty of < 5 minutes to layout test duration.
2020-10-14 Kate Cheney <katherine_cheney@apple.com>
Remove ResourceLoadStatistics telemetry
https://bugs.webkit.org/show_bug.cgi?id=217665
<rdar://problem/69748988>
Reviewed by Sam Weinig.
Telemetry calculation in ITP is unused, very complicated, a potential
privacy risk, and it causes flaky tests. We should remove it.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::installStatisticsDidRunTelemetryCallback): Deleted.
(WTR::TestRunner::statisticsDidRunTelemetryCallback): Deleted.
(WTR::TestRunner::statisticsSubmitTelemetry): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsSubmitTelemetry): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-10-14 Kate Cheney <katherine_cheney@apple.com>
Remove _WKWebViewCategory from WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=217679
<rdar://problem/70260337>
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2020-10-14 Aakash Jain <aakash_jain@apple.com>
Rename slave to bot for gtk-linux bot names
https://bugs.webkit.org/show_bug.cgi?id=217702
Reviewed by Carlos Alberto Lopez Perez.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2020-10-14 Zan Dobersek <zdobersek@igalia.com>
Remove ACCELERATED_2D_CANVAS build flags and guarded code
https://bugs.webkit.org/show_bug.cgi?id=217603
Reviewed by Carlos Garcia Campos.
* Scripts/webkitperl/FeatureList.pm:
Remove the ACCELERATED_2D_CANVAS feature flag.
2020-10-14 Diego Pino Garcia <dpino@igalia.com>
[webkitpy] Allow passing subtests to GLIB API testrunner
https://bugs.webkit.org/show_bug.cgi?id=217466
Reviewed by Carlos Garcia Campos.
GLIB API testrunner didn't allow passing a list of subtests to run.
That was possible, however, when executing a GLIB API binary directly
using knob -p. The patch adds the same option to GLIB API testrunner
and passes down the list of subtests accordingly.
* glib/api_test_runner.py:
(TestRunner._run_test_glib):
(TestRunner._run_test):
(TestRunner.run_tests):
(add_options):
2020-10-13 Ryosuke Niwa <rniwa@webkit.org>
IPC testing JS API should expose a reply and describe the list of arguments for each message
https://bugs.webkit.org/show_bug.cgi?id=217565
Fixed the tests.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
2020-10-13 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add `git-webkit find` (Follow up fix)
https://bugs.webkit.org/show_bug.cgi?id=217534
<rdar://problem/70152431>
Unreviewed follow up fix.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Version bump.
* Scripts/libraries/webkitscmpy/setup.py: "program" was not a directory in the landed change.
2020-10-13 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add `git-webkit find`
https://bugs.webkit.org/show_bug.cgi?id=217534
<rdar://problem/70152431>
Reviewed by Dewei Zhu.
* Scripts/git-webkit: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/arguments.py:
(NoAction.__call__):
(CountAction): Create an action to increment or decrement a variable by a value.
(CallbackAction): Create an action which will trigger a callback when set.
(LoggingGroup): Create a group which allows the user to change logging behavior.
* Scripts/libraries/webkitscmpy/git-webkit: Added.
* Scripts/libraries/webkitscmpy/setup.py: Add webkitscmpy.program and git-webkit.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit): Make the 12 character hash based on a class variable.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.default_branch): Fallback to 'master' or 'main' if the remote isn't available.
(Git.find): Use git to match branches and tags to a hash instead of trying to do it ourselves.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.find): Add function to convert generic string arguments to a commit, and then find that commit in
the repository.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn): Support a few different SVN binary paths.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Add rev-parse branch/tag/HEAD -> hash conversion.
* Scripts/libraries/webkitscmpy/webkitscmpy/program.py: Added.
(Command): Base class for all commands.
(Find):
(Find.parser): Configure parser for 'find' sub-program.
(Find.main): Given an identifier, revision, hash or branch name, find and print the matching commit from
(main): Entry point to git-<project> scripts.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py: Added.
(TestFind):
(TestFind.test_basic_git):
(TestFind.test_basic_git_svn):
(TestFind.test_basic_svn):
(TestFind.test_branch_tilde):
(TestFind.test_identifier_git):
(TestFind.test_identifier_git_svn):
(TestFind.test_identifier_svn):
(TestFind.test_hash):
(TestFind.test_revision_svn):
(TestFind.test_revision_git_svn):
(TestFind.test_standard):
2020-10-12 Ryosuke Niwa <rniwa@webkit.org>
IPC testing JS API should expose a reply and describe the list of arguments for each message
https://bugs.webkit.org/show_bug.cgi?id=217565
Reviewed by Geoffrey Garen.
Added tests for decoding replies for sync and async messages and one for argument descriptions.
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm:
(-[IPCTestingAPIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):
(-[IPCTestingAPIDelegate _webView:webContentProcessDidTerminateWithReason:]):
(IPCTestingAPI.DecodesReplyArgumentsForPrompt):
(IPCTestingAPI.DecodesReplyArgumentsForAsyncMessage):
(IPCTestingAPI.DescribesArguments):
2020-10-13 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Rename slave to worker in config.json
https://bugs.webkit.org/show_bug.cgi?id=217672
Reviewed by Dewei Zhu.
* BuildSlaveSupport/build.webkit.org-config/config.json: Renamed slaves to workers and slavenames to workernames.
Also deleted unused entry for test-slave.
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Renamed slave to worker.
* BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py: Ditto.
* BuildSlaveSupport/build.webkit.org-config/make_passwords_json.py: Ditto.
(create_mock_worker_passwords_dict):
2020-10-13 Ellie Epskamp-Hunt <eepskamphunt@apple.com>
Expose a property on WKWebView to know if it's being inspected.
https://bugs.webkit.org/show_bug.cgi?id=217629
rdar://70073369
Reviewed by Brian Burg.
Update the property name in existing tests.
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:
(TEST):
2020-10-13 Keith Rollin <krollin@apple.com>
Remove leftover MACOSX_DEPLOYMENT_TARGET_macosx support
https://bugs.webkit.org/show_bug.cgi?id=217649
<rdar://problem/70236877>
Reviewed by Darin Adler.
Bug 42796 introduced MACOSX_DEPLOYMENT_TARGET_<PLATFORM> as "support
for compiling WebKit against iOS SDKs". Support for the iOS part of
this feature was later removed in several changes, including Bug
139212, Bug 139463 and Bug 144762. However, vestiges have remained for
five or six years in the form of MACOSX_DEPLOYMENT_TARGET_macosx. The
inclusion of the platform in MACOSX_DEPLOYMENT_TARGET is no longer
needed and can be removed.
This changes brings most projects in conformance with other projects
that don't support including the platform in MACOSX_DEPLOYMENT_TARGET,
including WebEditingTester, gtest, WebKitTestRunner, MiniBrowser, and
TestWebKitAPI.
Along the way, remove a couple of left-over references to macOS 10.16,
and a couple of places where [sdk=macosx*] was still being used.
With this change, initialization of MACOSX_DEPLOYMENT_TARGET should be
consistent across all projects, with two exceptions: WebKitLauncher
(which hardcodes it to 10.12) and libwebrtc's copy of googletest
(which hardcodes it to 10.4). The reasons for these hard-coded values
is not apparent, so leave them be.
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* ImageDiff/cg/Configurations/DebugRelease.xcconfig:
* lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
2020-10-13 Lauro Moura <lmoura@igalia.com>
webkitpy: Log and report webdriver harness errors
https://bugs.webkit.org/show_bug.cgi?id=217659
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
(WebDriverTestRunner.process_results): Report failed harness tests,
not just subtests.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
(WebDriverTestRunnerW3C.run): Print to error log when a test run
fails, not just subtests.
2020-10-13 Sam Weinig <weinig@apple.com>
[Testing] Rename test header commands to match names in WebPreferences*.yaml
https://bugs.webkit.org/show_bug.cgi?id=217654
Reviewed by Simon Fraser.
Renames all the test header commands (e.g. useAcceleratedDrawing) to match name in
WebPreferences*.yaml files (e.g. AcceleratedDrawingEnabled).
Also splits up TestFeatures into test runner specific features (e.g. runSingly) that
don't have a WebPreferences counterpart, and WebPreferences specific features. This
will allow future patches to support arbritrary WebPreferences more easily.
* DumpRenderTree/TestOptions.cpp:
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* TestRunnerShared/TestFeatures.cpp:
* TestRunnerShared/TestFeatures.h:
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/TestOptions.cpp:
* WebKitTestRunner/TestOptions.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
* WebKitTestRunner/mac/TestControllerMac.mm:
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
2020-10-13 Peng Liu <peng.liu6@apple.com>
Clean up the API tests of CARingBuffer
https://bugs.webkit.org/show_bug.cgi?id=217633
Reviewed by Simon Fraser.
Remove unused private functions and enable the tests for iOS.
* TestWebKitAPI/Tests/WebCore/CARingBuffer.cpp:
(TestWebKitAPI::CARingBufferTest::audioBufferListSizeForStream): Deleted.
(TestWebKitAPI::CARingBufferTest::configureBufferListForStream): Deleted.
2020-10-13 Lauro Moura <lmoura@igalia.com>
REGRESSION(r268267) [webkitpy] Add missing deps for pytest when running webdriver tests
https://bugs.webkit.org/show_bug.cgi?id=217650
Reviewed by Jonathan Bedard.
scandir (needed as os.scandir was added only in py 3.5)
Also fixed more_itertools autoinstall declaration so the package
name, with underscore, is the name of the webkitcorepy package and the
dash is used for the pypi package name.
With these changes the script does not error anymore, although there
seems to be some issues with the executor when running tests. They
happen to only start and stop the webserver but not actually being
run. To be investigated in a separate bug.
* Scripts/webkitpy/__init__.py:
2020-10-13 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Add support for gamepad tests
https://bugs.webkit.org/show_bug.cgi?id=98937
Reviewed by Carlos Garcia Campos.
Change PLATFORM(MAC) guards to ENABLE(GAMEPAD) around the support code used for
testing gamepad support in WKTR, and update GTK port test expectations accordingly.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp: Change guards to ENABLE(GAMEPAD).
* WebKitTestRunner/TestController.cpp: Ditto.
(WTR::TestController::initialize):
* WebKitTestRunner/TestInvocation.cpp: Ditto.
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-10-13 Diego Pino Garcia <dpino@igalia.com>
Unreviewed GLIB gardening. Remove several tests that were only failing in EWS API-GTK.
* TestWebKitAPI/glib/TestExpectations.json:
2020-10-12 Devin Rousso <drousso@apple.com>
CSS "any-pointer:fine" media query false on iPad/Pencil
https://bugs.webkit.org/show_bug.cgi?id=212580
<rdar://problem/63813283>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/iOSStylusSupport.mm: Added.
(iOSStylusSupport.StylusInitiallyDisconnected):
(iOSStylusSupport.StylusInitiallyConnected):
(iOSStylusSupport.StylusLaterDisconnected):
(iOSStylusSupport.StylusLaterConnected):
(iOSStylusSupport.StylusDisconnectedTimeout):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2020-10-12 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Attempt to terminate stuck processes before killing them
https://bugs.webkit.org/show_bug.cgi?id=217632
<rdar://problem/70222803>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/subprocess_utils.py:
(run): Killed processes will sometimes not have stdout or stderr, while terminated processes often will.
2020-10-12 Luming Yin <luming_yin@apple.com>
[macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building
with Xcode 12 on macOS Big Sur SUs
https://bugs.webkit.org/show_bug.cgi?id=217602
rdar://70194453
Reviewed by Darin Adler.
The previous workaround turns out to be ineffective because we can't set the value of
TARGET_MAC_OS_X_VERSION_MAJOR based on a previous value of itself. Introduce a new
variable TARGET_MAC_OS_X_VERSION_MAJOR to determine whether we need to explicitly
adjust MAC_OS_X_VERSION_MAJOR to 110000.
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* ImageDiff/cg/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* WebEditingTester/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
2020-10-12 Sam Weinig <weinig@apple.com>
Share TestFeatures and TestCommand infrastructure between DumpRenderTree and WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=217614
Reviewed by Dean Jackson.
Move TestFeatures and TestCommand code from WebKitTestRunner to TestRunnerShared
and adopt shared code in both WebKitTestRunner and DumpRenderTree.
This allows us to remove duplicate argument and test header parsing code and
avoid updating both when we want want change things.
To support different sets of test header options, featureDefaultsFromTestHeaderForTest now
has a parameter for a key type map, rather than the old hardcoded set. This allows
WebKitTestRunner and DumpRenderTree, which currently have slightly different options
to continue to behave in the same way. Eventually, it will probably make sense to have these
mostly generated from the WebPreferences*.yaml configuration files.
Matching precedent, shared files use the WTR namespace.
* DumpRenderTree/CMakeLists.txt:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* TestRunnerShared/CMakeLists.txt:
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
Add new files.
* DumpRenderTree/DumpRenderTree.h:
Removes TestCommand and parseInputLine now that they come from shared TestCommand.h
* DumpRenderTree/DumpRenderTreeCommon.cpp: Removed.
Moved contents to shared TestCommand.cpp
* DumpRenderTree/TestOptions.cpp:
* DumpRenderTree/TestOptions.h:
Adopt model from WebKitTestRunner and use initialization from TestFeatures.
* DumpRenderTree/mac/DumpRenderTree.mm:
Adopt shared TestFeatures and TestCommand infrastructure. Construct TestOptions
in a similar manner to WebKitTestRunner by merging together hardcoded / path based
features and test header based features.
* DumpRenderTree/mac/UIDelegate.h:
* DumpRenderTree/mac/UIDelegate.mm:
Update for new namespace.
* TestRunnerShared/TestCommand.cpp: Added.
* TestRunnerShared/TestCommand.h: Added.
* TestRunnerShared/TestFeatures.cpp: Added.
* TestRunnerShared/TestFeatures.h: Added.
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestOptions.cpp:
* WebKitTestRunner/TestOptions.h:
Moved from WebKitTestRunner. Generalized to TestFeatures to take a key type map,
rather than hard coding it. Replace use of WebKit types, like WKURLRef, with std::string
and std::filesystem::path.
2020-10-12 Luming Yin <luming_yin@apple.com>
[macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building
with Xcode 12 on macOS Big Sur SUs
https://bugs.webkit.org/show_bug.cgi?id=217602
rdar://70194453
Reviewed by Darin Adler.
Due to a bug in Xcode (rdar://70185899), Xcode 12.0 and Xcode 12.1 Beta incorrectly includes the
minor release number in MAC_OS_X_VERSION_MAJOR, which causes Debug and Release builds of WebKit
to be misconfigured when building on macOS Big Sur SUs, leading to webpages failing to load.
To work around the Xcode bug, when the MAC_OS_X_VERSION_MAJOR includes the minor version number,
drop the minor version number by explicitly setting TARGET_MAC_OS_X_VERSION_MAJOR to 110000.
Note: This change should be reverted after <rdar://70185899> is resolved.
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* ImageDiff/cg/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* WebEditingTester/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
2020-10-11 Sam Weinig <weinig@apple.com>
[Preferences] Introduce string based SPI for WKPreferences to allow tests to change internal behavior without always adding additional SPI
https://bugs.webkit.org/show_bug.cgi?id=217582
Reviewed by Darin Adler.
Adopt new WebKit SPI to set preferences using the keys defined in the WebPreferences*.yaml
files.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
Remove need for m_shouldUseAcceleratedDrawing by merging it into the global feature set.
(WTR::TestController::createWebViewWithOptions):
Move WKHTTPCookieStoreDeleteAllCookies() call out of resetPreferencesToConsistentValues
where it did not make sense.
(WTR::TestController::resetPreferencesToConsistentValues):
Replace preference setters that used values from TestOptions with use of the new
WKPreferencesSetBoolValueForKey SPI. Also removes some unnecessary #ifdefs, as the API
it was guarding is always available, though may just be a no-op if the feature is disabled.
(WTR::TestController::resetStateToConsistentValues):
Move Cocoa specific call to WebCoreTestSupport::setAdditionalSupportedImageTypesForTesting to
TestControllerCocoa.mm and Gtk specific call to WKTextCheckerContinuousSpellCheckingEnabledStateChanged
to TestControllerGtk.cpp.
* WebKitTestRunner/TestController.h:
Remove unimplemented globalFeatureDefaultsForTest() function and now unused m_shouldUseAcceleratedDrawing
member variable.
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::boolWKPreferences const):
Add helper to get all the bool options in TestOptions that correspond with WebKit preferences.
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::useAcceleratedDrawing const): Deleted.
(WTR::TestOptions::useMockScrollbars const): Deleted.
(WTR::TestOptions::needsSiteSpecificQuirks const): Deleted.
(WTR::TestOptions::enableIntersectionObserver const): Deleted.
(WTR::TestOptions::enableMenuItemElement const): Deleted.
(WTR::TestOptions::enableKeygenElement const): Deleted.
(WTR::TestOptions::enableModernMediaControls const): Deleted.
(WTR::TestOptions::enablePointerLock const): Deleted.
(WTR::TestOptions::enableWebAuthentication const): Deleted.
(WTR::TestOptions::enableWebAuthenticationLocalAuthenticator const): Deleted.
(WTR::TestOptions::enableInspectorAdditions const): Deleted.
(WTR::TestOptions::allowCrossOriginSubresourcesToAskForCredentials const): Deleted.
(WTR::TestOptions::domPasteAllowed const): Deleted.
(WTR::TestOptions::enableColorFilter const): Deleted.
(WTR::TestOptions::checkForWorldLeaks const): Deleted.
(WTR::TestOptions::shouldIgnoreMetaViewport const): Deleted.
(WTR::TestOptions::enableServiceControls const): Deleted.
(WTR::TestOptions::enableAppNap const): Deleted.
(WTR::TestOptions::enableBackForwardCache const): Deleted.
(WTR::TestOptions::enableCaptureVideoInUIProcess const): Deleted.
(WTR::TestOptions::enableCaptureVideoInGPUProcess const): Deleted.
(WTR::TestOptions::enableCaptureAudioInUIProcess const): Deleted.
(WTR::TestOptions::enableCaptureAudioInGPUProcess const): Deleted.
Remove all getters that are now replaced by boolWKPreferences.
Also, sorts all the lists to make it easier to find things.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
(WTR::TestController::platformCreateWebView):
Remove setting of configuration values that also covered by boolWKPreferences.
(WTR::TestController::cocoaResetStateToConsistentValues):
Move Cocoa specific call here.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformResetStateToConsistentValues):
Move Gtk specific call here.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
(WTR::TestController::platformConfigureViewForTest):
Remove setting of configuration values that also covered by boolWKPreferences.
* WebKitTestRunner/win/TestControllerWin.cpp:
(WTR::TestController::platformResetStateToConsistentValues):
Moved default no-op implementation from TestController.cpp now that not all
non-Cocoa platforms use the same implementation.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformResetStateToConsistentValues):
Moved default no-op implementation from TestController.cpp now that not all
non-Cocoa platforms use the same implementation.
2020-10-11 Michael Catanzaro <mcatanzaro@gnome.org>
-Wdeprecated-declarations caused by WKTR using WKBundlePostSynchronousMessage
https://bugs.webkit.org/show_bug.cgi?id=217591
Reviewed by Darin Adler.
Use ALLOW_DEPRECATED_DECLARATIONS_BEGIN/END.
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::postSynchronousMessage):
2020-10-11 Darin Adler <darin@apple.com>
[macOS] Harden more build configurations against macOS versions 11 and higher as well as inclusion of patch versions
https://bugs.webkit.org/show_bug.cgi?id=217595
Reviewed by Alexey Proskuryakov.
* ContentExtensionTester/Configurations/Base.xcconfig: Updated to same idiom used elsewhere.
* DumpRenderTree/mac/Configurations/Base.xcconfig: Ditto.
* ImageDiff/cg/Configurations/Base.xcconfig: Ditto.
* WebKitTestRunner/Configurations/Base.xcconfig: Ditto.
* lldb/lldbWebKitTester/Configurations/Base.xcconfig: Ditto.
* Scripts/webkitpy/common/config/contributors.json: Added contributor Luming Yin, an engineer who works on Safari at
Apple who has been contributing build fixes like these.
2020-10-10 Darin Adler <darin@apple.com>
REGRESSION (r267761): editing/mac/spelling/autocorrection-contraction.html is a constant timeout on macOS wk2 Debug
https://bugs.webkit.org/show_bug.cgi?id=217548
Reviewed by Alexey Proskuryakov.
* TestRunnerShared/Bindings/JSBasics.cpp:
(WTR::objectProperty): Use JSValueIsObject instead of JSValueToObject. The latter
function is *very* slow when passed undefined or null, creating an exception object
every time, even when we pass nullptr to indicate that we don't want the exception
object, and also invoking debugging machinery to inform the "inspector" about this
exception, which results in logging to the console while running tests. This
inefficiency is something we can fix in JavaScriptCore if we like, and makes it a
bad idea to call the function on undefined and null. And also points out the problem
with passing exceptions to anyone except the caller: there's no reason the inspector
needs to know about the exception in a case like this. Because the uses of this
function in the test runners don't need that behavior of converting non-object values
to objects, it was best just to stop using JSValueToObject entirely.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage): Use uint64Value here. Just something
missed in my earlier refactoring and spotted while debugging.
2020-10-11 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support json encoding of Commit object
https://bugs.webkit.org/show_bug.cgi?id=217533
<rdar://problem/70151709>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit.__repr__): Support identifiers being 0.
(Commit.Encoder): Encode commit as dictionary.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
2020-10-11 Yusuke Suzuki <ysuzuki@apple.com>
Unreviewed, fix WK2 Debug test failures
https://bugs.webkit.org/show_bug.cgi?id=217500
WebKitTestRunner also uses WebCoreTestSupport's JIT operations so we need to populate them too.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::initialize):
2020-10-09 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Assert Operation and HostFunction are in JITOperationsList
https://bugs.webkit.org/show_bug.cgi?id=217500
Reviewed by Saam Barati.
This patch turned out that WebCoreTestSupport has its own JIT operations. So we need to populate them in test harness specially.
* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpRenderTree):
* DumpRenderTree/win/DumpRenderTree.cpp:
(main):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
2020-10-09 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Handle svn info run from directory
https://bugs.webkit.org/show_bug.cgi?id=217521
<rdar://problem/70144173>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.__init__): Set the root_path, so that svn info is run from the top level.
(Svn.info): Rely on root_path, not path.
(Svn.root_path): Use self._root_path instead of self.info() call.
(Svn.list): Rely on root_path, not path.
(Svn._cache_revisions): Ditto.
(Svn.remote): The repository root will not change during a single command invocation.
(Svn._branch_for): Handle initial branch commits, which. may have non-standard change lists.
(Svn.commit): Rely on root_path, not path, certain svn info calls will not change during
the invocation of a single program.
2020-10-09 Alex Christensen <achristensen@webkit.org>
REGRESSION: [Mac Release] 2 Cookie API are failing
https://bugs.webkit.org/show_bug.cgi?id=217393
Reviewed by Chris Dumez.
If bad things happen when running API tests, the TestWebKitAPI default cookie storage can get stuck with
a cookie accept policy of never, which causes future tests to fail. All existing tests restore the cookie
accept policy to what it was before the test started, but once a machine gets into a bad state, there's nothing
to reset it to the default state. Some of our test bots have gotten into this bad state, causing 2 cookie API
tests to fail. To fix this, set the cookie accept policy to its default value before running these two tests.
I verified this works by getting my computer into this bad state, verifying repeated API test runs don't fix it,
and verified this brings the computer back into a good state and causes the API tests to pass again.
* TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
2020-10-09 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support unicode contributor names
https://bugs.webkit.org/show_bug.cgi?id=217520
<rdar://problem/70143490>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor.__init__): Standardize name and emails as unicode.
(Contributor.__repr__): Ensure native string representation.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor):
(TestContributor.test_unicode):
2020-10-09 Kate Cheney <katherine_cheney@apple.com>
Promote WKWebView media playback SPI to API
https://bugs.webkit.org/show_bug.cgi?id=217335
<rdar://problem/63406100>
Reviewed by Jer Noble.
Add API testing coverage for new API. Also converted testing to
use the new API instead of SPI.
* TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm:
(TestWebKitAPI::TEST):
2020-10-09 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's auto installer for pytest packages
https://bugs.webkit.org/show_bug.cgi?id=215895
<rdar://problem/67885471>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/__init__.py: Add pytest and it's dependencies.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove pytest and pytest_timeout.
(AutoinstallImportHook._install_pytest_timeout): Deleted.
(AutoinstallImportHook._install_pytest): Deleted.
* Scripts/webkitpy/webdriver_tests/pytest_runner.py: Implicitly use webkitcorepy's autoinstaller.
2020-10-09 Alex Christensen <achristensen@webkit.org>
Use sendWithAsyncReply for NetworkProcess::CancelDownload
https://bugs.webkit.org/show_bug.cgi?id=217420
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[WaitUntilDownloadCanceledDelegate _download:didFailWithError:]):
(-[DownloadMonitorTestDelegate _download:didFailWithError:]):
(-[DownloadMonitorTestDelegate waitForDidFail]):
(-[DownloadMonitorTestDelegate stopWaitingForDidFail]):
(TestWebKitAPI::monitorDelegate):
(TestWebKitAPI::webViewWithDownloadMonitorSpeedMultiplier):
(TestWebKitAPI::downloadAtRate):
(TestWebKitAPI::TEST):
(-[WaitUntilDownloadCanceledDelegate _downloadDidCancel:]): Deleted.
(-[DownloadMonitorTestDelegate _downloadDidCancel:]): Deleted.
2020-10-09 Lauro Moura <lmoura@igalia.com>
[GLIB] Fix tests compilation warnings with deprecated API
https://bugs.webkit.org/show_bug.cgi?id=217504
Reviewed by Carlos Garcia Campos.
webkit_web_context_set_network_proxy_settings() is deprecated in favor of
webkit_website_data_manager_set_network_proxy_settings().
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(ProxyAuthenticationTest::ProxyAuthenticationTest):
2020-10-09 Paulo Matos <pmatos@igalia.com>
Add armv8l arch to generic arm umbrella architecture variable
https://bugs.webkit.org/show_bug.cgi?id=217470
Reviewed by Adrian Perez de Castro.
The armv8l architecture specifies a system running an arm64 kernel
but running in 32bit user land. Therefore for JSC purposes armv8l and
armv7l are arm (32bit) architectures.
* Scripts/webkitdirs.pm:
(determineNativeArchitecture):
2020-10-01 Matt Lewis <jlewis3@apple.com>
Move EWS to new SDKs: tvOS 14, and watchOS 7.
https://bugs.webkit.org/show_bug.cgi?id=217145
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/config.json:
2020-10-08 Ryosuke Niwa <rniwa@webkit.org>
Make it possible to send an arbitrary IPC message from JavaScript
https://bugs.webkit.org/show_bug.cgi?id=217423
<rdar://problem/69969351>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/IPCTestingAPI.mm: Added.
(-[IPCTestingAPIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2020-10-08 Sam Weinig <weinig@apple.com>
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend
https://bugs.webkit.org/show_bug.cgi?id=217390
Reviewed by Darin Adler.
Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at
different levels are treated and what precedence each has. The order is (from least to most):
- Global features passed to WebKitTestRunner via the command line (e.g. --show-touches)
- Hardcoded features based on the path of the test being run (hopefully we can remove all soon)
- Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling).
- Features from the test headers within the test itself.
- Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports
for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.)
To make this change work, and pave the way for future autogeneration of some of these test options,
the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions
is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps
of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a
TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are
not in the maps. In future changes, I would like to remove many of these (the ones that correspond
with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences.
* WebKitTestRunner/Options.cpp:
* WebKitTestRunner/Options.h:
Switch to std::unordered_map for consistency and ease of conversion.
* WebKitTestRunner/PlatformWebView.h:
(WTR::PlatformWebView::viewSupportsOptions const):
Update to call new TestOptions functions.
* WebKitTestRunner/StringFunctions.h:
(WTR::toWK):
(WTR::toWTFString):
Add conversions for std::string.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
Replace some bools with a new global TestFeatures instance that forms the base of
all TestFeatures merges.
(WTR::TestController::generateContextConfiguration const):
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptionsForTest):
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::resetStateToConsistentValues):
Update to call new TestOptions functions.
(WTR::TestController::createTestURL):
Expose as a static member function on TestController for use in other files.
(WTR::TestController::testOptionsForTest const):
Rework to be a sequence of TestFeatures merges.
(WTR::TestController::updateWebViewSizeForTest):
(WTR::TestController::updateWindowScaleForTest):
Update to call new TestOptions functions.
(WTR::createTestURL): Deleted.
(WTR::parseBooleanTestHeaderValue): Deleted.
(WTR::parseStringTestHeaderValueAsRelativePath): Deleted.
(WTR::parseStringTestHeaderValueAsURL): Deleted.
(WTR::updateTestOptionsFromTestHeader): Deleted.
(WTR::TestController::platformAddTestOptions const): Deleted.
Moved TestOptions parsing to TestOptions.cpp
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::createTestSettingsDictionary):
Update to call new TestOptions functions.
* WebKitTestRunner/TestOptions.h:
Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set
of maps that map feature string keys, to values of type bool, double, string or string vector.
* WebKitTestRunner/TestOptions.cpp:
(WTR::merge):
Merges two TestFeatures objects. If both contain the same key, the 'additional'
TestFeatures overrides the 'base' TestFeatures.
(WTR::dumpFeatures):
Helper to dump features to stderr, useful for debugging.
(WTR::keyType):
Helper for parser to know which value parser to use.
(WTR::parseBooleanTestHeaderValue):
(WTR::parseStringTestHeaderValueAsRelativePath):
(WTR::parseStringTestHeaderValueAsURL):
Value parsers moved from TestController.cpp
(WTR::parseTestHeader):
Header parser moved from TestController.cpp. Update to now return
a TestFeatures object and use keyType to pick value parser rather
than inlining the if statements.
(WTR::hardcodedFeaturesBasedOnPathForTest):
Moved from the TestOptions contructor and reworked to return a TestFeatures
object to be merged by the caller.
(WTR::featureDefaultsFromTestHeaderForTest):
Creates a TestFeatures for the test headers of the current test.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const):
Reworked to now return a TestFeatures object that will be merged, rather than updating
a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest
where it is more appropriate.
(WTR::TestController::platformInitializeDataStore):
(WTR::TestController::platformCreateWebView):
(WTR::TestController::finishCreatingPlatformWebView):
(WTR::TestController::setApplicationBundleIdentifier):
(WTR::TestController::cocoaResetStateToConsistentValues):
(WTR::contentMode):
Update to call new TestOptions functions.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::platformConfigureViewForTest):
Update to call new TestOptions functions.
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest
where it is more appropriate and removed shouldShowTouches setting as that is done
globally now.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
Update to call new TestOptions functions.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally,
and re-implemented useThreadedScrolling to use boolFeatures.
* WebKitTestRunner/win/TestControllerWin.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Updated for new signature.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Updated for new signature.
* WebKitTestRunner/gtk/TestControllerGTK.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Updated for new signature.
2020-10-08 Alex Christensen <achristensen@webkit.org>
REGRESSION (r267763): [ iOS wk2 ] http/tests/in-app-browser-privacy/non-app-bound-domain-does-not-get-app-bound-session.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=217386
Reviewed by Brent Fulgham.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformAddTestOptions const):
(WTR::TestController::platformInitializeDataStore):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
2020-10-08 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Support custom version information
https://bugs.webkit.org/show_bug.cgi?id=217485
<rdar://problem/70069051>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__):
2020-10-08 Keith Rollin <krollin@apple.com>
Remove copy-webkitlibraries-to-product-directory
https://bugs.webkit.org/show_bug.cgi?id=217465
<rdar://problem/70082193>
Reviewed by Darin Adler.
This script no longer does anything, so remove it along with the
scaffolding around it that invokes it during the build.
* Scripts/build-jsc:
* Scripts/build-webkit:
* Scripts/copy-webkitlibraries-to-product-directory: Removed.
2020-10-08 Chris Dumez <cdumez@apple.com>
Crash under WebKit::WebProcessCache::clear()
https://bugs.webkit.org/show_bug.cgi?id=217480
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2020-10-08 Sihui Liu <sihui_liu@apple.com>
Adjust heuristic for checking whether view reaches visually non-empty state
https://bugs.webkit.org/show_bug.cgi?id=217400
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/deferred-script-load-in-empty-document.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/FirstVisuallyNonEmptyMilestone.mm:
(-[RenderingProgressNavigationDelegate _webView:renderingProgressDidChange:]):
(TEST):
2020-10-07 Aditya Keerthi <akeerthi@apple.com>
REGRESSION(r268123): [ iOS ] 4 TestWebKitAPI.WebKitLegacy failures: File name unavailable. Unknown C++ exception thrown in the test body.
https://bugs.webkit.org/show_bug.cgi?id=217445
<rdar://problem/70063370>
Reviewed by Wenson Hsieh.
The patch which introduced these tests swizzled [UIDatePicker setDatePickerMode:]
to avoid a crash within UIKit, resulting from the fact that TestWebKitAPI isn't
actually an app.
However, this was not a reliable solution since UIKit was still attempting to
create a QoS interval. To fix, swizzle out a method much closer to the source
of the exception: [UITableView cellForRowAtIndexPath:].
* TestWebKitAPI/Tests/WebKitLegacy/ios/DateTimeInputsAccessoryViewTests.mm:
(cellForRowAtIndexPath):
(runTestWithInputType):
2020-10-07 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Ensure that builder names are valid Buildbot identifiers
https://bugs.webkit.org/show_bug.cgi?id=217434
Reviewed by Dewei Zhu.
* BuildSlaveSupport/build.webkit.org-config/config.json: Updated builder names.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Ditto.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: Ditto.
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Ensure that unit-tests fail when any builder name does
not follow required naming convention.
2020-10-07 Jonathan Bedard <jbedard@apple.com>
REGRESSION (r268080): [test-webkitpy] Mojave bots failing to install python-dateutil-2.8.1
https://bugs.webkit.org/show_bug.cgi?id=217438
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Include wheel package.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): The wheel package may be needed by setup tools.
2020-10-07 Konstantin Tokarev <annulen@yandex.ru>
[GTK][WPE] Remove Apache's mod_bw from install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=217441
Reviewed by Carlos Alberto Lopez Perez.
It is not activated in any of Apache configs in LayoutTests, and is not
referenced anywhere else.
* gtk/install-dependencies:
* wpe/install-dependencies:
2020-10-07 Karl Rackler <rackler@apple.com>
Unreviewed, reverting r268115.
This reverts commit r268115 while investigating ews test
failure.
Reverted changeset:
"Refactor TestOptions code in WebKitTestRunner to make it
easier to rationalize and extend"
https://bugs.webkit.org/show_bug.cgi?id=217390
https://trac.webkit.org/changeset/268115
2020-10-07 Basuke Suzuki <basuke.suzuki@sony.com>
[build-webkit] Compare with cmakeargs and unhandled to detect configuration change
https://bugs.webkit.org/show_bug.cgi?id=207012
Reviewed by Carlos Alberto Lopez Perez.
Added command line arguments on top of @featureArgs for comparison with previous build
options. This forces regeneration of CMakeCache.txt when any configuration is changed.
* Scripts/webkitdirs.pm:
(shouldRemoveCMakeCache):
2020-10-07 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Ensure that invalid step names are not allowed
https://bugs.webkit.org/show_bug.cgi?id=217431
Reviewed by Darin Adler.
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
(loadBuilderConfig):
2020-10-07 Aditya Keerthi <akeerthi@apple.com>
REGRESSION: Date/time pickers are not displayed in UIWebViews
https://bugs.webkit.org/show_bug.cgi?id=217341
<rdar://problem/66881739>
Reviewed by Wenson Hsieh.
Added regression tests to ensure this preference is not accidently
modified in the future.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitLegacy/ios/DateTimeInputsAccessoryViewTests.mm: Added.
(-[DateTimeInputsTestsLoadingDelegate webViewDidFinishLoad:]):
(runTestWithInputType):
Note that [UIDatePicker setDatePickerMode:] had to be swizzled to an
empty implementation as the UIKit version on the bots attempts to
create a QoS interval upon setting the initially selected row in
a UITableView when the date picker is presented. This fails because
TestWebKitAPI isn't actually an app. To avoid an exception, the method
is swizzled out.
2020-10-06 Devin Rousso <drousso@apple.com>
Move platform logic for CSS `hover` and `pointer` media queries outside of WebCore
https://bugs.webkit.org/show_bug.cgi?id=217413
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(iOSMouseSupport.MouseInitiallyDisconnected):
(iOSMouseSupport.MouseInitiallyConnected):
(iOSMouseSupport.MouseLaterDisconnected):
(iOSMouseSupport.MouseLaterConnected):
(iOSMouseSupport.MouseAlwaysConnected):
2020-10-06 Sam Weinig <weinig@apple.com>
Refactor TestOptions code in WebKitTestRunner to make it easier to rationalize and extend
https://bugs.webkit.org/show_bug.cgi?id=217390
Reviewed by Darin Adler.
Refactors TestOptions code in WebKitTestRunner to make it clear how options coming in at
different levels are treated and what precedence each has. The order is (from least to most):
- Global features passed to WebKitTestRunner via the command line (e.g. --show-touches)
- Hardcoded features based on the path of the test being run (hopefully we can remove all soon)
- Hardcoded platform specific defaults (currently only used by macOS for useThreadedScrolling).
- Features from the test headers within the test itself.
- Finally, a second chance for more platform specific defaults (currenly only used the Cocoa ports
for setting enableProcessSwapOnNavigation and enableProcessSwapOnWindowOpen based on NSUserDefaults.)
To make this change work, and pave the way for future autogeneration of some of these test options,
the TestOptions struct (now class) was overhauled. Instead of storing the state itself, TestOptions
is now an immutable owner of a TestFeatures object. TestFeatures is a simple struct that contains maps
of option keys to values and can be merged with other TestFeatures objects. TestOptions takes a
TestFeatures at construction, and exposes getters for all keys, as well as defaults for when they are
not in the maps. In future changes, I would like to remove many of these (the ones that correspond
with WebKit preferences anyway) and have the keys and values automatically dealt with by WKPreferences.
* WebKitTestRunner/Options.cpp:
* WebKitTestRunner/Options.h:
Switch to std::unordered_map for consistency and ease of conversion.
* WebKitTestRunner/PlatformWebView.h:
(WTR::PlatformWebView::viewSupportsOptions const):
Update to call new TestOptions functions.
* WebKitTestRunner/StringFunctions.h:
(WTR::toWK):
(WTR::toWTFString):
Add conversions for std::string.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
Replace some bools with a new global TestFeatures instance that forms the base of
all TestFeatures merges.
(WTR::TestController::generateContextConfiguration const):
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptionsForTest):
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::resetStateToConsistentValues):
Update to call new TestOptions functions.
(WTR::TestController::createTestURL):
Expose as a static member function on TestController for use in other files.
(WTR::TestController::testOptionsForTest const):
Rework to be a sequence of TestFeatures merges.
(WTR::TestController::updateWebViewSizeForTest):
(WTR::TestController::updateWindowScaleForTest):
Update to call new TestOptions functions.
(WTR::createTestURL): Deleted.
(WTR::parseBooleanTestHeaderValue): Deleted.
(WTR::parseStringTestHeaderValueAsRelativePath): Deleted.
(WTR::parseStringTestHeaderValueAsURL): Deleted.
(WTR::updateTestOptionsFromTestHeader): Deleted.
(WTR::TestController::platformAddTestOptions const): Deleted.
Moved TestOptions parsing to TestOptions.cpp
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::createTestSettingsDictionary):
Update to call new TestOptions functions.
* WebKitTestRunner/TestOptions.h:
Reworks TestOptions to be an immutable owner of a TestFeatures struct, which is a set
of maps that map feature string keys, to values of type bool, double, string or string vector.
* WebKitTestRunner/TestOptions.cpp:
(WTR::merge):
Merges two TestFeatures objects. If both contain the same key, the 'additional'
TestFeatures overrides the 'base' TestFeatures.
(WTR::dumpFeatures):
Helper to dump features to stderr, useful for debugging.
(WTR::keyType):
Helper for parser to know which value parser to use.
(WTR::parseBooleanTestHeaderValue):
(WTR::parseStringTestHeaderValueAsRelativePath):
(WTR::parseStringTestHeaderValueAsURL):
Value parsers moved from TestController.cpp
(WTR::parseTestHeader):
Header parser moved from TestController.cpp. Update to now return
a TestFeatures object and use keyType to pick value parser rather
than inlining the if statements.
(WTR::hardcodedFeaturesBasedOnPathForTest):
Moved from the TestOptions contructor and reworked to return a TestFeatures
object to be merged by the caller.
(WTR::featureDefaultsFromTestHeaderForTest):
Creates a TestFeatures for the test headers of the current test.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformSpecificFeatureOverridesDefaultsForTest const):
Reworked to now return a TestFeatures object that will be merged, rather than updating
a TestOptions. Moves enableInAppBrowserPrivacy work to TestController::platformWillRunTest
where it is more appropriate.
(WTR::TestController::platformInitializeDataStore):
(WTR::TestController::platformCreateWebView):
(WTR::TestController::finishCreatingPlatformWebView):
(WTR::TestController::setApplicationBundleIdentifier):
(WTR::TestController::cocoaResetStateToConsistentValues):
(WTR::contentMode):
Update to call new TestOptions functions.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::platformConfigureViewForTest):
Update to call new TestOptions functions.
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Moved GeneratedTouchesDebugWindow work to TestController::platformConfigureViewForTest
where it is more appropriate and removed shouldShowTouches setting as that is done
globally now.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
Update to call new TestOptions functions.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Remove shouldUseRemoteLayerTree and shouldShowWebView, as those are now done globally,
and re-implemented useThreadedScrolling to use boolFeatures.
* WebKitTestRunner/win/TestControllerWin.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Updated for new signature.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Updated for new signature.
* WebKitTestRunner/gtk/TestControllerGTK.cpp:
(WTR::TestController::platformSpecificFeatureDefaultsForTest const):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const): Deleted.
Updated for new signature.
2020-10-06 Sam Weinig <weinig@apple.com>
<input type="datetime-local"> not show calendar UI when it's inside ShadowDOM
https://bugs.webkit.org/show_bug.cgi?id=216985
<rdar://problem/69660273>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp:
(TestWebKitAPI::createDocument):
Update to pass a Settings object to Document::create which is now required.
2020-10-06 Chris Dumez <cdumez@apple.com>
Reloading a view in its processTerminationHandler does not work reliably when using related views
https://bugs.webkit.org/show_bug.cgi?id=217407
Reviewed by Geoff Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(-[NavigationDelegateWithCrashHandlerThatLoadsAgain _webView:webContentProcessDidTerminateWithReason:]):
(-[NavigationDelegateWithCrashHandlerThatLoadsAgain webView:didFinishNavigation:]):
(TEST):
2020-10-06 Devin Rousso <drousso@apple.com>
CSS hover and "pointer: fine" media queries do not evaluate to true with iOS 13.4 mouse support
https://bugs.webkit.org/show_bug.cgi?id=209292
<rdar://problem/60663124>
Reviewed by Tim Horton.
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView evaluateMediaQuery:]): Added.
Create helper function for synchronously testing media queries.
* TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(iOSMouseSupport.MouseInitiallyDisconnected): Added.
(iOSMouseSupport.MouseInitiallyConnected): Added.
(iOSMouseSupport.MouseLaterDisconnected): Added.
(iOSMouseSupport.MouseLaterConnected): Added.
(iOSMouseSupport.MouseAlwaysConnected): Added.
2020-10-06 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Generate Commit object from local repository
https://bugs.webkit.org/show_bug.cgi?id=216404
<rdar://problem/68702897>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py:
(Memoize.__call__.decorator): Handle case where function arguments are different.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/popen.py:
(PopenBase.poll): Reset stdout and stderr after calling the completion handler.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/decorators_unittest.py:
(TestMemoize.test_conflicting_args):
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor): Number of lines may be singular.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git):
(Git.__init__): Caller may wish to specify the patterns for production and development branches.
(Git.branches): Call the more general _branches_for to unify remote stripping logic.
(Git._commit_count): Given a parameter (hash, branch, difference between default branch and commit), compute
the number of commits.
(Git._branches_for): Given a hash, return all branches the commit is part of.
(Git.commit): Construct a commit given a commit hash, revision, identifier or branch.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm):
(Scm.__init__): Caller may wish to specify the patterns for production and development branches.
(Scm.commit): Construct a commit given a commit hash, revision, identifier or branch.
(Scm.prioritize_branches): Given a set of branches, pick the highest priority one.
(Scm.log): Log error to a configured logger or stderr.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn):
(Svn.__init__): Caller may wish to specify the patterns for production and development branches.
(Svn.info): Allow info for a specific commit to be queried.
(Svn._cache_path): Path to json cache of branch-commit mapping.
(Svn._cache_revisions): Query the remote for a specific branch to get the list of all commits on that branch.
(Svn._commit_count): Given a revision or branch, compute the number of commits.
(Svn._branch_for): Given a revision, use local data to determine the most likely branch before asking the remote which branch
a commit is on.
(Svn.commit): Construct a commit given a commit hash, revision, identifier or branch.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git): Add commands needed to construct an identifier, add mock commits.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn): Add commands needed to construct an identifier, add mock commits.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor.test_short_svn_log):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/scm_unittest.py:
(TestScm.test_remote):
(TestScm):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn):
2020-10-06 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Ensure that steps names are valid Buildbot identifiers
https://bugs.webkit.org/show_bug.cgi?id=217394
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/steps.py: Removed spaces from step names.
(ConfigureBuild):
(KillOldProcesses):
(CleanBuildIfScheduled):
(DeleteStaleBuildFiles):
(RunGLibAPITests):
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Updated unit-tests.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
2020-10-06 Philippe Normand <pnormand@igalia.com>
run-minibrowser not compatible with python3
https://bugs.webkit.org/show_bug.cgi?id=217368
Reviewed by Adrian Perez de Castro.
* Scripts/webkitpy/minibrowser/run_webkit_app.py: Use webkitcorepy's unicode().
2020-10-06 Adrian Perez de Castro <aperez@igalia.com>
REGRESSION(r267399): [WPE] Build broken with ENABLE_ACCESSIBILITY=OFF
https://bugs.webkit.org/show_bug.cgi?id=217380
Reviewed by Philippe Normand.
Before the ATK::Bridge target got introduced in r267399 a couple of CMake variables were
used, which were empty when the accessility support was disabled and nothing was being
added to the WebKit and WPEToolingBackends targets. Now that an imported target is used
it is needed to add it as a dependency conditionally to avoid using an undefined target
name.
* wpe/backends/CMakeLists.txt: Use the ATK::Bridge target only when ENABLE_ACCESSIBILITY is set.
2020-10-05 Aditya Keerthi <akeerthi@apple.com>
Unreviewed. Update my primary email address.
* Scripts/webkitpy/common/config/contributors.json:
2020-10-05 Eric Carlson <eric.carlson@apple.com>
Disable media capture if an app's entitlements won't allow access to capture devices
https://bugs.webkit.org/show_bug.cgi?id=217319
<rdar://problem/69956112>
Unreviewed, address post-review comments.
* MiniBrowser/mac/Info.plist: Update media capture usage strings.
* MobileMiniBrowser/MobileMiniBrowser/Info.plist: Ditto.
2020-10-05 Eric Carlson <eric.carlson@apple.com>
Disable media capture if an app's entitlements won't allow access to capture devices
https://bugs.webkit.org/show_bug.cgi?id=217319
<rdar://problem/69956112>
Reviewed by Youenn Fablet.
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate defaultConfiguration]): Don't set configuration._mediaCaptureEnabled,
it should no longer be necessary.
* MiniBrowser/mac/Info.plist: Remove unneeded keys.
* MobileMiniBrowser/MobileMiniBrowser/Info.plist: Ditto. Add usage strings.
2020-10-05 Aditya Keerthi <akeerthi@apple.com>
[Contact Picker API] Introduce bindings for the Contact Picker API
https://bugs.webkit.org/show_bug.cgi?id=216793
<rdar://problem/69317957>
Reviewed by Wenson Hsieh.
Added plumbing to support the associated experimental test option.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* DumpRenderTree/win/DumpRenderTree.cpp:
(setWebPreferencesForTestOptions):
2020-10-05 Sam Weinig <weinig@apple.com>
Remove support for enabling subpixel CSSOM values, it's off by default everywhere and known to be not-compatible with the web
https://bugs.webkit.org/show_bug.cgi?id=217300
Reviewed by Simon Fraser.
Remove support in MiniBrowser for toggling support for subpixel CSSOM values since it
is no longer supported in WebCore.
* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleEnableSubPixelCSSOMMetrics:]): Deleted.
(-[SettingsController subPixelCSSOMMetricsEnabled]): Deleted.
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
2020-10-05 Alex Christensen <achristensen@webkit.org>
Unify linkedOnOrAfter duplicate code and use SPI/WebCoreTestSupport instead of NSUserDefaults
https://bugs.webkit.org/show_bug.cgi?id=217239
Reviewed by Darin Adler.
* DumpRenderTree/mac/DumpRenderTree.mm:
(setDefaultsToConsistentValuesForTesting):
(DumpRenderTreeMain):
* MiniBrowser/mac/main.m:
(main):
* MobileMiniBrowser/MobileMiniBrowser/main.m:
(main):
* TestWebKitAPI/Configurations/TestWTF.xcconfig:
* TestWebKitAPI/ios/mainIOS.mm:
(main):
* TestWebKitAPI/mac/mainMac.mm:
(main):
* WebKitTestRunner/ios/mainIOS.mm:
(main):
* WebKitTestRunner/mac/main.mm:
(setDefaultsToConsistentValuesForTesting):
(main):
2020-10-05 Alex Christensen <achristensen@webkit.org>
Fix UTF-8 encoding in URL parsing
https://bugs.webkit.org/show_bug.cgi?id=217289
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2020-10-05 Rob Buis <rbuis@igalia.com>
MIME type parser should skip trailing HTTP whitespace
https://bugs.webkit.org/show_bug.cgi?id=217179
Reviewed by Darin Adler.
Add unit tests for trailing HTTP whitespace.
* TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp:
(TestWebKitAPI::TEST):
2020-10-04 Brian Burg <bburg@apple.com>
[Cocoa] Add WKUIDelegate SPI to inform clients when a _WKInspector is about to close
https://bugs.webkit.org/show_bug.cgi?id=217233
Reviewed by Timothy Hatcher and Devin Rousso.
Add new test case for -_webView:willCloseLocalInspector:.
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:
(-[InspectorDelegate inspectorDidEnableBrowserDomain:]):
(-[UIDelegate _webView:didAttachLocalInspector:]):
(-[UIDelegate _webView:willCloseLocalInspector:]):
(TEST):
Clean up how the other test case works so we don't call close from
inside a delegate callback. Let's keep our tests structured the same way.
2020-10-04 Ryan Hostetler <rhost@apple.com>
Submission failure with "make: *** No rule to make target `installsrc'. Stop"
https://bugs.webkit.org/show_bug.cgi?id=214696
<rdar://problem/62268104>
Reviewed by Darin Adler.
Add support for XBS single base project build for WebKit repository.
This change allows internal tools to submit and build from the repository root in a single step.
* Makefile:
Tools does not need to be submitted, so we stub out the installsrc phase.
2020-10-03 Alex Christensen <achristensen@webkit.org>
Add extra slash after empty host copied from base URL if path is also empty
https://bugs.webkit.org/show_bug.cgi?id=217278
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
2020-10-03 Alex Christensen <achristensen@webkit.org>
"http:" should not be a valid URL
https://bugs.webkit.org/show_bug.cgi?id=217250
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2020-10-03 Aditya Keerthi <akeerthi@apple.com>
[macOS] Enable date, time, and datetime-local input types
https://bugs.webkit.org/show_bug.cgi?id=217229
<rdar://problem/69882757>
Reviewed by Sam Weinig.
Update test expectations now that these input types no longer fallback
to text fields. Also removed the test for input type=datetime, as it
has been removed from the spec.
* TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsTextField.mm:
(-[InjectedBundleNodeHandleIsTextField webProcessPlugIn:didCreateBrowserContextController:]):
2020-10-02 Yusuke Suzuki <ysuzuki@apple.com>
std::once_flag must be allocated in static storage
https://bugs.webkit.org/show_bug.cgi?id=217271
Reviewed by Mark Lam.
Added cpplint rule for non-static std::once_flag / dispatch_once_t.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_once_flag):
(check_style):
(CppChecker):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_once_flag):
2020-10-02 Kate Cheney <katherine_cheney@apple.com>
Multiple calls to suspend media playback for the same page may result in resuming media playback too soon
https://bugs.webkit.org/show_bug.cgi?id=217228
rdar://problem/69709346
Reviewed by Eric Carlson.
Add API test coverage. Fix the existing SuspendResumeAllMediaPlayback
test which had a small JavaScript bug, and was missing a call to
TestWebKitAPI::Util::run(&didReject) which allowed the bug to go
unnoticed.
* TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm:
(TestWebKitAPI::TEST):
2020-10-02 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Remove "i" from canonical identifier
https://bugs.webkit.org/show_bug.cgi?id=217238
<rdar://problem/69888017>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit):
(Commit.pretty_print): Remove "i" from canonical identifier, add branch point.
(Commit.__repr__): Remove "i" from canonical identifier.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
(TestCommit.test_parse_revision):
(TestCommit.test_parse_identifier):
(TestCommit.test_parse):
(TestCommit.test_pretty_print):
2020-10-02 Philippe Normand <pnormand@igalia.com>
[CMake] unused variable warning spam in UIScriptController.h
https://bugs.webkit.org/show_bug.cgi?id=217176
Reviewed by Adrian Perez de Castro.
* DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
(_generateImplementationFile): Generate macros for unused variables.
* TestRunnerShared/UIScriptContext/UIScriptController.h: Remove unused variable names declarations.
(WTR::UIScriptController::doAsyncTask):
(WTR::UIScriptController::ensurePositionInformationIsUpToDateAt):
(WTR::UIScriptController::overridePreference):
(WTR::UIScriptController::zoomToScale):
(WTR::UIScriptController::immediateZoomToScale):
(WTR::UIScriptController::setSafeAreaInsets):
(WTR::UIScriptController::propertiesOfLayerWithID const):
(WTR::UIScriptController::scrollToOffset):
(WTR::UIScriptController::immediateScrollToOffset):
(WTR::UIScriptController::immediateScrollElementAtContentPointToOffset):
(WTR::UIScriptController::touchDownAtPoint):
(WTR::UIScriptController::liftUpAtPoint):
(WTR::UIScriptController::singleTapAtPoint):
(WTR::UIScriptController::singleTapAtPointWithModifiers):
(WTR::UIScriptController::twoFingerSingleTapAtPoint):
(WTR::UIScriptController::doubleTapAtPoint):
(WTR::UIScriptController::dragFromPointToPoint):
(WTR::UIScriptController::longPressAtPoint):
(WTR::UIScriptController::activateAtPoint):
(WTR::UIScriptController::typeCharacterUsingHardwareKeyboard):
(WTR::UIScriptController::keyDown):
(WTR::UIScriptController::toggleCapsLock):
(WTR::UIScriptController::applyAutocorrection):
(WTR::UIScriptController::replaceTextAtRange):
(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):
(WTR::UIScriptController::stylusTapAtPointWithModifiers):
(WTR::UIScriptController::sendEventStream):
(WTR::UIScriptController::playBackEventStream):
(WTR::UIScriptController::dismissFilePicker):
(WTR::UIScriptController::setTimePickerValue):
(WTR::UIScriptController::setDefaultCalendarType):
(WTR::UIScriptController::findString):
(WTR::UIScriptController::simulateAccessibilitySettingsChangeNotification):
(WTR::UIScriptController::beginBackSwipe):
(WTR::UIScriptController::completeBackSwipe):
(WTR::UIScriptController::rectForMenuAction const):
(WTR::UIScriptController::attachmentInfo):
(WTR::UIScriptController::insertAttachmentForFilePath):
2020-10-02 Jonathan Bedard <jbedard@apple.com>
Update my information in contributors.json
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2020-10-02 Sam Weinig <weinig@apple.com>
Remove code behind ENABLE(MEDIA_SESSION), no ports enable it
https://bugs.webkit.org/show_bug.cgi?id=216831
Reviewed by Alex Christensen.
* Scripts/webkitperl/FeatureList.pm:
Remove support for building with MEDIA_SESSION enabled.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
Update names to new 'unused' naming.
2020-10-02 Karl Rackler <rackler@apple.com>
Unreviewed, reverting r267796.
This change is breaking the build on AzulE debug bots.
Reverted changeset:
"Remove code behind ENABLE(MEDIA_SESSION), no ports enable it"
https://bugs.webkit.org/show_bug.cgi?id=216831
https://trac.webkit.org/changeset/267796
2020-10-02 Andres Gonzalez <andresg_22@apple.com>
Layout Test accessibility/mac/html5-input-number.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=180560
<rdar://problem/36029379>
Reviewed by Chris Fleizach.
Dispatch the computation of the role and subrole to secondary AX thread in isolated tree mode = 2.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::subrole):
2020-10-02 Philippe Normand <pnormand@igalia.com>
[GTK] Fix MiniBrowser compilation warnings
https://bugs.webkit.org/show_bug.cgi?id=217208
Reviewed by Carlos Garcia Campos.
webkit_web_context_set_network_proxy_settings() is deprecated in favor of
webkit_website_data_manager_set_network_proxy_settings().
webkit_web_context_set_tls_errors_policy() is deprecated in favor of
webkit_website_data_manager_set_tls_errors_policy().
* MiniBrowser/gtk/main.c:
(activate):
* MiniBrowser/wpe/main.cpp:
(main):
2020-10-02 Kimmo Kinnunen <kkinnunen@apple.com>
[iOS WK1] Crashes when using ANGLE WebGL from another thread
https://bugs.webkit.org/show_bug.cgi?id=216106
<rdar://problem/68602452>
Reviewed by Kenneth Russell.
Add a WK1 test which runs WebGL code both in
client main thread and in web thread.
This tests the case where ANGLE EGL context is
not being held current in one thread while the
other thread runs WebGL and thus ANGLE EGL code.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitLegacy/ios/WebGLNoCrashOnOtherThreadAccess.mm: Added.
(-[WebGLNoCrashOnOtherThreadAccessWebViewDelegate webViewDidFinishLoad:]):
(-[WebGLNoCrashOnOtherThreadAccessWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
(TestWebKitAPI::TEST):
2020-10-01 Aakash Jain <aakash_jain@apple.com>
Limit number of tests to log in case of large number of API test failures
https://bugs.webkit.org/show_bug.cgi?id=217181
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults.analyzeResults):
2020-10-01 Chris Dumez <cdumez@apple.com>
[DRT] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/active-processing.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=217187
Reviewed by Eric Carlson.
The test sometimes fails with DRT only because window.AudioWorkletNode does not exist. The thing is that
window.AudioWorkletNode only exists in secure contexts. DumpRenderTree::resetWebViewToConsistentState()
was calling [WebFrame globalContext] before each test, which would eagerly create the Window JS wrapper
if it did not exist yet. Because the wrapper would get created too early, its security origin upon
creation was null and we would decide NOT to expose window.AudioWorkletNode.
To address the issue, I updated DumpRenderTree::resetWebViewToConsistentState() to only call
`WebCoreTestSupport::resetInternalsObject([mainFrame globalContext])` after each test, instead of doing
it both before AND after. This new behavior is also more consistent with WebKitTestRunner.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentState):
(runTest):
2020-10-01 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Support git-svn committers
https://bugs.webkit.org/show_bug.cgi?id=217151
<rdar://problem/69812996>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version number.
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor):
(Contributor.from_scm_log): Handle case where a commit does not contain an author.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor):
(TestContributor.test_git_no_author):
(TestContributor.test_git_svn_no_author):
2020-10-01 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Rename type to factory in config.json
https://bugs.webkit.org/show_bug.cgi?id=217127
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
(loadBuilderConfig):
* BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py:
2020-10-01 Eric Carlson <eric.carlson@apple.com>
Prevent media capture unless the application has correct data for system permission prompt
https://bugs.webkit.org/show_bug.cgi?id=217104
<rdar://problem/69761929>
Reviewed by Darin Adler.
* MiniBrowser/mac/Info.plist: Add necessary entitlements and usage strings.
* MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m:
(-[WebViewController createWebView]): Setting the private capture preference is
not necessary because we set configuration._mediaCaptureEnabled.
2020-10-01 Alex Christensen <achristensen@webkit.org>
Non-special URLs are not idempotent
https://bugs.webkit.org/show_bug.cgi?id=215762
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2020-10-01 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update W3C WebDriver imported tests.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
(WebKitDriverProtocol):
(WebDriverW3CExecutor.__init__):
(WebDriverW3CExecutor.setup):
2020-10-01 Philippe Normand <pnormand@igalia.com>
[Flatpak] Nightly runner requires user interaction
https://bugs.webkit.org/show_bug.cgi?id=217092
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/webkit-flatpak-run-nightly: The most recent version is 0.3 currently, this is the
branch that should be installed. At some point we could add a new option to override this
though.
2020-09-30 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add Commit object
https://bugs.webkit.org/show_bug.cgi?id=216403
<rdar://problem/68702779>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version number.
* Scripts/libraries/webkitscmpy/webkitscmpy/commit.py: Added.
(Commit):
(Commit._parse_hash): Given a hash, verify that the provided argument is
Actually a git hash.
(Commit._parse_revision): Given a string or integer, verify the provided
argument is a valid SVN revision and return the revision as an integer.
(Commit._parse_identifier): Given a string or integer, verify the provided
argument is a valid identifier and return the identifier and branch.
(Commit.parse): Given a string representing a commit hash, svn revision or
identifier, return a commit object.
(Commit.__init__):
(Commit.pretty_print): Return a long string displaying the metadata for the commit
(Commit.__repr__): Return a one-line representation of the commit.
(Commit.__hash__):
(Commit.__cmp__): Compare two commit objects.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py: Added.
(TestCommit):
(TestCommit.test_parse_hash):
(TestCommit.test_parse_revision):
(TestCommit.test_parse_identifier):
(TestCommit.test_parse):
(TestCommit.test_pretty_print):
2020-09-30 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Check if a git checkout is linked to an SVN checkout
https://bugs.webkit.org/show_bug.cgi?id=216888
<rdar://problem/69446322>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Increment library version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.info): Run `git svn info` if in a Git-SVN checkout.
(Git.is_svn): Check if in a Git-SVN checkout.
(Git.is_git): Return True.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.is_svn): Return False.
(Scm.is_git): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.is_svn): Return True.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__init__): Add `git svn` commands.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_scm_type):
(TestGit.test_info):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn.test_scm_type):
2020-09-30 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's auto installer for html5lib
https://bugs.webkit.org/show_bug.cgi?id=217130
<rdar://problem/69798724>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/__init__.py: Add html5lib, webencodings and genshi.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove html5lib.
(AutoinstallImportHook._install_mechanize):Ditto.
(AutoinstallImportHook._install_beautifulsoup): Ditto.
(AutoinstallImportHook._install_html5lib): Deleted.
2020-09-30 Sam Weinig <weinig@apple.com>
Remove code behind ENABLE(MEDIA_SESSION), no ports enable it
https://bugs.webkit.org/show_bug.cgi?id=216831
Reviewed by Alex Christensen.
* Scripts/webkitperl/FeatureList.pm:
Remove support for building with MEDIA_SESSION enabled.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
Update names to new 'unused' naming.
2020-09-30 Philippe Normand <pnormand@igalia.com>
[GStreamer] Internal audio rendering support
https://bugs.webkit.org/show_bug.cgi?id=207634
Reviewed by Xabier Rodriguez-Calvar.
* Scripts/webkitpy/style/checker.py: White-list the new audio sink from the style checker.
* TestWebKitAPI/Tests/WebKit/file-with-video.html: New utility functions to pause and seek in the video.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: WPE test for external audio
rendering support. A video file is loaded through the webview and the test receives
notifications during playback. In order to reduce timeout risks, a seek near the end of the
video is performed early on.
(AudioRenderingWebViewTest::setup):
(AudioRenderingWebViewTest::teardown):
(AudioRenderingWebViewTest::AudioRenderingWebViewTest):
(AudioRenderingWebViewTest::handleStart):
(AudioRenderingWebViewTest::handleStop):
(AudioRenderingWebViewTest::handlePause):
(AudioRenderingWebViewTest::handleResume):
(AudioRenderingWebViewTest::handlePacket):
(AudioRenderingWebViewTest::waitUntilPaused):
(AudioRenderingWebViewTest::waitUntilEOS):
(AudioRenderingWebViewTest::state const):
(beforeAll):
2020-09-30 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Bump libwpe and wpebackend-fdo
https://bugs.webkit.org/show_bug.cgi?id=217122
Reviewed by Carlos Garcia Campos.
* buildstream/elements/sdk/libwpe.bst: Bump to 1.8.0 and switch to Meson build system.
* buildstream/elements/sdk/wpebackend-fdo.bst: Bump to 1.9.0 development version and switch
to Meson build system.
2020-09-30 Nikolas Zimmermann <nzimmermann@igalia.com>
Fix assertion in linux_get_crash_log.py using Python 2.7
https://bugs.webkit.org/show_bug.cgi?id=217121
Reviewed by Philippe Normand.
Fix assertion in linux_get_crash_log.py using Python 2.7:
worker/6: UnicodeEncodeError(''ascii' codec can't encode character u'\u201c' in position 85: ordinal not in range(128)') raised:
Encode data as utf-8 before passing on to communicate().
* Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator.generate_crash_log):
2020-09-29 Andres Gonzalez <andresg_22@apple.com>
Modify END_AX_OBJC_EXCEPTIONS macro to assert to aid debugging of layout tests.
https://bugs.webkit.org/show_bug.cgi?id=217096
Reviewed by Chris Fleizach.
ASSERT_NOT_REACHED on thrown exceptions. This will tell us immediately
the location of a failure instead of silently swallowing the exception
and posibly causing a hang/timeout much harder to find after the fact.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
2020-09-29 Jonathan Bedard <jbedard@apple.com>
[watchOS] AVKitSPI build fixes
https://bugs.webkit.org/show_bug.cgi?id=217070
<rdar://problem/69724883>
Rubber-stamped by Eric Carlson.
* Scripts/configure-xcode-for-embedded-development: Copy AVKit headers for watchOS.
2020-09-29 Alex Christensen <achristensen@webkit.org>
Move NetworkProcessProxy ownership from WebProcessPool to WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=216041
Reviewed by Brady Eidson.
Most changes to tests are just calling a function on the WKWebsiteDataStore instead of the WKProcessPool
because we want to do something with the network process and it has a new owner.
Exceptions are noted inline.
* TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TestWebKitAPI::downloadAtRate):
* TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IDBObjectStoreInfoUpgradeToV2.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
(checkRecoveryAfterCrash):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
This test was making a WKWebsiteDataStore, getting its resource load statistics directory,
putting things in that directory, then starting the network process and making sure everything
works when initializing the network process. Now, network process initialization happens when a
WKWebsiteDataStore is instantiated, so we need to put things there before instantiating a WKWebsiteDataStore.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Before this change, each WKProcessPool had its own network process, which holds the service worker registry
for the WebsiteDataStores used with that process pool. Now, the network process still needs to have a service
worker registry in it, but when we receive a message from it looking for a web process to run the service
worker, we go arbitrarily to the first process pool that has a process we can use. This logic is in
WebProcessPool::establishWorkerContextConnectionToNetworkProcess. Because we use the first process pool each
time, setting the custom user agent to two different things in two different process pools causes only one
to be used. This is not a problem in practice, though, because the only application that uses the SPI to
set a service worker's custom user agent is Safari, which only has one process pool. This test still verifies
that a user ageint is correctly sent.
Similarly, the tests that count service worker processes either have different results or need to be run with
one process pool per parent process. To keep the results the same, I separated the tests into different
TEST(ServiceWorkers, ...) macros which are run in separate parent processes.
The test RestoreFromDiskNonDefaultStore needs to use the same data store for both WKWebViews now because otherwise
there was a race condition in the startup of a new network process that wasn't there before because we were using the
same process pool and therefore the same network process. I added spinning the run loop and sleeping to be able to
reproduce the race condition failure and I use the same WKWebsiteDataStore to use the same network process, which was
the intent of using the same WKProcessPool before. The test still tests that the registration is re-used when we are
not using the default data store.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(-[CheckSessionCookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[CheckSessionCookieUIDelegate waitForMessage]):
(-[CheckSessionCookieUIDelegate alertCookieHTML]):
(TEST):
This is the whole point of me doing this.
I took a test that was flaky only on iOS (because of different NSHTTPCookieStorage syncing behavior) and made
it flaky nowhere (fingers crossed!) and added a test that correctly handles session cookies like we could not
before this change.
I also re-used some test infrastructure and made it stop using process-global static variables for test state.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
(TEST):
* TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsTest.mm:
(-[CloseWhileStartingProtocol startLoading]):
(TestWebKitAPI::runTest):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::findAndDumpWebKitProcessIdentifiers):
(WTR::TestController::networkProcessDidCrash):
(WTR::TestController::terminateNetworkProcess):
(WTR::TestController::platformAdjustContext):
WKContextSetAllowsAnySSLCertificateForServiceWorkerTesting is not needed, so I removed it.
WKContextSetPrimaryWebsiteDataStore isn't needed any more because WKContextRef (WebProcessPool) doesn't
own a network process any more, so it doesn't care which is the default WebsiteDataStore.
In fact, the "default" WebsiteDataStore isn't really important in the network process any more.
2020-09-26 Darin Adler <darin@apple.com>
Refactor test runner code to cut down on copy/paste code and long-winded repetitive idioms
https://bugs.webkit.org/show_bug.cgi?id=217028
Reviewed by Sam Weinig.
I did a lot of simplifying, but even more is possible. For some reason, the test
code is a hotbed of repeated idioms, and copy and paste rather than helper functions.
Even after the refactoring, I have some doubts about the way this code is written with
so much repeated marshaling for each function.
* DumpRenderTree/AccessibilityController.cpp:
(AccessibilityController::makeWindowObject): Use setGlobalObjectProperty.
(AccessibilityController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
* DumpRenderTree/AccessibilityController.h: Updated for the above.
* DumpRenderTree/AccessibilityUIElement.cpp:
(uiElementCountForSearchPredicateCallback): Removed unneeded initialization of
JSRetainPtr, which starts out null.
* DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
(_platformTypeConstructor): Use toOptionalBool and createJSString.
(_returnExpression): Use makeValue.
* DumpRenderTree/GCController.cpp:
(GCController::GCController): Deleted.
(GCController::~GCController): Deleted.
(collectCallback): Use a reference and auto.
(collectOnAlternateThreadCallback): Ditto.
(getJSObjectCountCallback): Ditto.
(GCController::makeWindowObject): Use setGlobalObjectProperty.
(AccessibilityController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
* DumpRenderTree/GCController.h: Updated for the above.
* DumpRenderTree/TestRunner.cpp:
(encodeHostNameCallback): Use createJSString.
(execCommandCallback): Ditto.
(findStringCallback): Ditto.
(isCommandEnabledCallback): Ditto.
(overridePreferenceCallback): Ditto.
(queueLoadCallback): Ditto.
(queueLoadHTMLStringCallback): Ditto.
(TestRunner::makeWindowObject): Use setGlobalObjectProperty.
(TestRunner::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
(TestRunner::staticValues): Made return value const*.
(TestRunner::staticFunctions): Ditto.
(TestRunner::waitToDumpWatchdogTimerFired): Simplified printing.
(TestRunner::cacheTestRunnerCallback): Updated to use object pointers as hash
table values instead of values, since callbacks need to be objects.
(TestRunner::callTestRunnerCallback): Ditto.
(TestRunner::clearTestRunnerCallbacks): Ditto.
(TestRunner::setOpenPanelFiles): Use arrayLength.
* DumpRenderTree/TestRunner.h: Updated for the above.
* DumpRenderTree/ios/AccessibilityControllerIOS.mm:
(AccessibilityController::platformName const): Use createJSString.
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(createEmptyJSString): Dleted.
(AccessibilityUIElement::stringForTextMarkerRange): Use createJSString.
(AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
(AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(AccessibilityUIElement::attributesOfChildren): Ditto.
(AccessibilityUIElement::allAttributes): Ditto.
(AccessibilityUIElement::stringAttributeValue): Ditto.
(AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(AccessibilityUIElement::role): Ditto.
(AccessibilityUIElement::subrole): Ditto.
(AccessibilityUIElement::roleDescription): Ditto.
(AccessibilityUIElement::computedRoleString): Ditto.
(AccessibilityUIElement::title): Ditto.
(AccessibilityUIElement::orientation const): Ditto.
(AccessibilityUIElement::language): Ditto.
(AccessibilityUIElement::valueDescription): Ditto.
(AccessibilityUIElement::ariaDropEffects const): Ditto.
(AccessibilityUIElement::boundsForRange): Ditto.
(AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(AccessibilityUIElement::attributesOfColumns): Ditto.
(AccessibilityUIElement::attributesOfRows): Ditto.
(AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(AccessibilityUIElement::attributesOfHeader): Ditto.
(AccessibilityUIElement::selectedTextRange): Ditto.
(AccessibilityUIElement::accessibilityValue const): Ditto.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
* DumpRenderTree/mac/AccessibilityCommonMac.h: Removed unneeded "extern".
* DumpRenderTree/mac/AccessibilityCommonMac.mm:
(searchPredicateParameterizedAttributeForSearchCriteria): Use arrayLength.
Removed unneeded call to JSValueToObject after JSValueIsObject.
* DumpRenderTree/mac/AccessibilityControllerMac.mm:
(AccessibilityController::platformName const): Use createJSString.
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(createEmptyJSString): Deleted.
(selectTextParameterizedAttributeForCriteria): Use arrayLength.
Removed unneeded call to JSValueToObject after JSValueIsObject.
(searchTextParameterizedAttributeForCriteria): Ditto.
(AccessibilityUIElement::accessibilityValue const): Use createJSString.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]):
Use auto. Pass fewer arguments to makeWindowObject. Simplified object
creation code by using adoptNS instead of release.
(-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
Use createJSString.
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::findString): Use arrayLength.
* DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::didClearWindowObjectForFrameInStandardWorld):
Pass fewer arguments to makeWindowObject.
* DumpRenderTree/win/TextInputController.cpp:
(TextInputController::makeWindowObject): Use setGlobalObjectProperty.
(TextInputController::createJSClass): Replaced getJSClass with this. Return a
JSRetainPtr to make it clear this passes ownership to the caller.
(TextInputController::staticValues): Made return value const*.
(TextInputController::staticFunctions): Ditto.
* DumpRenderTree/win/TextInputController.h: Updated for above.
* TestRunnerShared/Bindings/JSBasics.cpp:
(WTR::toOptionalBool): Renamed from JSValueMakeBooleanOrNull.
(WTR::toOptionalDouble): Added.
(WTR::makeValue): Added with overloads for various types.
Replaced JSValueToNullableBoolean and JSValueMakeStringOrNull.
(WTR::createJSString): Added with overloads for various types.
(WTR::property): Added.
(WTR::stringProperty): Added.
(WTR::booleanProperty): Added.
(WTR::numericProperty): Added.
(WTR::objectProperty): Refactored to call property.
(WTR::arrayLength): Added.
(WTR::setGlobalObjectProperty): Added.
(WTR::call): Refactored to let objectProperty do more of the null checking.
(WTR::callConstructor): Ditto.
* TestRunnerShared/Bindings/JSBasics.h: Updated for the above.
* TestRunnerShared/Bindings/JSWrappable.h: Reduced includes a bit.
* TestRunnerShared/Bindings/JSWrapper.h: Added setGlobalObjectProperty.
* TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
(UIScriptContext::UIScriptContext): Pass fewer arguments to makeWindowObject.
(UIScriptContext::runUIScript): Use createJSString.
(UIScriptContext::objectFromRect const): Use setProperty.
* TestRunnerShared/UIScriptContext/UIScriptController.h: Updated for the above.
* TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp:
(WTR::toDeviceOrientation): Use createJSString and JSStringIsEqualToUTF8CString.
(WTR::UIScriptController::makeWindowObject): Use setGlobalObjectProperty.
* TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(-[LayoutTestSpellChecker setResultsFromJSValue:inContext:]): Use createJSString
and removed unneeded use of lroundl.
* WebKitTestRunner/DictionaryFunctions.h: Added. Contains convenience functions
for dealing with WKDictionaryRef.
* WebKitTestRunner/EventSenderProxy.h: Initialize data members.
* WebKitTestRunner/GeolocationProviderMock.cpp:
(GeolocationProviderMock::setPosition): Use Optional instead of separate bool.
* WebKitTestRunner/GeolocationProviderMock.h: Updated for the above.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::makeWindowObject): Use setGlobalObjectProperty.
* WebKitTestRunner/InjectedBundle/AccessibilityController.h: Updated for the above.
* WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(_generateImplementationFile): Use static initialization and a lambda instead of
an if statement to initialize.
(_platformTypeConstructor): Use toOptionalBool and createJSString. Also added
support for nullable doubles and used auto a bit more.
(_returnExpression): Use makeValue.
* InjectedBundle/Bindings/TestRunner.idl: Made the optional arguments to the
setMockGeolocationPosition function "double?" instead of "object".
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::getMenuItemChildrenCallback): Use auto and not JSValueToObject.
(WTR::arrayLength): Moved to JSBasics.h/cpp.
(WTR::parseTouchModifier): Added. Factored out of the
EventSendingController::setTouchModifier function.
(WTR::parseModifierArray): Use createJSString and remove unneeded ignored
exception out argument, since that is optional. Also added overload that
gets the context.
(WTR::EventSendingController::EventSendingController): Deleted.
(WTR::EventSendingController::~EventSendingController): Deleted.
(WTR::createMouseMessageBody): Use adoptWK and setValue. Return a WKRetainPtr.
(WTR::EventSendingController::mouseDown): Use postSynchronousPageMessage.
(WTR::EventSendingController::mouseUp): Ditto.
(WTR::EventSendingController::mouseMoveTo): Use setValue and
postSynchronousPageMessages.
(WTR::EventSendingController::mouseForceClick): Ditto.
(WTR::EventSendingController::startAndCancelMouseForceClick): Ditto.
(WTR::EventSendingController::mouseForceDown): Ditto.
(WTR::EventSendingController::mouseForceUp): Ditto.
(WTR::EventSendingController::mouseForceChanged): Ditto.
(WTR::EventSendingController::leapForward): Ditto.
(WTR::EventSendingController::scheduleAsynchronousClick): Use postPageMessage.
(WTR::createKeyDownMessageBody): Use setValue.
(WTR::EventSendingController::keyDown): Use postSynchronousPageMessage.
(WTR::EventSendingController::scheduleAsynchronousKeyDown): Use postPageMessage.
(WTR::EventSendingController::mouseScrollBy): Use setValue and postPageMessage.
(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Use
setValue and postPageMessage.
(WTR::EventSendingController::continuousMouseScrollBy): Use setValue and
postSynchronousPageMessage.
(WTR::EventSendingController::contextClick): Use auto and not JSValueToObject.
(WTR::toMonitorWheelEventsOptions): Use booleanProperty.
(WTR::EventSendingController::addTouchPoint): Use setValue and postSynchronousPageMessage.
(WTR::EventSendingController::updateTouchPoint): Ditto.
(WTR::EventSendingController::setTouchModifier): Ditto.
(WTR::EventSendingController::setTouchPointRadius): Ditto.
(WTR::EventSendingController::touchStart): Ditto.
(WTR::EventSendingController::touchMove): Ditto.
(WTR::EventSendingController::touchEnd): Ditto.
(WTR::EventSendingController::touchCancel): Ditto.
(WTR::EventSendingController::clearTouchPoints): Ditto.
(WTR::EventSendingController::releaseTouchPoint): Ditto.
(WTR::EventSendingController::cancelTouchPoint): Ditto.
(WTR::EventSendingController::makeWindowObject): Use setGlobalObjectProperty.
* WebKitTestRunner/InjectedBundle/EventSendingController.h: Updated for the above.
Deleted various unneeded functions.
* WebKitTestRunner/InjectedBundle/GCController.cpp:
(WTR::GCController::GCController): Deleted.
(WTR::GCController::~GCController): Deleted.
(WTR::GCController::makeWindowObject): Use setGlobalObjectProperty.
* WebKitTestRunner/InjectedBundle/GCController.h: Updated for the above.
Also marked the class final.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didCreatePage): Use booleanValue.
(WTR::InjectedBundle::didReceiveMessage): Use toWK.
(WTR::InjectedBundle::postPageMessage): Added.
(WTR::InjectedBundle::reportLiveDocuments): Use postPageMessage.
(WTR::InjectedBundle::didReceiveMessageToPage): Use dictionaryValue,
booleanValue, postPageMessage, value, and more to streamline.
(WTR::InjectedBundle::booleanForKey): Deleted.
(WTR::InjectedBundle::stringForKey): Deleted.
(WTR::InjectedBundle::beginTesting): Use booleanValue.
(WTR::InjectedBundle::done): Use stringValue.
(WTR::InjectedBundle::closeOtherPages): Use setValue and toWK.
(WTR::InjectedBundle::dumpToStdErr): Use postPageMessage
(WTR::InjectedBundle::outputText): Use toWK.
(WTR::InjectedBundle::postNewBeforeUnloadReturnValue): Use postPageMessage.
(WTR::InjectedBundle::postAddChromeInputField): Ditto.
(WTR::InjectedBundle::postRemoveChromeInputField): Ditto.
(WTR::InjectedBundle::postFocusWebView): Ditto.
(WTR::InjectedBundle::postSetBackingScaleFactor): Ditto.
(WTR::InjectedBundle::postSetWindowIsKey): Use toWK.
(WTR::InjectedBundle::postSetViewSize): Use setValue and toWK.
(WTR::InjectedBundle::postSimulateWebNotificationClick): Use postPageMessage.
(WTR::InjectedBundle::postSetAddsVisitedLinks): Ditto.
(WTR::InjectedBundle::setGeolocationPermission): Ditto.
(WTR::InjectedBundle::setMockGeolocationPosition): Use setValue and postPageMessage,
and use Optional instead of bool/double pairs.
(WTR::InjectedBundle::setMockGeolocationPositionUnavailableError): Use postPageMessage.
(WTR::InjectedBundle::isGeolocationProviderActive const): Use toWK and booleanValue.
(WTR::InjectedBundle::imageCountInGeneralPasteboard const): Use toWK and uint64Value.
(WTR::InjectedBundle::setUserMediaPermission): Use postPageMessage.
(WTR::InjectedBundle::resetUserMediaPermission): Ditto.
(WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin): Use setValue
and postPageMessage.
(WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin const): Ditto.
(WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin): Uset setValue
and uint64Value.
(WTR::InjectedBundle::setCustomPolicyDelegate): Use setValue and postPageMessage.
(WTR::InjectedBundle::setHidden): Ditto.
(WTR::InjectedBundle::setCacheModel): Ditto.
(WTR::InjectedBundle::shouldProcessWorkQueue const): Use toWK and booleanValue.
(WTR::InjectedBundle::processWorkQueue): Use postPageMessage.
(WTR::InjectedBundle::queueBackNavigation): Ditto.
(WTR::InjectedBundle::queueForwardNavigation): Ditto.
(WTR::InjectedBundle::queueLoad): Use setValue and postPageMessage.
(WTR::InjectedBundle::queueLoadHTMLString): Ditto.
(WTR::InjectedBundle::queueReload): Ditto.
(WTR::InjectedBundle::queueLoadingScript): Ditto.
(WTR::InjectedBundle::queueNonLoadingScript): Ditto.
(WTR::postMessage): Added. Overloads for many types to keep caller code streamlined.
(WTR::postSynchronousMessage): Ditto.
(WTR::postPageMessage): Ditto.
(WTR::postSynchronousPageMessage): Ditto.
* WebKitTestRunner/InjectedBundle/InjectedBundle.h: Updated for the above.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::propertyValue): Deleted. Use functions from JSBasics.h instead.
(WTR::propertyValueDouble): Ditto.
(WTR::propertyValueInt): Ditto.
(WTR::numericWindowProperty): Renamed from numericWindowPropertyValue for brevity
and for consistency with JSBasics.h functions.
(WTR::dumpPath): Use stringProperty, objectProperty, and makeString.
(WTR::rangeToStr): Use auto, numericProperty, and makeString.
(WTR::NavigationTypeToString): Use toWK.
(WTR::string): Renamed from securityOriginToStr. Use makeString.
(WTR::frameToStr): Use auto.
(WTR::InjectedBundlePage::resetAfterTest): Removed unneeded local.
(WTR::dumpFrameDescriptionSuitableForTestResult): Use auto.
(WTR::dumpRequestDescriptionSuitableForTestResult): Ditto.
(WTR::dumpErrorDescriptionSuitableForTestResult): Use auto and toWK.
(WTR::dumpFrameScrollPosition): Update for name change.
(WTR::toJS): Deleted. Use functions from JSBasics.h instead.
(WTR::hasDocumentElement): Use objectProperty.
(WTR::InjectedBundlePage::didClearWindowForFrame): Use setGlobalObjectProperty,
and pass fewer arguments to makeWindowObject.
(WTR::InjectedBundlePage::decidePolicyForNavigationAction): Streamline code a bit.
(WTR::InjectedBundlePage::decidePolicyForResponse): Use makeString.
(WTR::lastFileURLPathComponent): Ditto.
(WTR::InjectedBundlePage::willSetStatusbarText): Ditto.
(WTR::InjectedBundlePage::didReachApplicationCacheOriginQuota): Ditto.
(WTR::InjectedBundlePage::didExceedDatabaseQuota): Ditto.
(WTR::InjectedBundlePage::shouldBeginEditing): Ditto.
(WTR::InjectedBundlePage::shouldEndEditing): Ditto.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::TestRunner): Use toWK.
(WTR::page): Added.
(WTR::mainFrame): Added.
(WTR::mainFrameJSContext): Added.
(WTR::TestRunner::display): Use page.
(WTR::TestRunner::displayAndTrackRepaints): Use page.
(WTR::toWK): Added overload for double.
(WTR::createWKDictionary): Added.
(WTR::postSynchronousMessageWithReturnValue): Added.
(WTR::postSynchronousMessageReturningBoolean): Added.
(WTR::postSynchronousPageMessageWithReturnValue): Added.
(WTR::postSynchronousPageMessageReturningBoolean): Added.
(WTR::postSynchronousPageMessageReturningUInt64): Added.
(WTR::postSynchronousMessageReturningUInt64): Added.
(WTR::overridePreference): Added.
(WTR::TestRunner::shouldDumpPixels const): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::setDumpPixels): Use postSynchronousMessage.
(WTR::TestRunner::whatToDump const): Use postSynchronousMessageReturningUInt64.
(WTR::TestRunner::setWhatToDump): Use postSynchronousMessage.
(WTR::TestRunner::setWaitUntilDone): Use postSynchronousMessage.
(WTR::TestRunner::shouldWaitUntilDone const): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::setShouldDumpFrameLoadCallbacks): Use postSynchronousMessage.
(WTR::TestRunner::shouldDumpFrameLoadCallbacks): Use postSynchronousMessageReturningBoolean.
(WTR::TestRunner::addUserScript): Use page.
(WTR::TestRunner::addUserStyleSheet): Ditto.
(WTR::TestRunner::execCommand): Ditto.
(WTR::findOptionsFromArray): Use mainFrameJSContext, arrayLength, and createJSString.
(WTR::TestRunner::findString): Use page.
(WTR::TestRunner::findStringMatchesInPage): Ditto.
(WTR::TestRunner::replaceFindMatchesAtIndices): Use mainFrameJSContext and arrayLength and
removed unneeded call to std::round.
(WTR::TestRunner::clearAllDatabases): Use postSynchronousMessage.
(WTR::TestRunner::syncLocalStorage): Ditto.
(WTR::TestRunner::clearAllApplicationCaches): Use page.
(WTR::TestRunner::clearApplicationCacheForOrigin): Ditto.
(WTR::TestRunner::setAppCacheMaximumSize): Ditto.
(WTR::TestRunner::applicationCacheDiskUsageForOrigin): Ditto.
(WTR::stringArrayToJS): Tweaked coding style a bit.
(WTR::TestRunner::originsWithApplicationCache): Use page.
(WTR::TestRunner::isCommandEnabled): Ditto.
(WTR::TestRunner::setCanOpenWindows): Use postSynchronousMessage.
(WTR::TestRunner::setXSSAuditorEnabled): Use overridePreference.
(WTR::TestRunner::setMediaDevicesEnabled): Ditto.
(WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): Ditto.
(WTR::TestRunner::setCustomUserAgent): Use postSynchronousMessage.
(WTR::TestRunner::setWebAPIStatisticsEnabled): Use overridePreference.
(WTR::TestRunner::setModernMediaControlsEnabled): Ditto.
(WTR::TestRunner::setWebGL2Enabled): Ditto.
(WTR::TestRunner::setWritableStreamAPIEnabled): Ditto.
(WTR::TestRunner::setTransformStreamAPIEnabled): Ditto.
(WTR::TestRunner::setReadableByteStreamAPIEnabled): Ditto.
(WTR::TestRunner::setEncryptedMediaAPIEnabled): Ditto.
(WTR::TestRunner::setPictureInPictureAPIEnabled): Ditto.
(WTR::TestRunner::setGenericCueAPIEnabled): Ditto.
(WTR::TestRunner::setAllowsAnySSLCertificate): Use postSynchronousPageMessage.
(WTR::TestRunner::setShouldSwapToEphemeralSessionOnNextNavigation): Ditto.
(WTR::TestRunner::setShouldSwapToDefaultSessionOnNextNavigation): Ditto.
(WTR::TestRunner::setPluginsEnabled): Use overridePreference.
(WTR::TestRunner::isPageBoxVisible): Use mainFrame.
(WTR::TestRunner::setValueForUser): Removed local.
(WTR::TestRunner::setAudioResult): Ditto.
(WTR::TestRunner::clearBackForwardList): Use page.
(WTR::TestRunner::makeWindowObject): Use setGlobalObjectProperty.
(WTR::TestRunner::showWebInspector): Use page.
(WTR::TestRunner::closeWebInspector): Ditto.
(WTR::TestRunner::evaluateInWebInspector): Ditto.
(WTR::TestRunner::worldIDForWorld): Use range-based for loop.
(WTR::TestRunner::evaluateScriptInIsolatedWorld): Use mainFrame.
(WTR::TestRunner::setTextDirection): Use mainFrame.
(WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
Use postSynchronousPageMessage.
(WTR::cacheTestRunnerCallback): Changed map to store objects instead of values.
(WTR::callTestRunnerCallback): Simplify since map has objects. Use mainFrameJSContext.
(WTR::TestRunner::clearTestRunnerCallbacks): Ditto.
(WTR::TestRunner::setAlwaysAcceptCookies): Use postSynchronousMessage.
(WTR::TestRunner::setOnlyAcceptFirstPartyCookies): Use auto and toWK.
(WTR::TestRunner::setUserStyleSheetEnabled): Use toWK.
(WTR::TestRunner::setUserStyleSheetLocation): Use page.
(WTR::TestRunner::setTabKeyCyclesThroughElements): Ditto.
(WTR::TestRunner::grantWebNotificationPermission): Ditto.
(WTR::TestRunner::denyWebNotificationPermission): Ditto.
(WTR::TestRunner::removeAllWebNotificationPermissions): Use mainFrameJSContext.
(WTR::TestRunner::simulateWebNotificationClick): Ditto.
(WTR::TestRunner::setMockGeolocationPosition): Use Optional<double> instead of bool/double
pairs, letting the IDL bindings do the work for us.
(WTR::TestRunner::setMockGeolocationPositionUnavailableError): Removed local.
(WTR::TestRunner::isDoingMediaCapture const): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setUserMediaPersistentPermissionForOrigin): Removed locals.
(WTR::TestRunner::userMediaPermissionRequestCountForOrigin const): Ditto.
(WTR::TestRunner::resetUserMediaPermissionRequestCountForOrigin): DItto.
(WTR::TestRunner::callShouldCloseOnWebView): Use mainFrame.
(WTR::TestRunner::queueLoad): Ditto.
(WTR::TestRunner::queueLoadHTMLString): Removed a local.
(WTR::TestRunner::queueLoadingScript): Ditto.
(WTR::TestRunner::queueNonLoadingScript): Ditto.
(WTR::TestRunner::setRejectsProtectionSpaceAndContinueForAuthenticationChallenges):
Use postPageMessage.
(WTR::TestRunner::setHandlesAuthenticationChallenges): Ditto.
(WTR::TestRunner::setShouldLogCanAuthenticateAgainstProtectionSpace): Ditto.
(WTR::TestRunner::setShouldLogDownloadCallbacks): Ditto.
(WTR::TestRunner::setAuthenticationUsername): Ditto.
(WTR::TestRunner::setAuthenticationPassword): Ditto.
(WTR::TestRunner::secureEventInputIsEnabled const): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setBlockAllPlugins): Use postPageMessage.
(WTR::TestRunner::setPluginSupportedMode): Ditto.
(WTR::TestRunner::failNextNewCodeBlock): Use mainFrameJSContext.
(WTR::TestRunner::numberOfDFGCompiles): Ditto.
(WTR::TestRunner::neverInlineFunction): Ditto.
(WTR::TestRunner::setShouldDecideNavigationPolicyAfterDelay): Use postPageMessage.
(WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay): Ditto.
(WTR::TestRunner::setNavigationGesturesEnabled): Ditto.
(WTR::TestRunner::setIgnoresViewportScaleLimits): Ditto.
(WTR::TestRunner::setShouldDownloadUndisplayableMIMETypes): Ditto.
(WTR::TestRunner::setShouldAllowDeviceOrientationAndMotionAccess): Ditto.
(WTR::TestRunner::terminateNetworkProcess): Use postSynchronousPageMessage.
(WTR::TestRunner::terminateServiceWorkers): Ditto.
(WTR::TestRunner::setUseSeparateServiceWorkerProcess): Ditto.
(WTR::TestRunner::runUIScript): Use postPageMessage.
(WTR::TestRunner::runUIScriptImmediately): Ditto.
(WTR::TestRunner::runUIScriptCallback): Use mainFrameJSContext.
(WTR::TestRunner::setAllowedMenuActions): Use mainFrameJSContext, arrayLength,
and postPageMessage.
(WTR::TestRunner::installCustomMenuAction): Use postPageMessage.
(WTR::TestRunner::clearStatisticsDataForDomain): Use postSynchronousMessage.
(WTR::TestRunner::doesStatisticsDomainIDExistInDatabase): Use
postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsEnabled): Use postSynchronousMessage.
(WTR::TestRunner::isStatisticsEphemeral): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsDebugMode): Use postMessage.
(WTR::TestRunner::setStatisticsPrevalentResourceForDebugMode): Ditto.
(WTR::TestRunner::setStatisticsLastSeen): Ditto.
(WTR::TestRunner::setStatisticsMergeStatistic): Ditto.
(WTR::TestRunner::setStatisticsExpiredStatistic): Ditto.
(WTR::TestRunner::setStatisticsPrevalentResource): Ditto.
(WTR::TestRunner::setStatisticsVeryPrevalentResource): Ditto.
(WTR::TestRunner::dumpResourceLoadStatistics): Use postSynchronousPageMessage.
(WTR::TestRunner::isStatisticsPrevalentResource): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::isStatisticsVeryPrevalentResource): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder): Ditto.
(WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo): Ditto.
(WTR::TestRunner::setStatisticsHasHadUserInteraction): Use postMessage.
(WTR::TestRunner::isStatisticsHasHadUserInteraction): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::isStatisticsOnlyInDatabaseOnce): Ditto.
(WTR::TestRunner::setStatisticsGrandfathered): Use postSynchronousMessage.
(WTR::TestRunner::setUseITPDatabase): Ditto.
(WTR::TestRunner::isStatisticsGrandfathered): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin): Use postSynchronousMessage.
(WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin): Ditto.
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo): Ditto.
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectFrom): Ditto.
(WTR::TestRunner::setStatisticsTopFrameUniqueRedirectTo): Ditto.
(WTR::TestRunner::setStatisticsTopFrameUniqueRedirectFrom): Ditto.
(WTR::TestRunner::setStatisticsCrossSiteLoadWithLinkDecoration): Ditto.
(WTR::TestRunner::setStatisticsTimeToLiveUserInteraction): Ditto.
(WTR::TestRunner::statisticsDidRunTelemetryCallback): Use mainFrameJSContext.
(WTR::TestRunner::statisticsProcessStatisticsAndDataRecords): Use postSynchronousMessage.
(WTR::TestRunner::statisticsUpdateCookieBlocking): Use postMessage.
(WTR::TestRunner::statisticsSubmitTelemetry): Use postSynchronousMessage.
(WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned): Ditto.
(WTR::TestRunner::setStatisticsIsRunningTest): Ditto.
(WTR::TestRunner::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval): Ditto.
(WTR::TestRunner::setStatisticsMinimumTimeBetweenDataRecordsRemoval): Ditto.
(WTR::TestRunner::setStatisticsGrandfatheringTime): Ditto.
(WTR::TestRunner::setStatisticsMaxStatisticsEntries): Ditto.
(WTR::TestRunner::setStatisticsPruneEntriesDownTo): Ditto.
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStore): Use postMessage.
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Ditto.
(WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval): Ditto.
(WTR::TestRunner::statisticsDeleteCookiesForHost): Use postSynchronousMessage.
(WTR::TestRunner::isStatisticsHasLocalStorage): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsCacheMaxAgeCap): Use postSynchronousMessage.
(WTR::TestRunner::hasStatisticsIsolatedSession): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::setStatisticsShouldDowngradeReferrer): Use postMessage.
(WTR::TestRunner::setStatisticsShouldBlockThirdPartyCookies): Ditto.
(WTR::TestRunner::setStatisticsFirstPartyWebsiteDataRemovalMode): Ditto.
(WTR::TestRunner::statisticsSetToSameSiteStrictCookies): Ditto.
(WTR::TestRunner::statisticsSetFirstPartyHostCNAMEDomain): Ditto.
(WTR::TestRunner::statisticsSetThirdPartyCNAMEDomain): Ditto.
(WTR::TestRunner::statisticsResetToConsistentState): Ditto.
(WTR::TestRunner::getAllStorageAccessEntries): Ditto.
(WTR::makeDomainsValue): Factored out. Use mainFrameJSContext.
(WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback): Use makeDomainsValue.
(WTR::TestRunner::loadedSubresourceDomains): Use postMessage.
(WTR::TestRunner::callDidReceiveLoadedSubresourceDomainsCallback): Use makeDomainsValue.
(WTR::TestRunner::addMockMediaDevice): Use postSynchronousMessage.
(WTR::TestRunner::clearMockMediaDevices): Ditto.
(WTR::TestRunner::removeMockMediaDevice): Ditto.
(WTR::TestRunner::resetMockMediaDevices): Ditto.
(WTR::TestRunner::setMockCameraOrientation): Ditto.
(WTR::TestRunner::isMockRealtimeMediaSourceCenterEnabled): Use
postSynchronousMessageReturningBoolean.
(WTR::TestRunner::connectMockGamepad): Use postSynchronousMessage.
(WTR::TestRunner::disconnectMockGamepad): Ditto.
(WTR::TestRunner::setMockGamepadDetails): Ditto.
(WTR::TestRunner::setMockGamepadAxisValue): Ditto.
(WTR::TestRunner::setMockGamepadButtonValue): Ditto.
(WTR::TestRunner::setOpenPanelFiles): Use mainFrameJSContext, arrayLength, createJSString,
and postPageMessage.
(WTR::TestRunner::setOpenPanelFilesMediaIcon): Use mainFrameJSContext and postPageMessage.
(WTR::TestRunner::removeAllSessionCredentials): Use postMessage.
(WTR::TestRunner::clearDOMCache): Use postSynchronousMessage.
(WTR::TestRunner::clearDOMCaches): Ditto.
(WTR::TestRunner::hasDOMCache): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::domCacheSize): Use postSynchronousPageMessageReturningUInt64.
(WTR::TestRunner::setAllowStorageQuotaIncrease): Use postSynchronousPageMessage.
(WTR::TestRunner::getApplicationManifestThen): Use postMessage.
(WTR::TestRunner::injectUserScript): Use postSynchronousMessage.
(WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting): Ditto.
(WTR::TestRunner::setServiceWorkerFetchTimeout): Ditto.
(WTR::TestRunner::addTestKeyToKeychain): Ditto.
(WTR::TestRunner::cleanUpKeychain): Ditto.
(WTR::TestRunner::keyExistsInKeychain): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::serverTrustEvaluationCallbackCallsCount): Use
postSynchronousMessageReturningUInt64.
(WTR::TestRunner::setShouldDismissJavaScriptAlertsAsynchronously): Use
postSynchronousMessage.
(WTR::TestRunner::abortModal): Ditto.
(WTR::TestRunner::dumpAdClickAttribution): Use postSynchronousPageMessage.
(WTR::TestRunner::clearAdClickAttribution): Ditto.
(WTR::TestRunner::clearAdClickAttributionsThroughWebsiteDataRemoval): Ditto.
(WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting): Ditto.
(WTR::TestRunner::setAdClickAttributionConversionURLForTesting): Ditto.
(WTR::TestRunner::markAdClickAttributionsAsExpiredForTesting): Ditto.
(WTR::TestRunner::setOffscreenCanvasEnabled): Use overridePreference.
(WTR::TestRunner::hasAppBoundSession): Use postSynchronousPageMessageReturningBoolean.
(WTR::TestRunner::clearAppBoundSession): Use postSynchronousMessage.
(WTR::TestRunner::setAppBoundDomains): Use mainFrameJSContext, arrayLength, createJSString,
and toWK.
(WTR::TestRunner::postMessage): Added.
* WebKitTestRunner/InjectedBundle/TestRunner.h: Updated for the above. Also changed
overridePreference ot a static member function.
* WebKitTestRunner/InjectedBundle/TextInputController.cpp:
(WTR::TextInputController::TextInputController): Deleted.
(WTR::TextInputController::~TextInputController): Deleted.
(WTR::TextInputController::makeWindowObject): Use setGlobalObjectProperty.
(WTR::arrayLength): Deleted. Use the one from JSBasics.h now.
(WTR::createCompositionHighlightData): Use setValue.
* WebKitTestRunner/InjectedBundle/TextInputController.h: Updated for the above.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
(WTR::AccessibilityController::platformName): Use createJSString.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::createEmptyJSString): Deleted. Use createJSString from JSBasics.h now.
(WTR::AccessibilityUIElement::attributesOfLinkedUIElements): Use createJSString.
(WTR::AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
(WTR::AccessibilityUIElement::allAttributes): Ditto.
(WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): Ditto.
(WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
(WTR::AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(WTR::AccessibilityUIElement::role): Ditto.
(WTR::AccessibilityUIElement::subrole): Ditto.
(WTR::AccessibilityUIElement::computedRoleString): Ditto.
(WTR::AccessibilityUIElement::title): Ditto.
(WTR::AccessibilityUIElement::orientation const): Ditto.
(WTR::AccessibilityUIElement::language): Ditto.
(WTR::AccessibilityUIElement::valueDescription): Ditto.
(WTR::AccessibilityUIElement::isFocused const): Ditto.
(WTR::AccessibilityUIElement::isSelectedOptionActive const): Ditto.
(WTR::AccessibilityUIElement::isIndeterminate const): Ditto.
(WTR::AccessibilityUIElement::ariaDropEffects const): Ditto.
(WTR::AccessibilityUIElement::boundsForRange): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
(WTR::AccessibilityUIElement::attributesOfRows): Ditto.
(WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(WTR::AccessibilityUIElement::attributesOfHeader): Ditto.
(WTR::AccessibilityUIElement::clearSelectedChildren const): Ditto.
(WTR::AccessibilityUIElement::accessibilityValue const): Ditto.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
(WTR::AccessibilityUIElement::isSelectable const): Ditto.
(WTR::AccessibilityUIElement::isMultiSelectable const): Ditto.
(WTR::AccessibilityUIElement::isVisible const): Ditto.
(WTR::AccessibilityUIElement::isOffScreen const): Ditto.
(WTR::AccessibilityUIElement::isCollapsed const): Ditto.
(WTR::AccessibilityUIElement::isSingleLine const): Ditto.
(WTR::AccessibilityUIElement::isMultiLine const): Ditto.
(WTR::AccessibilityUIElement::takeFocus): Ditto.
(WTR::AccessibilityUIElement::takeSelection): Ditto.
(WTR::AccessibilityUIElement::addSelection): Ditto.
(WTR::AccessibilityUIElement::removeSelection): Ditto.
(WTR::AccessibilityUIElement::stringForTextMarkerRange): Ditto.
* WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:
(WTR::EventSenderProxy::EventSenderProxy): Initialize in the class definition.
(WTR::EventSenderProxy::~EventSenderProxy): Deleted.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::makeJSArray): Return a JSObjectRef. Renamed from makeArrayRefForArray.
(WTR::makeJSObject): Return a JSObjectRef. Renamed from makeObjectRefForDictionary.
(WTR::makeValueRefForValue): Updated for the above.
(WTR::searchPredicateParameterizedAttributeForSearchCriteria): Use toWTFString
and arrayLength.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::platformName): Use createJSString.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::createEmptyJSString): Deleted. Use createJSString from JSBasics.h instead.
(WTR::convertVectorToObjectArray): Deleted.
(WTR::makeJSArray): Renamed from convertVectorToObjectArray.
(WTR::selectTextParameterizedAttributeForCriteria): Use toWTFString and arrayLength.
(WTR::searchTextParameterizedAttributeForCriteria): Ditto.
(WTR::AccessibilityUIElement::rowHeaders const): Use makeJSArray.
(WTR::AccessibilityUIElement::columnHeaders const): Ditto.
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue const): Ditto.
(WTR::AccessibilityUIElement::searchTextWithCriteria): Ditto.
(WTR::AccessibilityUIElement::accessibilityValue const): Use createJSString.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::inspectorTestStubURL): Remove locals.
* WebKitTestRunner/StringFunctions.h: Added toWKString overload that converts from
a JSValueRef, JSStringRef, or JSRetainPtr<JSStringRef> and toWK overload that converts
from a const char*.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Use toWK.
(WTR::TestController::generateContextConfiguration const): Ditto.
(WTR::TestController::resetPreferencesToConsistentValues): Ditto.
(WTR::TestController::resetStateToConsistentValues): Use setValue.
(WTR::TestController::updateLiveDocumentsAfterTest): Ditto.
(WTR::TestController::checkForWorldLeaks): Use toWK.
(WTR::contentExtensionJSONPath): Use toSTD.
(WTR::TestController::configureContentExtensionForTest): Use toWK.
(WTR::TestController::didReceiveKeyDownMessageFromInjectedBundle): Use stringValue
and uint64Value.
(WTR::TestController::didReceiveLiveDocumentsList): Use dictionaryValue and
uint64Value.
(WTR::TestController::didReceiveMessageFromInjectedBundle): Use dictionaryValue,
stringValue, uint64Value, doubleValue, booleanValue.
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Ditto.
(WTR::TestController::setBlockAllPlugins): Use toWK.
(WTR::TestController::setPluginSupportedMode): Ditto.
(WTR::TestController::canAuthenticateAgainstProtectionSpace): Use auto.
(WTR::TestController::didFinishNavigation): Removed local.
(WTR::TestController::didReceiveAuthenticationChallenge): Use auto and toWTFString
instead of toSTD.
(WTR::TestController::setMockGeolocationPosition): Use Optional instead of pairs
of bool and double.
(WTR::TestController::handleCheckOfUserMediaPermissionForOrigin): Use toWK.
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible): Ditto.
(WTR::TestController::updateBundleIdentifierInNetworkProcess): Use toWK.
* WebKitTestRunner/TestController.h: Updated for the above.
* WebKitTestRunner/TestInvocation.cpp:
(WTR::postPageMessage): Added.
(WTR::TestInvocation::TestIncovation): Use toWTFString.
(WTR::TestInvocation::createTestSettingsDictionary): Use auto and setValue.
(WTR::TestInvocation::invoke): Use postPageMessage and setValue.
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Use postPageMessage
and stringValue.
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): Use
dictionaryValue, booleanValue, value, stringValue, doubleValue, and
optionalDoubleValue.
(WTR::TestInvocation::uiScriptDidComplete): Use postPageMessage and setValue.
(WTR::TestInvocation::didBeginSwipe): Use postPageMessage.
(WTR::TestInvocation::willEndSwipe): Ditto.
(WTR::TestInvocation::didEndSwipe): Ditto.
(WTR::TestInvocation::didRemoveSwipeSnapshot): Ditto.
(WTR::TestInvocation::notifyDownloadDone): Ditto.
(WTR::TestInvocation::didClearStatisticsInMemoryAndPersistentStore): Ditto.
(WTR::TestInvocation::didClearStatisticsThroughWebsiteDataRemoval): Ditto.
(WTR::TestInvocation::didSetShouldDowngradeReferrer): Ditto.
(WTR::TestInvocation::didSetShouldBlockThirdPartyCookies): Ditto.
(WTR::TestInvocation::didSetFirstPartyWebsiteDataRemovalMode): Ditto.
(WTR::TestInvocation::didSetToSameSiteStrictCookies): Ditto.
(WTR::TestInvocation::didSetFirstPartyHostCNAMEDomain): Ditto.
(WTR::TestInvocation::didSetThirdPartyCNAMEDomain): Ditto.
(WTR::TestInvocation::didResetStatisticsToConsistentState): Ditto.
(WTR::TestInvocation::didSetBlockCookiesForHost): Ditto.
(WTR::TestInvocation::didSetStatisticsDebugMode): Ditto.
(WTR::TestInvocation::didSetPrevalentResourceForDebugMode): Ditto.
(WTR::TestInvocation::didSetLastSeen): Ditto.
(WTR::TestInvocation::didMergeStatistic): Ditto.
(WTR::TestInvocation::didSetExpiredStatistic): Ditto.
(WTR::TestInvocation::didSetPrevalentResource): Ditto.
(WTR::TestInvocation::didSetVeryPrevalentResource): Ditto.
(WTR::TestInvocation::didSetHasHadUserInteraction): Ditto.
(WTR::TestInvocation::didReceiveAllStorageAccessEntries): Ditto.
(WTR::TestInvocation::didReceiveLoadedSubresourceDomains): Ditto.
(WTR::TestInvocation::didRemoveAllSessionCredentials): Ditto.
(WTR::TestInvocation::didSetAppBoundDomains): Ditto.
(WTR::TestInvocation::performCustomMenuAction): Ditto.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
Added JSBasics.h to DictionaryFunctions.h to appropriate targets.
* WebKitTestRunner/WorkQueueManager.cpp:
(WTR::ScriptItem::ScriptItem): Use toWK.
(WTR::WorkQueueManager::queueLoadHTMLString): Ditto.
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h: Make most functions private.
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::overridePreference): Use toWTFString.
* WebKitTestRunner/ios/UIScriptControllerIOS.h: Marked the class final and made
most functions private.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::arrayLength): Deleted. Use the one in JSBasics.h.
(WTR::parseModifierArray): Use the new toWTFString overload.
(WTR::UIScriptControllerIOS::typeCharacterUsingHardwareKeyboard): Ditto.
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::EventSenderProxy): Initialize in the class definition.
(WTR::EventSenderProxy::keyDown): Use toWTFString.
* WebKitTestRunner/mac/UIScriptControllerMac.h: Marked the class final and made
most functions private.
2020-09-27 Darin Adler <darin@apple.com>
Refactor test runner code to cut down on copy/paste code and long-winded repetitive idioms
https://bugs.webkit.org/show_bug.cgi?id=217028
Reviewed by Sam Weinig.
2020-09-29 Jonathan Bedard <jbedard@apple.com>
[tvOS] [watchOS] Add support in libTestWTFAlwaysMissing-iOS-v2.tbd
https://bugs.webkit.org/show_bug.cgi?id=217068
<rdar://problem/69724742>
Rubber-stamped by Aakash Jain.
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd: Add watchOS and tvOS.
2020-09-29 Ryan Haddad <ryanhaddad@apple.com>
URL for Apple-iOS-14-Simulator-Debug-WK2-Tests is broken on the dashboard
https://bugs.webkit.org/show_bug.cgi?id=217094
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Remove a space in the queue name.
2020-09-29 Sihui Liu <sihui_liu@apple.com>
IndexedDB Index Corruption after upgrade from iOS 13 to iOS 14
https://bugs.webkit.org/show_bug.cgi?id=216962
<rdar://problem/69587004>
Reviewed by Brady Eidson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(runMultipleIndicesTestWithDatabase):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2WithMultipleIndices.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/IndexUpgradeWithMultipleIndices.sqlite3: Added.
* TestWebKitAPI/Tests/WebKitCocoa/IndexUpgradeWithMultipleIndicesHaveSameID.sqlite3: Added.
2020-09-29 Alex Christensen <achristensen@webkit.org>
Remove plist-based ResourceLoadStatistics storage, which has been replaced by database-based storage
https://bugs.webkit.org/show_bug.cgi?id=217063
Reviewed by John Wilander.
These three tests API tests have been removed:
ResourceLoadStatistics.ChildProcessesNotLaunched
ResourceLoadStatistics.GrandfatherCallback
ResourceLoadStatistics.ShouldNotGrandfatherOnStartup
Each of those tests has a corresponding test that ends with "Database" that tests the database backend,
so the only test coverage loss was of the code that was removed.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(ensureITPFileIsCreated):
(TEST):
(isITPDatabaseEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUseITPDatabase): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setUseITPDatabase): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-09-29 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Restrict incoming traffic to localhost
https://bugs.webkit.org/show_bug.cgi?id=217089
<rdar://problem/69749845>
Reviewed by Aakash Jain.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/docker-compose.yml: Restrict incoming traffic to localhost.
2020-09-29 Aakash Jain <aakash_jain@apple.com>
Limit number of tests to log in case of large number of JSC test failures
https://bugs.webkit.org/show_bug.cgi?id=217085
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start):
2020-09-29 Aakash Jain <aakash_jain@apple.com>
[ews] Refactor NUM_API_FAILURES_TO_DISPLAY
https://bugs.webkit.org/show_bug.cgi?id=217086
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults):
(AnalyzeAPITestsResults.analyzeResults):
2020-09-29 Aakash Jain <aakash_jain@apple.com>
Limit maximum number of webkitpy failures to display
https://bugs.webkit.org/show_bug.cgi?id=217087
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(WebKitPyTest):
(WebKitPyTest.getResultSummary):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(test_lot_of_failures): Added unit-tests.
2020-09-29 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Add unit-test to detect invalid triggers in config.json
https://bugs.webkit.org/show_bug.cgi?id=216898
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/loadConfig_unittest.py: Added.
(ConfigDotJSONTest):
(ConfigDotJSONTest.get_config):
(ConfigDotJSONTest.test_builder_keys):
(ConfigDotJSONTest.test_multiple_scheduers_for_builder):
(ConfigDotJSONTest.test_schduler_contains_valid_builder_name):
(ConfigDotJSONTest.test_single_builder_for_triggerable_scheduler):
2020-09-28 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's auto installer for pycodestyle (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=215427
<rdar://problem/66931291>
Unreviewed follow-up fix.
Conflict resolution at some point broke the original change.
* Scripts/webkitpy/style/checkers/python.py: Import directly from pycodestyle.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_pycodestyle): Deleted.
2020-09-28 Mark Lam <mark.lam@apple.com>
Add Bounds Check Elimination validation for debugging.
https://bugs.webkit.org/show_bug.cgi?id=217055
rdar://69122891
Reviewed by Keith Miller.
Added --validateBCE=true to ftl-no-cjit-validate-sampling-profiler
and ftl-eager-no-cjit.
* Scripts/run-jsc-stress-tests:
2020-09-28 Matt Lewis <jlewis3@apple.com>
Fix Build triggers for iOS, watchOS, and tvOS
https://bugs.webkit.org/show_bug.cgi?id=217057
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):
2020-09-28 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's auto installer for pycodestyle
https://bugs.webkit.org/show_bug.cgi?id=215427
<rdar://problem/66931291>
Reviewed by Darin Adler.
* Scripts/webkitpy/__init__.py: Add pycodestyle.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove pycodestyle.
2020-09-28 Devin Rousso <drousso@apple.com>
[iOS] unable to airplay directly loaded fullscreen video
https://bugs.webkit.org/show_bug.cgi?id=216858
<rdar://problem/68746321>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/MediaDocument.mm: Added.
(MediaDocument.WirelessPlaybackEnabled):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2020-09-28 Aakash Jain <aakash_jain@apple.com>
Notify igalia team about pre-existing test failures and build failures for WPE and GTK queues
https://bugs.webkit.org/show_bug.cgi?id=217052
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/send_email.py:
(send_email_to_bot_watchers): Moved the logic here to determine whether to email igalia folks.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Passed builder_name parameter.
(AnalyzeJSCTestsResults.send_email_for_flaky_failure):
(AnalyzeJSCTestsResults.send_email_for_pre_existing_failure):
(ReRunWebKitTests.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure):
(AnalyzeAPITestsResults.send_email_for_flaky_failure):
(AnalyzeAPITestsResults.send_email_for_pre_existing_failure):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeJSCTestsResults.configureStep): Drive-by fix to improve unit-test.
* BuildSlaveSupport/ews-build/emails.json: Added IGALIA_GTK_WPE_EMAILS. Renamed BOT_WATCHERS_EMAILS to APPLE_BOT_WATCHERS_EMAILS.
* BuildSlaveSupport/ews-build/email_unittest.py: Updated unit-test.
2020-09-28 Matt Lewis <jlewis3@apple.com>
Unreviewed dashboard fix.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
2020-09-27 Darin Adler <darin@apple.com>
Remove run-webkit-tests code that strips trailing spaces when comparing expected.txt files
https://bugs.webkit.org/show_bug.cgi?id=217041
Reviewed by Sam Weinig.
* Scripts/webkitpy/port/base.py:
(Port.do_text_results_differ): Removed code to strip the expected text before comparing.
2020-09-25 Darin Adler <darin@apple.com>
Change dumpAsText to strip trailing spaces
https://bugs.webkit.org/show_bug.cgi?id=216944
Reviewed by Alan Bujtas.
* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpFramesAsText): Strip trailing spaces.
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:]):
Don't add trailing space.
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:addMessageToConsole:withSource:]): Ditto.
(addLeadingSpaceStripTrailingSpaces): Added.
(stripTrailingSpaces): Added.
(-[UIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]): Don't add trailing space.
(-[UIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:]): Ditto.
(-[UIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]): Ditto.
(-[UIDelegate webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:]): Ditto.
(-[UIDelegate webView:setStatusText:]): Ditto.
* DumpRenderTree/win/DumpRenderTree.cpp:
(dumpFramesAsText): Strip trailing spaces.
* DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::willPerformClientRedirectToURL): Don't add trailing space.
* DumpRenderTree/win/UIDelegate.cpp:
(toMessage): Changed to return std::wstring.
(stripTrailingSpaces): Added.
(addLeadingSpaceStripTrailingSpaces): Added.
(UIDelegate::runJavaScriptAlertPanelWithMessage): Don't add trailing space.
(UIDelegate::runJavaScriptConfirmPanelWithMessage): Ditto.
(UIDelegate::runJavaScriptTextInputPanelWithPrompt): Ditto.
(UIDelegate::runBeforeUnloadConfirmPanelWithMessage): Ditto.
(UIDelegate::webViewAddMessageToConsole): Ditto.
(UIDelegate::setStatusText): Ditto.
* Scripts/webkitpy/port/base.py:
(Port.do_text_results_differ): Strip trailing spaces from expected text.
Plan is to remove this after stripping the actual expected.txt files.
* Scripts/webkitpy/port/win.py:
(WinPort.do_text_results_differ): Call through to base.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::dumpFrameText): Strip trailing spaces.
(WTR::InjectedBundlePage::willPerformClientRedirectForFrame): Don't add trailing space.
(WTR::InjectedBundlePage::decidePolicyForNavigationAction): Ditto.
(WTR::stripTrailingSpaces): Added.
(WTR::addLeadingSpaceStripTrailingSpaces): Added.
(WTR::InjectedBundlePage::willAddMessageToConsole): Don't add trailing space.
(WTR::InjectedBundlePage::willRunJavaScriptAlert): Ditto.
(WTR::InjectedBundlePage::willRunJavaScriptConfirm): Ditto.
(WTR::InjectedBundlePage::willRunJavaScriptPrompt): Ditto.
2020-09-25 Alex Christensen <achristensen@webkit.org>
Unreviewed, reverting r267608.
Caused API test failures
Reverted changeset:
"Move NetworkProcessProxy ownership from WebProcessPool to
WebsiteDataStore"
https://bugs.webkit.org/show_bug.cgi?id=216041
https://trac.webkit.org/changeset/267608
2020-09-25 Alex Christensen <achristensen@webkit.org>
Move NetworkProcessProxy ownership from WebProcessPool to WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=216041
Reviewed by Brady Eidson.
Most changes to tests are just calling a function on the WKWebsiteDataStore instead of the WKProcessPool
because we want to do something with the network process and it has a new owner.
Exceptions are noted inline.
* TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TestWebKitAPI::downloadAtRate):
* TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IDBObjectStoreInfoUpgradeToV2.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
(checkRecoveryAfterCrash):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
This test was making a WKWebsiteDataStore, getting its resource load statistics directory,
putting things in that directory, then starting the network process and making sure everything
works when initializing the network process. Now, network process initialization happens when a
WKWebsiteDataStore is instantiated, so we need to put things there before instantiating a WKWebsiteDataStore.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Before this change, each WKProcessPool had its own network process, which holds the service worker registry
for the WebsiteDataStores used with that process pool. Now, the network process still needs to have a service
worker registry in it, but when we receive a message from it looking for a web process to run the service
worker, we go arbitrarily to the first process pool that has a process we can use. This logic is in
WebProcessPool::establishWorkerContextConnectionToNetworkProcess. Because we use the first process pool each
time, setting the custom user agent to two different things in two different process pools causes only one
to be used. This is not a problem in practice, though, because the only application that uses the SPI to
set a service worker's custom user agent is Safari, which only has one process pool. This test still verifies
that a user ageint is correctly sent.
Similarly, the tests that count service worker processes either have different results or need to be run with
one process pool per parent process. To keep the results the same, I separated the tests into different
TEST(ServiceWorkers, ...) macros which are run in separate parent processes.
The test RestoreFromDiskNonDefaultStore needs to use the same data store for both WKWebViews now because otherwise
there was a race condition in the startup of a new network process that wasn't there before because we were using the
same process pool and therefore the same network process. I added spinning the run loop and sleeping to be able to
reproduce the race condition failure and I use the same WKWebsiteDataStore to use the same network process, which was
the intent of using the same WKProcessPool before. The test still tests that the registration is re-used when we are
not using the default data store.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(-[CheckSessionCookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[CheckSessionCookieUIDelegate waitForMessage]):
(-[CheckSessionCookieUIDelegate alertCookieHTML]):
(TEST):
This is the whole point of me doing this.
I took a test that was flaky only on iOS (because of different NSHTTPCookieStorage syncing behavior) and made
it flaky nowhere (fingers crossed!) and added a test that correctly handles session cookies like we could not
before this change.
I also re-used some test infrastructure and made it stop using process-global static variables for test state.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
(TEST):
* TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsTest.mm:
(-[CloseWhileStartingProtocol startLoading]):
(TestWebKitAPI::runTest):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::findAndDumpWebKitProcessIdentifiers):
(WTR::TestController::networkProcessDidCrash):
(WTR::TestController::terminateNetworkProcess):
(WTR::TestController::platformAdjustContext):
WKContextSetAllowsAnySSLCertificateForServiceWorkerTesting is not needed, so I removed it.
WKContextSetPrimaryWebsiteDataStore isn't needed any more because WKContextRef (WebProcessPool) doesn't
own a network process any more, so it doesn't care which is the default WebsiteDataStore.
In fact, the "default" WebsiteDataStore isn't really important in the network process any more.
2020-09-25 Matt Lewis <jlewis3@apple.com>
Unreviewed dashboard fix.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS14Device.png: Removed.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS14Device@2x.png: Removed.
2020-09-25 Antoine Quint <graouts@webkit.org>
Add an experimental feature flag for CSS individual transform properties
https://bugs.webkit.org/show_bug.cgi?id=216271
<rdar://problem/68914539>
Reviewed by Dean Jackson.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
2020-09-25 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r267516): `--use-gpu-process` no longer enables GPU process when running layout tests
https://bugs.webkit.org/show_bug.cgi?id=216980
Reviewed by Tim Horton.
Rename `UseGPUProcessForMedia` and `RenderCanvasInGPUProcessEnabled`, and additionally enable a few internal
feature flags: `UseGPUProcessForWebGLEnabled`, `UseGPUProcessForDOMRenderingEnabled`, and
`CaptureVideoInGPUProcessEnabled`.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
2020-09-25 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Use s3 for cold storage
https://bugs.webkit.org/show_bug.cgi?id=216662
<rdar://problem/69092010>
Rubber-stamped by Aakash Jain.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py:
* Scripts/libraries/resultsdbpy/resultsdbpy/model/archive_context.py:
(ArchiveContext.__init__): Differentiate between cache storage and long-term storage of archives.
(ArchiveContext.__enter__): Connect to the cold storage archive, if one is available.
(ArchiveContext.__exit__): Disconnect from the cold storage archive, if applicable.
(ArchiveContext.register): Save to cold storage instead of cache storage by default.
(ArchiveContext.find_archive):
* Scripts/libraries/resultsdbpy/resultsdbpy/model/model.py:
(Model.__init__): Pass S3 credentials to ArchiveContext.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/s3_archiver.py: Added.
(S3Archiver):
(S3Archiver.Credentials):
(S3Archiver.__init__): Connect to S3 and configure our bucket.
(S3Archiver._cipher): Construct new AES cipher, if a key was provided.
(S3Archiver.__enter__): Create S3 resource, if one is not available.
(S3Archiver.__exit__): Teardown S3 resource.
(S3Archiver.save): Save an archive to S3 by it's hash.
(S3Archiver.retrieve): Retreive an archive from S3 by its hash.
* Scripts/libraries/resultsdbpy/setup.py: Add boto3.
2020-09-25 Youenn Fablet <youenn@apple.com>
Implement default behavior for getUserMedia requests in case where there is no delegate set
https://bugs.webkit.org/show_bug.cgi?id=216968
Reviewed by Eric Carlson.
Add camera and microphone entitlements to MobileMiniBrowser.
Expose mediaDevices to web pages and use mock devices.
* MobileMiniBrowser/MobileMiniBrowser/Info.plist:
* MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m:
(-[WebViewController createWebView]):
2020-09-25 Lauro Moura <lmoura@igalia.com>
[webkitperl] Check for custom Flatpak user dirs in webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=216959
Reviewed by Philippe Normand.
* Scripts/webkitdirs.pm: Check for WEBKIT_FLATPAK_USER_DIR
(getUserFlatpakPath):
2020-09-25 Youenn Fablet <youenn@apple.com>
Introduce WKWebViewConfiguration mediaCaptureEnabled
https://bugs.webkit.org/show_bug.cgi?id=216872
Reviewed by Alex Christensen.
Make use of new configuration boolean instead of mediaDevicesEnabled WebPreferences API.
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate defaultConfiguration]):
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
(TestWebKitAPI::GetDisplayMediaTest::SetUp):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaDisabled.mm:
(MediaCaptureDisabledTest::SetUp):
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
(MediaCaptureSimulateFailedSandbox::SetUp):
2020-09-24 Kate Cheney <katherine_cheney@apple.com>
InAppBrowserPrivacy HTTPCookie tests incorrectly use the IsInAppBrowserPrivacyEnabled NSUserDefaults value
https://bugs.webkit.org/show_bug.cgi?id=216896
<rdar://problem/69456713>
Reviewed by Brady Eidson.
The IsInAppBrowserPrivacyEnabled UserDefaults value no longer enables
App-Bound Domains, so the tests should not use it in this way.
Changing the bundle identifier using
cleanUpInAppBrowserPrivacyTestSettings() and
initializeInAppBrowserPrivacyTestSettings() is enough to
enable/disable App-Bound Domains.
This patch also adds a WKHTTPCookieStoreObserver to test setting
app-bound cookies. This ensures we don't get a false positive from
the test by being allowed to set but not retrieve app-bound cookies.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[InAppBrowserPrivacyCookieObserver cookiesDidChangeInCookieStore:]):
(setUpCookieTestWithWebsiteDataStore):
(TEST):
(setUpCookieTest): Deleted.
Changed name and simplified.
2020-09-24 Jonathan Bedard <jbedard@apple.com>
[results.webkit.org] Drop old archive chunks
https://bugs.webkit.org/show_bug.cgi?id=216936
<rdar://problem/69513686>
Unreviewed emergency infrastructure change.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Increment package version.
* Scripts/libraries/resultsdbpy/resultsdbpy/model/cassandra_archiver.py:
(CassandraArchiver.ArchiveChunks): Changer archive chunk table.
2020-09-24 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Move proxy settings from WebKitContext to WebKitWebsiteDataManager
https://bugs.webkit.org/show_bug.cgi?id=216927
Reviewed by Alex Christensen.
Use the new API in tests.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextProxySettings):
2020-09-24 Sergio Villar Senin <svillar@igalia.com>
[JHBUILD] Port jhbuild-wrapper to python3
https://bugs.webkit.org/show_bug.cgi?id=216916
Reviewed by Adrian Perez de Castro.
Python2 is at its EOL, distributions are starting to remove it and python3 should be used by default now. Migrated
jhbuild wrapper code to python3 (while keeping backwards compatibility with python2 just in case).
* jhbuild/jhbuild-wrapper:
(ensure_jhbuild): Replace has_key() by the more pythonic construction with 'in'.
2020-09-24 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r267502): [GTK][WPE] ephemeral WebKitWebsiteDataManager ignores TLS errors by default
https://bugs.webkit.org/show_bug.cgi?id=216919
Reviewed by Adrian Perez de Castro.
Add a test case to check we propagate the setting to the network process for ephemeral sessions too.
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(EphemeralSSLTest::setup):
(EphemeralSSLTest::teardown):
(testTLSErrorsEphemeral):
(beforeAll):
2020-09-23 Antti Koivisto <antti@apple.com>
[Windows] Ignore render tree dump based results on Windows
https://bugs.webkit.org/show_bug.cgi?id=209897
Reviewed by Darin Adler.
Render tree dumps are port specific and so difficult to maintain. They are mostly very old and
have been superseded by more modern ref and text dump tests. They rarely reveal any port specific bugs.
This patch adds --ignore-render-tree-dump-results option to run-webkit-tests and enables it by
default on Apple Windows port.
With the option set the render tree dump tests are still run (so crashes are detected) but their
output is treated as if it always passed. Missing results are not written to disk.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_text):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
(_set_up_derived_options):
2020-09-23 Matt Lewis <jlewis3@apple.com>
Unreviewed config fix.
* BuildSlaveSupport/build.webkit.org-config/config.json: Fixing random unicode character.
2020-09-23 Matt Lewis <jlewis3@apple.com>
Update iOS, watchOS and tvOS builders and tester with new SDKs
https://bugs.webkit.org/show_bug.cgi?id=216658
Reviewed by Jonathan Bedard.
Bumped the versions on iOS, tvOS, and watchOS in config, dashboard and main CSS. Also, added the updated
images for the queues.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS14Device.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS14Device@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS14Simulator.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS14Simulator@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS14.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS14@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS14Simulator.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS14Simulator@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOS7.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOS7@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOSSimulator7.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOSSimulator7@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(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.ios-simulator-13 img.logo): Deleted.
(table.queue-grid tr.platform.ios-13 img.logo): Deleted.
(table.queue-grid tr.platform.tvos-simulator-13 img.logo): Deleted.
(table.queue-grid tr.platform.tvos-13 img.logo): Deleted.
(table.queue-grid tr.platform.watchos-simulator-6 img.logo): Deleted.
(table.queue-grid tr.platform.watchos-6 img.logo): Deleted.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2020-09-23 Jonathan Bedard <jbedard@apple.com>
webkitpy: Make sw_vers the source of truth for the MacOS version
https://bugs.webkit.org/show_bug.cgi?id=216903
<rdar://problem/69462735>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__): Use sw_vers instead of platform.mac_ver().
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(fake_executive): Set a valid return value for sw_vers by default.
2020-09-23 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Move TLS errors API from WebKitContext to WebKitWebsiteDataManager
https://bugs.webkit.org/show_bug.cgi?id=216822
Reviewed by Alex Christensen.
Update tests to use the new API instead of the deprecated one. Also update the TLSErrorsPolicy test to also
check that ephemeral web views inherit the network settings from its web context.
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(testSSL):
(testInsecureContent):
(testTLSErrorsPolicy):
(testTLSErrorsRedirect):
(testTLSErrorsHTTPAuth):
(testLoadFailedWithTLSErrors):
(testSubresourceLoadFailedWithTLSErrors):
(testWebSocketTLSErrors):
2020-09-23 Jonathan Bedard <jbedard@apple.com>
Force SYSTEM_VERSION_COMPAT=0 in Webkit scripts
https://bugs.webkit.org/show_bug.cgi?id=216895
<rdar://problem/69454393>
Reviewed by Dewei Zhu.
* Scripts/configure-xcode-for-embedded-development:
* Scripts/webkitpy/__init__.py:
2020-09-23 Fujii Hironori <Hironori.Fujii@sony.com>
Remove ENABLE_SVG_FONTS macro
https://bugs.webkit.org/show_bug.cgi?id=216850
Reviewed by Don Olmstead.
* Scripts/webkitperl/FeatureList.pm:
2020-09-23 Aakash Jain <aakash_jain@apple.com>
Limit number of emails to send for flaky and pre-existing API and layout test failures
https://bugs.webkit.org/show_bug.cgi?id=216876
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ReRunWebKitTests): Simply limit the flaky failures immediately after they are calculated, since we don't display
the count of flaky failures. Flaky failures are displayed only to help bot-watchers in noticing flaky tests.
(AnalyzeLayoutTestsResults.report_pre_existing_failures): Limit pre-existing and flaky test failures just before sending emails.
(AnalyzeAPITestsResults.analyzeResults):
2020-09-23 Aakash Jain <aakash_jain@apple.com>
Notify igalia team about pre-existing test failures and build failures for JSC queues
https://bugs.webkit.org/show_bug.cgi?id=216889
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Send email for pre-existing jsc build failures.
(AnalyzeJSCTestsResults.send_email_for_pre_existing_failure): Send email for pre-existing jsc test failure.
* BuildSlaveSupport/ews-build/send_email.py:
* BuildSlaveSupport/ews-build/emails.json: Added email address of igalia jsc team.
2020-09-23 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r267403.
Caused 50+ Crashes on iOS Debug
Reverted changeset:
"Move Media in GPU Process flag from internal to experimental"
https://bugs.webkit.org/show_bug.cgi?id=216473
https://trac.webkit.org/changeset/267403
2020-09-23 Lauro Moura <lmoura@igalia.com>
REGRESSION(r267368) [webkitpy] autoinstalled pytest raises ImportError in run-webdriver-tests
https://bugs.webkit.org/show_bug.cgi?id=216879
Reviewed by Jonathan Bedard.
Autoinstalled pytest requires sys.path to be updated with the newly
installed packages. Before r267368 it worked because
webdriver_w3c_executor.py autoinstalled mozlog/mozprocess which
updated the sys.path.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_pytest):
2020-09-23 Youenn Fablet <youenn@apple.com>
Add support for HTMLMediaElement.setSinkId
https://bugs.webkit.org/show_bug.cgi?id=216696
Reviewed by Eric Carlson.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2020-09-22 Keith Rollin <krollin@apple.com>
Unify debug and release target aliases
https://bugs.webkit.org/show_bug.cgi?id=216863
<rdar://problem/69407746>
Reviewed by Tim Horton.
All Makefiles have "debug", "d", "release", and "r" for build
targets. Others -- but not all -- also include "dev", "develop",
"development", "dep", "deploy", and "deployment". Because of this
inconsistency, trying to use those additional targets didn't work. It
looks like all Makefiles used to support all of those targets, but
some got dropped along the way. For instance, the top-level Makefile
and Source/Makefile dropped them in 2013 as part of Bug 107863. And it
looks like WebKitLibraries/Makefile never had them. Given that those
additional targets don't work, it seems like no one uses them, so
let's remove them completely.
* Makefile:
2020-09-22 Alex Christensen <achristensen@webkit.org>
Make TLSVersion API tests more robust.
https://bugs.webkit.org/show_bug.cgi?id=216704
Like I did in r267278, the TLSVersion.ShouldAllowDeprecatedTLS API test was also asserting with TCPServer,
so use HTTPServer which gracefully handles a variable number of connection attempts.
The NetworkSession tests that use NSUserDefaults need to be split into a separate test for bug 216041,
so may as well do that here, too.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::makeWebViewWith):
(TestWebKitAPI::TEST):
2020-09-22 Aakash Jain <aakash_jain@apple.com>
Limit number of emails to send for flaky and pre-existing JSC test failures
https://bugs.webkit.org/show_bug.cgi?id=216857
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start):
2020-09-22 Sihui Liu <sihui_liu@apple.com>
REGRESSION(r266075): WebContent process crashes at TextManipulationController::getPath
https://bugs.webkit.org/show_bug.cgi?id=216846
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-09-22 Keith Rollin <krollin@apple.com>
Refactor build rules in Makefiles and Makefile.shared
https://bugs.webkit.org/show_bug.cgi?id=216806
<rdar://problem/69332316>
Reviewed by David Kilzer.
Factor out the common aspects of the build rules in Makefile.shared
and the various Makefiles. This allows us to more easily see what's
different between the various build targets, and to apply uniform
changes across all of the targets.
* Makefile:
2020-09-22 Youenn Fablet <youenn@apple.com>
Implement a default prompt for getUserMedia
https://bugs.webkit.org/show_bug.cgi?id=216821
Reviewed by Eric Carlson.
Remove getUserMedia delegate implementations to use WebKit built-in prompt.
Add camera and microphone entitlements to allow using real cameras and microphones.
Keep using mock devices as the default.
* MiniBrowser/MiniBrowser.entitlements:
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController _webView:requestMediaCaptureAuthorization:decisionHandler:]): Deleted.
(-[WK2BrowserWindowController _webView:includeSensitiveMediaDeviceDetails:]): Deleted.
2020-09-22 Brian Burg <bburg@apple.com>
[Cocoa] _WKInspectorDelegate should handle showing external resources
https://bugs.webkit.org/show_bug.cgi?id=216334
Reviewed by Devin Rousso.
Test the delegate using WebKit API and using InspectorFrontendHost API.
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm:
(-[InspectorDelegate inspector:openURLExternally:]): Added.
(TEST):
2020-09-22 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r267380.
Broke multiple test suites on Liberty
Reverted changeset:
"[webkitpy] Use webkitcorepy's auto installer for pytest
packages"
https://bugs.webkit.org/show_bug.cgi?id=215895
https://trac.webkit.org/changeset/267380
2020-09-22 Youenn Fablet <youenn@apple.com>
Move Media in GPU Process flag from internal to experimental
https://bugs.webkit.org/show_bug.cgi?id=216473
<rdar://problem/69318786>
Reviewed by Eric Carlson.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Disable Media in GPU Process flag and WebRTC codec experimental features by default.
This can be overriden by WebKitTestRunner options.
2020-09-21 Adrian Perez de Castro <aperez@igalia.com>
[CMake] Use imported targets in find module for the ATK SPI2 bridge dependency
https://bugs.webkit.org/show_bug.cgi?id=216773
Reviewed by Don Olmstead.
* wpe/backends/CMakeLists.txt: Use the ATK::Bridge imported target.
2020-09-21 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's auto installer for pytest packages
https://bugs.webkit.org/show_bug.cgi?id=215895
<rdar://problem/67885471>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/__init__.py: Add pytest and it's dependencies.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove pytest and pytest_timeout.
(AutoinstallImportHook._install_pytest_timeout): Deleted.
(AutoinstallImportHook._install_pytest): Deleted.
* Scripts/webkitpy/webdriver_tests/pytest_runner.py: Implicitly use webkitcorepy's autoinstaller.
2020-09-21 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Don't set the UV option if the authenticator doesn't support it
https://bugs.webkit.org/show_bug.cgi?id=215836
<rdar://problem/67817359>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
(TestWebKitAPI::TEST):
2020-09-21 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's auto installer for moz* packages
https://bugs.webkit.org/show_bug.cgi?id=215889
<rdar://problem/67877935>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/__init__.py: Add mozprocess, mozlog and mozterm to AutoInstalled packages.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove mozlog and mozprocess.
(AutoinstallImportHook._install_mozlog): Deleted.
(AutoinstallImportHook._install_mozprocess): Deleted.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Implicitly use webkitcorepy's auto-installer.
2020-09-21 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's auto installer for six
https://bugs.webkit.org/show_bug.cgi?id=215770
<rdar://problem/67683133>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_mechanize): Remove six.
(AutoinstallImportHook._install_pytest): Ditto.
(AutoinstallImportHook._install_six): Deleted.
2020-09-21 David Kilzer <ddkilzer@apple.com>
Enable AddressSanitizer in C++ std library templates
<https://webkit.org/b/216746>
Reviewed by Darin Adler.
This change also prevents duplicate command-line switches from
being passed to clang since OTHER_CFLAGS is used when compiling
C++ sources.
* sanitizer/asan.xcconfig:
(WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_YES): Add.
- Undefines _LIBCPP_HAS_NO_ASAN macro to enable ASan for C++ std
library templates.
* sanitizer/sanitizer.xcconfig:
(WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_YES): Add.
- Provide placeholder.
(OTHER_CPLUSPLUSFLAGS):
- Switch from WK_SANITIZER_OTHER_CFLAGS_ prefix to
WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_ prefix.
2020-09-21 Aakash Jain <aakash_jain@apple.com>
Make ews-app robust against config.json issues (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=216705
Unreviewed follow-up fix to change a log statement.
* BuildSlaveSupport/ews-app/ews/common/buildbot.py:
(Buildbot.update_icons_for_queues_mapping):
2020-09-21 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] WKTR has lost access to Pulseaudio
https://bugs.webkit.org/show_bug.cgi?id=216745
Reviewed by Carlos Garcia Campos.
Let Pulseaudio env vars pass through in the test environment, this is specially needed when
the test harness runs in the Flatpak sandbox.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
2020-09-21 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] Missing support for multi-word $WEBKIT_MINI_BROWSER_PREFIX
https://bugs.webkit.org/show_bug.cgi?id=216604
Reviewed by Adrian Perez de Castro.
Gracefully handle cases where the env var contains multiple words, by splitting its contents
to a list and inserting it at the beginning of the final minibrowser command.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.run_minibrowser):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.run_minibrowser):
2020-09-21 Kate Cheney <katherine_cheney@apple.com>
Allow about:blank subframe loads for non app-bound top frames
https://bugs.webkit.org/show_bug.cgi?id=216715
<rdar://problem/69070720>
Reviewed by Darin Adler.
Two new tests for about:blank loaded under an app-bound domain and
non-app bound domain respectively. Tests that the subframe load
has the same app-bound status as the parent frame by testing script
injection powers.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
Fixed two test names that didn't make sense.
(-[InAppBrowserSchemeHandler webView:startURLSchemeTask:]):
(TEST):
2020-09-20 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Drop Options::useBigInt
https://bugs.webkit.org/show_bug.cgi?id=216743
Reviewed by Darin Adler.
* Scripts/run-jsc-benchmarks:
* Scripts/run-jsc-stress-tests:
2020-09-19 Lauro Moura <lmoura@igalia.com>
[GLIB] Merge API test expectations
Unreviewed test gardening.
Two TestUIClient sections were causing the first one to be ignored.
* TestWebKitAPI/glib/TestExpectations.json:
2020-09-18 Diego Pino Garcia <dpino@igalia.com>
[GTK] API test /webkit/WebKitWebView/usermedia-enumeratedevices-permission-check is crashing
* TestWebKitAPI/glib/TestExpectations.json:
2020-09-18 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] REGRESSION (r265702): System Services receive 0 bytes when extracting selected content as rich text data
https://bugs.webkit.org/show_bug.cgi?id=216718
<rdar://problem/69150358>
Reviewed by Tim Horton.
Add a new API test to verify that we get non-empty web archive data when using
`-writeSelectionToPasteboard:types:` to grab selected content as rich text data.
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
2020-09-18 Sihui Liu <sihui_liu@apple.com>
REGRESSION (r266634): fast/selectors/text-field-selection-stroke-color.html and fast/selectors/text-field-selection-window-inactive-stroke-color.html are flaky failures with pixel noise
https://bugs.webkit.org/show_bug.cgi?id=216394
<rdar://problem/68679551>
Reviewed by Tim Horton.
Make sure activity state changes for window updates in resetStateToConsistentValues are dispatched in time.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2020-09-18 Aditya Keerthi <akeerthi@apple.com>
Date/time inputs should not use user-specified formats
https://bugs.webkit.org/show_bug.cgi?id=216484
<rdar://problem/68864815>
Reviewed by Wenson Hsieh.
Added a test which sets a custom date format using "defaults write"
and verifies that the width is indistinguishable from the default
format.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/DateInputTests.mm: Added.
(createWebViewForTest):
(DateInputsTests.IgnoresUserEditsToLocale):
2020-09-18 Aditya Keerthi <akeerthi@apple.com>
[macOS] Date/time inputs should focus the next editable component when entering a separator key
https://bugs.webkit.org/show_bug.cgi?id=216661
<rdar://problem/69091856>
Reviewed by Wenson Hsieh.
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::keyDown):
Add support for colon, semicolon, and comma keys. The keycode values are
taken from the virtual keycode values in HIToolbox/Events.h.
Note that the keycode for colon and semicolon is the same, as there is
no distinct value for colon. This is safe as it matches the Javascript
behavior.
2020-09-18 Alex Christensen <achristensen@webkit.org>
WKWebView._tryClose should return whether it succeeded or not
https://bugs.webkit.org/show_bug.cgi?id=216660
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm:
(TEST):
2020-09-18 Alex Christensen <achristensen@webkit.org>
Make TLSVersion.NetworkSession API test more robust
https://bugs.webkit.org/show_bug.cgi?id=216704
<rdar://problem/68643674>
Reviewed by Tim Horton.
r265573 made preconnect attempts to legacy TLS servers fail.
This caused the TLSVersion.NetworkSession to assert because the first connection attempt would fail
(and the second would succeed if it was supposed to succeed with the conditions in the test).
The test calls waitForDidFailProvisionalNavigation in cases where it is supposed to fail and
waitForDidFinishNavigation in cases where it supposed to succeed.
Like I did in r266100 with another test, use HTTPServer which allows a variable number of connection attempts.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
2020-09-18 Aakash Jain <aakash_jain@apple.com>
Make ews-app robust against config.json issues
https://bugs.webkit.org/show_bug.cgi?id=216705
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/common/buildbot.py:
(Buildbot.fetch_config):
(Buildbot.update_icons_for_queues_mapping):
2020-09-18 Diego Pino Garcia <dpino@igalia.com>
[ews] Set only one worker for JSC ARMv7 builder and tester queues
https://bugs.webkit.org/show_bug.cgi?id=216476
Reviewed by Aakash Jain.
Currently many builds are failing in EWS JSC ARMv7 tester queue due to
a linking error in libicu. The problem lies on the boards that are
used to run the tests which have different system libraries.
Temporarily use one single builder and tester producing binaries compatible
with the boards.
* BuildSlaveSupport/ews-build/config.json:
2020-09-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Epiphany does not make connections in Incognito Mode after clearing .cache
https://bugs.webkit.org/show_bug.cgi?id=216430
Reviewed by Adrian Perez de Castro.
Add unit test to check we can start downloads in ephemeral sessions before a web view is created.
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(testDownloadEphemeralContext):
(beforeAll):
2020-09-17 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed test gardening for rdar://57029120.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibility.mm:
2020-09-17 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling the UserTiming and ResourceTiming APIs
https://bugs.webkit.org/show_bug.cgi?id=216556
Reviewed by Darin Adler.
Remove runtime setting for enabling/disabling UserTiming and ResourceTiming
APIs. They have both been on for a while in WebKit2 and there aren't any
known uses cases for disabling them. In addition to removing the setting,
they are now enabled in LegacyWebKit as well.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2020-09-17 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
[Flatpak SDK] bwrap: add pipewire socket as bind mount
https://bugs.webkit.org/show_bug.cgi?id=216606
Reviewed by Philippe Normand.
Add pipewire socket to bwrap as a try binding mount.
* flatpak/webkit-bwrap:
2020-09-17 Diego Pino Garcia <dpino@igalia.com>
[ews] Re-enable api-gtk queue
https://bugs.webkit.org/show_bug.cgi?id=216647
Reviewed by Aakash Jain.
The queue was disabled temporarily in r266956.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
* BuildSlaveSupport/ews-build/config.json:
2020-09-17 Diego Pino Garcia <dpino@igalia.com>
[GTK] Unreviewed gardening. API test WebKitWebInspectorServer/test-page-list is flaky.
* TestWebKitAPI/glib/TestExpectations.json:
2020-09-17 Antoine Quint <graouts@webkit.org>
Remove the legacy animation code
https://bugs.webkit.org/show_bug.cgi?id=216608
Reviewed by Dean Jackson.
Since we now have a single animation engine, the runtime flags to optionally enable the Web Animations engine are
not needed anymore and are now removed.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
(TestOptions::webViewIsCompatibleWithOptions const):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(setWebPreferencesForTestOptions):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
(setWebPreferencesForTestOptions):
2020-09-16 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake] Add a new library target TestRunnerShared
https://bugs.webkit.org/show_bug.cgi?id=216465
Reviewed by Don Olmstead.
* DumpRenderTree/CMakeLists.txt:
* DumpRenderTree/PlatformWin.cmake:
* PlatformFTW.cmake:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* PlatformWPE.cmake:
* PlatformWin.cmake:
* TestRunnerShared/CMakeLists.txt: Added.
* TestRunnerShared/config/config.h: Added.
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/PlatformFTW.cmake:
* WebKitTestRunner/PlatformWin.cmake:
2020-09-16 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling CSS shadow parts
https://bugs.webkit.org/show_bug.cgi?id=216567
Reviewed by Tim Horton.
Remove runtime setting for enabling/disabling CSS shadow parts. It is
on by default and there is no known reason one would need to disable it.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
2020-09-16 Stephan Szabo <stephan.szabo@sony.com>
Remove ENABLE_METER_ELEMENT
https://bugs.webkit.org/show_bug.cgi?id=216582
Reviewed by Fujii Hironori.
With PlayStation finally planning to turn this on,
no ports had this disabled, so remove the enable flag.
* Scripts/webkitperl/FeatureList.pm:
2020-09-16 Aakash Jain <aakash_jain@apple.com>
EWS emails to bot watchers about build failures should be grouped properly
https://bugs.webkit.org/show_bug.cgi?id=216495
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Set email headers appropriately.
2020-09-16 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling the isSecureContext API?
https://bugs.webkit.org/show_bug.cgi?id=216562
Reviewed by Darin Adler.
Remove runtime setting for enabling/disabling the the isSecureContext attribute.
on window and the worker global scope. There is no known reason one would need
to disable it.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* DumpRenderTree/win/DumpRenderTree.cpp:
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2020-09-16 Jer Noble <jer.noble@apple.com>
REGRESSION(r266844) [ BigSur ] http/tests/security/webaudio-render-remote-audio-allowed-crossorigin.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=216619
Reviewed by Chris Dumez.
In r266844, we adopted an API which would cause audio decoding to be supressed when a media element is initially muted. WebKitTestRunner
calls a WebKit SPI to artificially mute all media elements within the page (because listening to LayoutTest beeps and boops is annoying)
which causes this code path to be hit for all media elements. Rather than muting the page, WKTR should do the same as DRT, and set the
output volume to zero.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2020-09-16 Aakash Jain <aakash_jain@apple.com>
[ews] Improve failure summary string for AnalyzeCompileWebKitResults step
https://bugs.webkit.org/show_bug.cgi?id=216566
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.analyzeResults): Move self.finished() after setting self.descriptionDone.
2020-09-16 Philippe Normand <pnormand@igalia.com>
[Flatpak] webkit-bwrap drive-by cleanups
Rubber-stamped by Adrian Perez de Castro.
* flatpak/webkit-bwrap: Extend lists with tuples, use itertools and map to build the final
command line.
2020-09-16 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Cherry-pick Mesa use-after-free fixes
https://bugs.webkit.org/show_bug.cgi?id=216532
Reviewed by Žan Doberšek.
These patches are not in any stable Mesa release yet. The crash is happening on various
tests on both WPE and GTK test bots.
Upstream MR: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5789
* buildstream/elements/sdk/mesa.bst:
* buildstream/patches/mesa/0001-mesa-rename-_mesa_free_errors_data.patch: Added.
* buildstream/patches/mesa/0002-mesa-add-bool-param-to-_mesa_free_context_data.patch: Added.
* buildstream/patches/mesa/0003-mesa-st-release-debug_output-after-destroying-the-co.patch: Added.
2020-09-16 Philippe Normand <pnormand@igalia.com>
[GStreamer] Update Flatpak SDK to 1.18.0
https://bugs.webkit.org/show_bug.cgi?id=216270
Reviewed by Žan Doberšek.
Update to GStreamer 1.18.0, removing the patches now being shipped in this release.
* buildstream/elements/sdk/gst-libav.bst:
* buildstream/elements/sdk/gst-plugins-bad.bst:
* buildstream/elements/sdk/gst-plugins-base.bst:
* buildstream/elements/sdk/gst-plugins-good.bst:
* buildstream/elements/sdk/gst-plugins-ugly.bst:
* buildstream/elements/sdk/gstreamer.bst:
* buildstream/patches/gst-libav-stop-caching-codecs.patch: Removed.
* buildstream/patches/gst-plugins-bad-0001-h264parse-Post-a-WARNING-when-data-is-broken.patch: Removed.
* buildstream/patches/gst-plugins-base-0001-glupload-Fix-fallback-from-direct-dmabuf-to-dmabuf-u.patch: Removed.
* buildstream/patches/gst-plugins-base-0001-oggstream-Workaround-for-broken-PAR-in-VP8-BOS.patch: Removed.
* buildstream/patches/gst-plugins-base-0001-playbin-Handle-error-message-with-redirection-indica.patch: Removed.
* buildstream/patches/gst-plugins-base-0002-glupload-fix-segfault.patch: Removed.
* buildstream/patches/gst-plugins-base-0003-glbasefilter-add-support-for-changing-the-display.patch: Removed.
* buildstream/patches/gst-plugins-good-qtdemux-Specify-REDIRECT-information-in-error-messag.patch: Removed.
* buildstream/patches/libav-0001-gstavviddec-Limit-default-number-of-decoder-threads.patch: Removed.
2020-09-15 David Kilzer <ddkilzer@apple.com>
WebKit should support building with clang ThreadSanitizer enabled
<https://webkit.org/b/216318>
<rdar://problem/31615729>
Reviewed by Darin Adler.
This patch doesn't attempt to resolve every potential false
positive, but makes it easy to build WebKit with TSan enabled.
* Scripts/set-webkit-configuration:
- Add support for --[no-]tsan switches.
* Scripts/webkitdirs.pm:
(determineTSanIsEnabled):
(tsanIsEnabled):
(XcodeOptions):
(generateBuildSystemFromCMakeProject):
- Add support for building with TSan enabled.
* asan/asan.xcconfig: Rename to sanitizer/asan.xcconfig.
* sanitizer/asan.xcconfig: Rename from asan/asan.xcconfig.
- Extract common variables to sanitizer.xcconfig.
* sanitizer/sanitizer.xcconfig: Add.
- Extract common variables from asan.xcconfig.
* sanitizer/tsan.xcconfig: Add.
- Add support for TSan.
2020-09-15 Alex Christensen <achristensen@webkit.org>
Move local storage sync SPI from WebProcessPool to WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=216581
Reviewed by Geoffrey Garen.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::clearLocalStorage):
(WTR::TestController::syncLocalStorage):
2020-09-15 Alex Christensen <achristensen@webkit.org>
Move service worker testing timeout setting from WebProcessPool to WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=216578
Reviewed by Geoffrey Garen.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::setServiceWorkerFetchTimeoutForTesting):
2020-09-15 Fujii Hironori <Hironori.Fujii@sony.com>
[TestRunnerShared] Add a new class UIScriptControllerCommon to implement UIScriptController::windowIsKey and UIScriptController::setWindowIsKey
https://bugs.webkit.org/show_bug.cgi?id=216469
Reviewed by Darin Adler.
Even though UIScriptController class is defined in
TestRunnerShared, UIScriptController::windowIsKey and
UIScriptController::setWindowIsKey methods were defined in the
client modules DRT and WTR. I'd like to make TestRunnerShared a
stand-alone library which doesn't depend on DRT and WTR (Bug
216465).
Add a new class UIScriptControllerCommon to host the common
methods by renaming UIScriptController.cpp.
* DumpRenderTree/CMakeLists.txt:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::windowIsKey const):
(WTR::UIScriptController::setWindowIsKey):
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/UIScriptControllerCommon.cpp: Renamed from Tools/WebKitTestRunner/UIScriptController.cpp.
(WTR::UIScriptControllerCommon::windowIsKey const):
(WTR::UIScriptControllerCommon::setWindowIsKey):
* WebKitTestRunner/UIScriptControllerCommon.h: Added.
(WTR::UIScriptControllerCommon::UIScriptControllerCommon):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::UIScriptControllerCocoa):
* WebKitTestRunner/gtk/UIScriptControllerGtk.h:
(WTR::UIScriptControllerGtk::UIScriptControllerGtk):
* WebKitTestRunner/win/UIScriptControllerWin.h:
(WTR::UIScriptControllerWin::UIScriptControllerWin):
* WebKitTestRunner/wpe/UIScriptControllerWPE.h:
2020-09-15 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling the fetch API
https://bugs.webkit.org/show_bug.cgi?id=216519
Reviewed by Alex Christensen.
Remove runtime setting for enabling/disabling the fetch API. There is no
reason one needs to disable it now and it has been on by default for
a long enough time.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
2020-09-15 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add Contributor object
https://bugs.webkit.org/show_bug.cgi?id=216402
<rdar://problem/68702680>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py: Added.
(Contributor): Object mapping a contributor by name to their associated email addresses.
(Contributor.clear): Clear the in-memory cache of Contributor objects.
(Contributor.from_scm_log): Find or generate a Contributor object given a commit log line from
an SCM tool.
(Contributor.__init__):
(Contributor.email): Return a single email for a Contributor.
(Contributor.__repr__):
(Contributor.__hash__):
(Contributor.__cmp__):
(Contributor.__eq__):
(Contributor.__ne__):
(Contributor.__lt__):
(Contributor.__le__):
(Contributor.__gt__):
(Contributor.__ge__):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py: Added.
(TestContributor):
(TestContributor.test_git_log):
(TestContributor.test_svn_log):
(TestContributor.test_svn_patch_by_log):
(TestContributor.test_author_mapping):
(TestContributor.test_email_mapping):
(TestContributor.test_invalid_log):
(TestContributor.test_comparison):
(TestContributor.test_string_comparison):
(TestContributor.test_hash):
(TestContributor.test_sorting):
2020-09-15 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling custom elements
https://bugs.webkit.org/show_bug.cgi?id=216518
Reviewed by Tim Horton.
Remove runtime setting for enabling/disabling custom elements. There is no
reason one need to disable it now, and it has been on by default for
a long enough time.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
2020-09-15 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add default_branch for local SCM repositories
https://bugs.webkit.org/show_bug.cgi?id=216422
<rdar://problem/68735897>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.default_branch): Query the local checkout for the default branch.
(Git):
(Git.branches): Strip "remotes/origin/" from branch names.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.default_branch):
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.default_branch): The default svn branch is always 'trunk'.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_branches):
(TestGit.test_tags):
(TestGit):
(TestGit.test_default_branch):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn.test_tags):
(TestSvn):
(TestSvn.test_default_branch):
2020-09-15 Alex Christensen <achristensen@webkit.org>
Move WKContextClearCachedCredentials SPI to WKWebsiteDataStoreClearCachedCredentials
https://bugs.webkit.org/show_bug.cgi?id=216513
Reviewed by Chris Dumez.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2020-09-15 Alex Christensen <achristensen@webkit.org>
Remove unused plumbing for setting whether the storage access API is enabled
https://bugs.webkit.org/show_bug.cgi?id=216516
Reviewed by Youenn Fablet.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2020-09-15 Alex Christensen <achristensen@webkit.org>
Move WebSocket TLS bypass SPI from WebProcessPool to WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=216509
Reviewed by Youenn Fablet.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setAllowsAnySSLCertificate):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::setAllowsAnySSLCertificate):
2020-09-15 Rob Buis <rbuis@igalia.com>
Convert runtime flag to setting for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=215610
Reviewed by Youenn Fablet.
Remove lazy image loading runtime flag.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2020-09-15 Angelos Oikonomopoulos <angelos@igalia.com>
run-jsc-stress-tests: handle remotes that are down on startup
https://bugs.webkit.org/show_bug.cgi?id=216357
Reviewed by Yusuke Suzuki.
Previously, the GNU parallel runner would needlessly fail to run if a
remote host was down on startup, as it used forEachRemote for the
preparatory steps (which would instafail on error).
Change forEachRemote to (optionally) recover from failure by removing
the remote host from the array. This also handles the case where a
remote unexpectedly comes up during a test run (by not picking it up).
* Scripts/run-jsc-stress-tests:
2020-09-15 Youenn Fablet <youenn@apple.com>
End of media capture should not be reported before 3 seconds of the start of capture
https://bugs.webkit.org/show_bug.cgi?id=216415
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[GetUserMediaUIDelegate _webView:mediaCaptureStateDidChange:]):
Add a notCapturing boolean and wait for the notification before going back to the capturing page.
Decrease delay to 1 second to make the test run faster.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
Make sure to set media capture state delay to zero.
2020-09-14 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling ShadowDOM
https://bugs.webkit.org/show_bug.cgi?id=216511
Reviewed by Ryosuke Niwa.
Remove runtime setting for enabling/disabling ShadowDOM. There is no
reason one need to disable it now, and it has been on by default for
a long enough time.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
2020-09-14 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] AutoInstaller should work with HomeBrew Python
https://bugs.webkit.org/show_bug.cgi?id=216496
<rdar://problem/68864294>
Rubber-stamped by Brady Eidson.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): Set prefix to empty for HomeBrew python installs.
2020-09-14 Aakash Jain <aakash_jain@apple.com>
Add unit-tests for triggered_by key in ews config
https://bugs.webkit.org/show_bug.cgi?id=216487
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/loadConfig_unittest.py:
(ConfigDotJSONTest.get_config): Method to read config.json
(ConfigDotJSONTest.test_schduler_contains_valid_builder_name): Ensure that scheduler references a valid builder.
(ConfigDotJSONTest.test_single_builder_for_triggerable_scheduler): Ensure that every Triggerable scheduler references a single builder.
(ConfigDotJSONTest.test_incorrect_triggered_by): Ensure that triggered_by key is correct. Verify by matching that
the builder for the triggered_by scheduler actually triggers current builder.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeLayoutTestsResults.test_clean_tree_exceed_failure_limit_with_triggered_by):
2020-09-14 Alex Christensen <achristensen@webkit.org>
Move cookie flushing SPI from WKProcessPool to WKHTTPCookieStore
https://bugs.webkit.org/show_bug.cgi?id=216493
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
(TEST):
2020-09-14 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Disable AutoInstaller with environment variable (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=216396
<rdar://problem/68680933>
Unreviewed follow-up fix.
r267019 accidently landed without the support of r267019.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall.enabled): Add False and No to the list of environment variables which resolve to 'False'.
(AutoInstall.set_directory): Use AutoInstall.log instead of print(...).
2020-09-14 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][MediaFoundation] r264188 introduced linker warning: LNK4199: /DELAYLOAD:mf.dll ignored; no imports found from mf.dll
https://bugs.webkit.org/show_bug.cgi?id=214170
Reviewed by Alex Christensen.
* TestWebKitAPI/PlatformWin.cmake:
2020-09-14 Fujii Hironori <Hironori.Fujii@sony.com>
[TestRunnerShared] Make UIScriptContext not directly call UIScriptController::create which are defined in DRT and WTR
https://bugs.webkit.org/show_bug.cgi?id=216470
Reviewed by Simon Fraser.
UIScriptContext constructor directly called
UIScriptController::create which are defined in DRT and WTR. I'd
like to make TestRunnerShared as a stand alone library which
doesn't depend on DRT and WTR (Bug 216465). Make UIScriptContext
take a factory function to create UIScriptController.
* DumpRenderTree/TestRunner.cpp:
(TestRunner::runUIScript):
* DumpRenderTree/TestRunner.h:
* TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
(UIScriptContext::UIScriptContext):
* TestRunnerShared/UIScriptContext/UIScriptContext.h:
* TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp:
(WTR::UIScriptController::create): Deleted.
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::runUISideScript):
2020-09-14 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Log autoinstall details even without a logger configured
https://bugs.webkit.org/show_bug.cgi?id=216480
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): Use AutoInstall.log instead of logging.
(AutoInstall):
(AutoInstall.log): Check log to see if a logger is configured, if one is not,
output the message to stderr instead.
2020-09-14 Aakash Jain <aakash_jain@apple.com>
[EWS] Layout testers can go in an infinite RETRY loop when there are 30+ failures on trunk
https://bugs.webkit.org/show_bug.cgi?id=203698
<rdar://problem/66157544>
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ConfigureBuild.__init__): Added triggerred_by key.
(ConfigureBuild.start): Set triggers property only if it is not already set (by the build who triggerred this build).
(Trigger.__init__): Added include_revision parameter, it would be False while triggerring builder, so that builder
can use ToT instead of the specific revision.
Also added triggers, so that when the tester trigger the builder, it can explicitly specify only to trigger it back and
nothing else.
(Trigger.propertiesToPassToTriggers): Pass ews_revision and triggers properties to triggered builds appropriately.
(AnalyzeLayoutTestsResults.retry_build): Trigger the parent build if triggered_by is specified.
* BuildSlaveSupport/ews-build/config.json: Added triggered_by key.
* BuildSlaveSupport/ews-build/factories.py: Updated to handle triggered_by key.
* BuildSlaveSupport/ews-build/loadConfig.py: Ditto.
* BuildSlaveSupport/ews-build/loadConfig_unittest.py:
* BuildSlaveSupport/ews-build/factories_unittest.py:
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble): If the build is retried, ensure that the status-bubble is orange.
(StatusBubble._most_recent_failure_message): Display the retry message from analyze-layout-tests-results step in the status-bubble.
2020-09-14 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Disable AutoInstaller with environment variable
https://bugs.webkit.org/show_bug.cgi?id=216396
<rdar://problem/68680933>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall):
(AutoInstall.enabled): Check DISABLE_WEBKITCOREPY_AUTOINSTALLER to see if the autoinstaller
has been explicitly disabled.
(AutoInstall.set_directory): Early exit if the autoinstaller is explicitly disabled.
(AutoInstall.find_module):
(AutoInstall.enable): Deleted.
(AutoInstall.disable): Deleted.
2020-09-14 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Migration to SDK 0.3 branch
https://bugs.webkit.org/show_bug.cgi?id=216073
Reviewed by Adrian Perez de Castro.
As this new SDK branch is based on the FDO 20.08 SDK which breaks ABI, existing WebKit
builds done with the 0.2 branch will no longer be usable. Developers are advised to remove
their WebKitBuild/{GTK,WPE} local directories after updating to 0.3.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server): Since we now ship Mesa directly in the SDK we can easily
configure the prefix where DRI modules are installed. This is now the same as in the JHBuild
sysroot.
* flatpak/flatpakutils.py:
(WebkitFlatpak.__init__): Bump to 0.3 branch. Also un-hardcode host platform architecture so
that we can more easily add aarch64 bots later.
(WebkitFlatpak._get_packages): The GL extension is no longer needed because Mesa is shipped
directly within our SDK now. Also install the rust extension, which is useful eg when doing
development with gst-build.
* flatpak/webkit-bwrap: Add rustc path in PATH.
2020-09-13 Alexey Proskuryakov <ap@apple.com>
Move block-spammers tool to python 3
https://bugs.webkit.org/show_bug.cgi?id=216457
Reviewed by Sam Weinig.
* Scripts/block-spammers: Updated for new print() and translate() syntax, and
moved from raw_input() to input().
2020-09-13 Wenson Hsieh <wenson_hsieh@apple.com>
Add a key to the text manipulation userInfo dictionary indicating whether the translated item is on-screen
https://bugs.webkit.org/show_bug.cgi?id=216452
<rdar://problem/68785397>
Reviewed by Darin Adler.
Adjust an existing test so that it adds a fourth text paragraph with 2000px of top margin, and also
programmatically scrolls after loading the page so that only this last paragraph is visible. We expect the
metadata to indicate that none of the other tokens except this last one has a value of `YES` for
`_WKTextManipulationTokenUserInfoVisibilityKey`.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-09-12 Darin Adler <darin@apple.com>
Send TestRendered event after running a test but before dumping
https://bugs.webkit.org/show_bug.cgi?id=216428
Reviewed by Sam Weinig.
* DumpRenderTree/CMakeLists.txt: Added the new files and directories.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Ditto.
* DumpRenderTree/PlatformWin.cmake: Temporarily disable precompiled headers
on WinCairo since they were not working properly with JSBasics.cpp.
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate readyToDumpState]): Added. Calls sendTestRenderedEvent.
(-[FrameLoadDelegate processWork:]): Call readyToDumpState.
(-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]): Ditto.
* DumpRenderTree/win/FrameLoadDelegate.cpp:
(readyToDumpState): Added. Calls sendTestRenderedEvent.
(FrameLoadDelegate::processWork): Call readyToDumpState.
(FrameLoadDelegate::locationChangeDone): Ditto.
* TestRunnerShared/Bindings/JSBasics.cpp: Added.
(WTR::JSValueMakeBooleanOrNull): Moved from JSWrappable.h.
(WTR::JSValueToNullableBoolean): Ditto.
(WTR::JSValueMakeStringOrNull): Ditto.
(WTR::createJSString): Ditto.
(WTR::makeValue): Ditto.
(WTR::objectProperty): Ditto.
(WTR::setProperty): Added. Sets a named property value to a boolean.
(WTR::call): Moved from JSWrappable.h.
(WTR::callConstructor): Added. Gets a global constructor and calls it.
* TestRunnerShared/Bindings/JSBasics.h: Added. Declares the above functions.
* TestRunnerShared/Bindings/JSWrappable.h:
(WTR::JSValueMakeBooleanOrNull): Deleted.
(WTR::JSValueToNullableBoolean): Deleted.
(WTR::JSValueMakeStringOrNull): Deleted.
(WTR::createJSString): Deleted.
(WTR::makeValue): Deleted.
(WTR::objectProperty): Deleted.
(WTR::call): Deleted.
(WTR::hasRefTestWaitAttribute): Deleted.
* TestRunnerShared/Bindings/JSWrapper.h: Updated includes.
* TestRunnerShared/ReftestFunctions.cpp: Added.
(WTR::sendTestRenderedEvent): Added. Creates and dispatches a TestRendered event.
(WTR::hasReftestWaitAttribute): Moved from JSWrappable.h and renamed to use a
lowercase T since that's how web-platform-tests names things.
* TestRunnerShared/ReftestFunctions.h: Added. Declares the above functions.
* WebKitTestRunner/CMakeLists.txt: Added the new files and directories.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::frameDidChangeLocation): Call sendTestRenderedEvent
before calling dumpAfterWaitAttributeIsRemoved.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerMac.mm: Added a
missing include of "config.h" to fix build failures I was seeing. An alternative,
since this is a Cocoa-only source file, would be to put config.h into a
precompiled prefix header.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityTextMarkerRangeMac.mm: Ditto.
* WebKitTestRunner/PlatformWin.cmake: Temporarily disable precompiled headers
on WinCairo since they were not working properly with JSBasics.cpp.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Added the new
files and directories.
2020-09-12 Darin Adler <darin@apple.com>
REGRESSION (r266817): ASSERTION FAILED: injectedBundle.isTestRunning() on imported/w3c/web-platform-tests/service-workers/service-worker/svg-target-reftest.https.html
https://bugs.webkit.org/show_bug.cgi?id=216440
[GTK] imported/w3c/web-platform-tests/service-workers/service-worker/svg-target-reftest.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=210375
Reviewed by Sam Weinig.
Did some hardening of the reftest-wait mechanism in WebKitTestRunner.
We can later do the same in DumpRenderTree if the same problem comes up there,
but at this time I don't have a test that reproduces the issue there so not
changing it for now. Don't want to add speculative code without testing it.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::hasRefTestWaitAttribute): Changed to take a WKBundlePageRef instead of
a InjectedBundlePage&.
(WTR::dumpAfterWaitAttributeIsRemoved): Changed to take a WKBundlePageRef.
Added code to handle cases where an explicit dump occurs while we are waiting
for the attribute to be removed. Identify the page with the WKBundlePageRef,
which can be retained/released.
(WTR::InjectedBundlePage::frameDidChangeLocation): Check page for null
instead of indirectly checking by asking if the pageCount is 0. Also pass
a WKBundlePageRef in to dumpAfterWaitAttributeIsRemoved.
2020-09-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] REGRESSION(r266815): Several GTK API tests are timing out
https://bugs.webkit.org/show_bug.cgi?id=216361
Reviewed by Adrian Perez de Castro.
Unskip tests that are now passing.
* TestWebKitAPI/glib/TestExpectations.json:
2020-09-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Timeouts after reftest-wait class enablement in r266817
https://bugs.webkit.org/show_bug.cgi?id=216397
Reviewed by Adrian Perez de Castro.
Tests are timing out because dumpAfterWaitAttributeIsRemoved() is called recursively from a WebCore timer, not
allowing other sources with lower priority like display refresh monitor one to be run. This patch simply adds a
1 millisecond delay between dumpAfterWaitAttributeIsRemoved tries to allow other sources to be run in the main
loop.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::dumpAfterWaitAttributeIsRemoved):
2020-09-11 Sihui Liu <sihui_liu@apple.com>
Assertion Failed: m_currentScriptCallbackID in UIScriptContext::requestUIScriptCompletion
https://bugs.webkit.org/show_bug.cgi?id=216376
Reviewed by Tim Horton.
After completing each task, we will end UIScript if there is no remaining task. We need to make sure task is
completed asynchronously, otherwise it may finish before other tasks in the same script are scheduled as
script ends early.
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::completeTaskAsynchronouslyAfterActivityStateUpdate):
(WTR::UIScriptControllerCocoa::removeViewFromWindow):
(WTR::UIScriptControllerCocoa::addViewToWindow):
2020-09-11 Frank Yang <guowei_yang@apple.com>
Adding myself as committer
https://bugs.webkit.org/show_bug.cgi?id=216419
Reviewed by Myles C. Maxfield.
Adding myself as a committer.
* Scripts/webkitpy/common/config/contributors.json:
adding committer status to my name.
2020-09-11 Aakash Jain <aakash_jain@apple.com>
Disable gtk-api queue temporarily
https://bugs.webkit.org/show_bug.cgi?id=216411
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json:
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2020-09-11 Alex Christensen <achristensen@webkit.org>
Move _setCookieAcceptPolicy to WKHTTPCookieStore
https://bugs.webkit.org/show_bug.cgi?id=216375
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/CookieAcceptPolicy.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
2020-09-11 Zhifei Fang <zhifei_fang@apple.com>
Strip Quotes for run-jsc-stress-tests --model arg
https://bugs.webkit.org/show_bug.cgi?id=216417
Reviewed by Jonathan Bedard.
* Scripts/run-jsc-stress-tests:
2020-09-11 Sihui Liu <sihui_liu@apple.com>
REGRESSION(r266634): WKThumbnailViewResetsViewStateWhenUnparented is flaky
https://bugs.webkit.org/show_bug.cgi?id=216258
<rdar://problem/68515242>
Reviewed by Tim Horton.
r266634 makes activity state changes dispatched after existing CA transaction is committed, which delays update
of page state in web process.
* TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView waitUntilActivityStateUpdateDone]):
2020-09-10 Chris Dumez <cdumez@apple.com>
Unreviewed, reverting r266842 and r266883.
Causes some assertions to be hit in debug builds
Reverted changesets:
"Some WebAudio tests give different output on different
machines"
https://bugs.webkit.org/show_bug.cgi?id=216371
https://trac.webkit.org/changeset/266842
"Unreviewed Windows build fix after r266842."
https://trac.webkit.org/changeset/266883
2020-09-09 Brian Burg <bburg@apple.com>
Web Inspector: _WKInspectorDelegate should be attached to _WKInspector not WKWebView
https://bugs.webkit.org/show_bug.cgi?id=215961
Reviewed by Devin Rousso.
Refactor the test to set the _WKInspectorDelegate correctly.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKInspectorDelegate.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKInspectorDelegate.mm.
(-[InspectorDelegate inspectorDidEnableBrowserDomain:]):
(-[InspectorDelegate inspectorDidDisableBrowserDomain:]):
(-[UIDelegate _webView:didAttachLocalInspector:]):
(TEST):
2020-09-10 Devin Rousso <drousso@apple.com>
Web Inspector: modernize generated backend protocol code
https://bugs.webkit.org/show_bug.cgi?id=216302
<rdar://problem/68547649>
Reviewed by Brian Burg.
* TestWebKitAPI/Tests/WTF/JSONValue.cpp:
2020-09-10 Sihui Liu <sihui_liu@apple.com>
REGRESSION (r266634): [macOS release] 4 layout tests became flaky failures
https://bugs.webkit.org/show_bug.cgi?id=216275
<rdar://problem/68515242>
Reviewed by Tim Horton.
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::removeViewFromWindow):
(WTR::UIScriptControllerCocoa::addViewToWindow):
2020-09-10 Chris Dumez <cdumez@apple.com>
Some WebAudio tests give different output on different machines
https://bugs.webkit.org/show_bug.cgi?id=216371
Reviewed by Alex Christensen.
Update DRT / WRT to hardcode the hardware sample rate to 44100 so that Web Audio
test have the same output on different hardware.
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
2020-09-10 Kate Cheney <katherine_cheney@apple.com>
Clean up App-Bound Domains code to only compile for iOS with its own macro
https://bugs.webkit.org/show_bug.cgi?id=215027
<rdar://problem/63688232>
Reviewed by Darin Adler.
Replace check for IOS_FAMILY with more aptly named APP_BOUND_DOMAINS
macro.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2020-09-10 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add tags, branches queries on local repositories
https://bugs.webkit.org/show_bug.cgi?id=216333
<rdar://problem/68603047>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git):
(Git.branches): List all branches associated with a local repository.
(Git.tags): List all tags associated with a local repository.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm):
(Scm.branches):
(Scm.tags):
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn):
(Svn.list):
(Svn.branches): List all branches associated with a local repository.
(Svn.tags): List all branches associated with a local repository.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__init__): Add 'git branch -a' and 'git tag', change default branch.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.__init__): Add 'svn list ^/*' commands.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_branch): Change default branch to main.
(TestGit):
(TestGit.test_branches):
(TestGit.test_tags):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestSvn):
(TestSvn.test_branches):
(TestSvn.test_tags):
2020-09-10 Diego Pino Garcia <dpino@igalia.com>
[GTK] Unreviewed test gardening. Add tests timing out after r266815.
Also update test expectations to remove test passing after r266721.
* TestWebKitAPI/glib/TestExpectations.json:
2020-09-10 Darin Adler <darin@apple.com>
webkit-test-runner: Add support for the reftest-wait class name
https://bugs.webkit.org/show_bug.cgi?id=186045
Reviewed by Antti Koivisto.
Rather than implement this in a JavaScript test running, built this
support into the two test runner tools.
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate dumpAfterWaitAttributeIsRemoved:]): Added. Use to keep
polling until the reftest-wait attribute is gone.
(-[FrameLoadDelegate processWork:]): Call dumpAfterWaitAttributeIsRemoved
instead of calling dump directly.
(-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]): Ditto.
* DumpRenderTree/win/FrameLoadDelegate.cpp:
(dumpAfterWaitAttributeIsRemoved): Added. Use to keep polling until the
reftest-wait attribute is gone.
(FrameLoadDelegate::processWork): Call dumpAfterWaitAttributeIsRemoved
intead of calling dump directly.
(FrameLoadDelegate::locationChangeDone): Ditto.
* TestRunnerShared/Bindings/JSWrappable.h: Added helper functions for
dealing with JavaScript strings, values, properties, and function calls.
Also added a hasRefTestWaitAttribute function. All of these could probably
find a better home, but for now it was nice to not have to add a new source file.
* TestRunnerShared/Bindings/JSWrapper.h:
(WTR::setProperty): Use the new createJSString. A lot of other TestRunner code
could be tightened up by using these functions, but didn't do that for now.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::hasRefTestWaitAttribute): Added. Calls the other overload of this.
(WTR::dumpAfterWaitAttributeIsRemoved): Added. Use to keep polling until
the reftest-wait attribute is gone.
(WTR::InjectedBundlePage::frameDidChangeLocation): Call
dumpAfterWaitAttributeIsRemoved instead of done.
2020-09-09 Ryosuke Niwa <rniwa@webkit.org>
Simplify OptionSet::set
https://bugs.webkit.org/show_bug.cgi?id=216335
Reviewed by Said Abou-Hallawa.
Added a unit test for OptionSet::set.
* TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(WTF_OptionSet.Set):
2020-09-09 Fujii Hironori <Hironori.Fujii@sony.com>
Add Visual Studio debugger custom views for NeverDestroyed, LazyNeverDestroyed, VectorBufferBase, Optional, and StringView
https://bugs.webkit.org/show_bug.cgi?id=216304
Reviewed by Don Olmstead.
* VisualStudio/WebKit.natvis:
2020-09-09 Lauro Moura <lmoura@igalia.com>
kill-old-processes: Avoid calling kill command with empty string with GNU xargs
https://bugs.webkit.org/show_bug.cgi?id=216323
Reviewed by Darin Adler.
* BuildSlaveSupport/kill-old-processes:
(main):
2020-09-09 Aakash Jain <aakash_jain@apple.com>
ews might mark build as successful if tests fail to run
https://bugs.webkit.org/show_bug.cgi?id=215944
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.retry_build):
(AnalyzeLayoutTestsResults.start):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeLayoutTestsResults.test_test_fail_to_runs):
2020-09-09 Brady Eidson <beidson@apple.com>
Make sure WKWebsiteDataStore operations reuse existing process pools even when all WKWebViews have closed.
<rdar://problem/62978295> and https://bugs.webkit.org/show_bug.cgi?id=216317
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
2020-09-09 Angelos Oikonomopoulos <angelos@igalia.com>
run-jsc-stress-test: fix escaping for --gnu-parallel-runner
https://bugs.webkit.org/show_bug.cgi?id=215887
Reviewed by Keith Miller.
Change the GNU parallel invocation to use double quotes, to be consistent with
the invocation of ssh by the make runner. This should unbreak
--gnu-parallel-runner after the fix in r265204.
* Scripts/run-jsc-stress-tests:
2020-09-09 Aakash Jain <aakash_jain@apple.com>
Add Philippe Normand to EWS emails unsubscribe list
Unreviewed.
* BuildSlaveSupport/ews-build/emails.json:
2020-09-08 Lauro Moura <lmoura@igalia.com>
kill-old-processes: Remove stale Apache2 shm segments
https://bugs.webkit.org/show_bug.cgi?id=216068
Reviewed by Alexey Proskuryakov.
Based on original patch by Diego Pino Garcia.
When Apache2 terminates abruptely, it may not free up allocated shared
memory segments. When later Apache2 is started again, if its pid
matches the pid of orphan shm segments it fails believing there's
already an Apache2 instance running. To avoid this situation, after
killing Apache2 we check for potential orphaned shm segments and
remove them.
If any error happens during the cleanup, log the failure and continue
the script, addressing the issue that caused the initial revert in
r266536.
* BuildSlaveSupport/kill-old-processes:
(removeOrphanShmSegments):
(orphanedShmSegmentsByUser):
(main):
2020-09-08 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] TestWTF.WTF.UniqueRef is crashing in Debug builds
https://bugs.webkit.org/show_bug.cgi?id=216303
Reviewed by Ryosuke Niwa.
The class A of UniqueRef.cpp and CompactUniquePtrTuple.cpp are
conflicting. CRT heap threw an exception due to allocator
mismatching while deleting class A object.
* TestWebKitAPI/Tests/WTF/CompactUniquePtrTuple.cpp: Added a new namespace CompactUniquePtrTupleTest.
* TestWebKitAPI/Tests/WTF/UniqueRef.cpp: Added a new namespace UniqueRefTest.
(TestWebKitAPI::function): Deleted an unused function.
2020-09-08 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Register another package in the WebKit repository (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=216013
<rdar://problem/68097461>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall.register): Use pypiname instead of the package name.
2020-09-08 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] MiniBrowser URL bar can't insert a longer text than the window width
https://bugs.webkit.org/show_bug.cgi?id=216252
Reviewed by Per Arne Vollan.
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::createToolbar): Set ES_AUTOHSCROLL and for the URL
bar edit control. Removed ES_AUTOVSCROLL for it since it doesn't
scroll vertically.
2020-09-08 Tim Horton <timothy_horton@apple.com>
iOS: <attachment>'s QuickLook thumbnails can appear squished
https://bugs.webkit.org/show_bug.cgi?id=216209
<rdar://problem/67817706>
Reviewed by Wenson Hsieh.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::insertAttachmentForFilePath):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::currentTestURL const):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::insertAttachmentForFilePath):
Make it possible to insert an attachment wrapping a file on disk
via UIScriptController.
2020-09-08 Aakash Jain <aakash_jain@apple.com>
EWS should set cq- flag when a patch fails to build or introduces layout-test failures
https://bugs.webkit.org/show_bug.cgi?id=214194
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.start): Set cq- on patch when patch fails to build.
(AnalyzeLayoutTestsResults.report_failure): Set cq- on patch when patch introduces layout-test failures.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2020-09-08 Aakash Jain <aakash_jain@apple.com>
Use https urls instead of http in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=216276
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/checkout/scm/scm_mock.py:
* Scripts/webkitpy/common/config/urls.py:
* Scripts/webkitpy/common/config/urls_unittest.py: Changed few http urls to https, leaving a mix of http and https for testing.
* Scripts/webkitpy/common/config/watchlist:
* Scripts/webkitpy/style/checkers/cpp.py:
2020-09-08 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Follow-up fixes for 0.3 branch
https://bugs.webkit.org/show_bug.cgi?id=216239
Reviewed by Žan Doberšek.
* buildstream/elements/filtered.bst: Enable sccache on aarch64 too.
* buildstream/elements/flatpak/sdk.bst: Enable the rust extension, can be useful eg, when
using gst-build to have the Rust plugins enabled.
* buildstream/elements/freedesktop-sdk.bst: Switch to tracking branch instead of tags.
* buildstream/elements/sdk-build-depends/rapidjson.bst: Bump to current git master and add a
patch fixing aarch64 build.
* buildstream/elements/sdk-platform.bst: Add procps, needed at least for test-webkitpy
* buildstream/elements/sdk/gst-plugin-dav1d.bst: Added.
* buildstream/elements/sdk/gst-plugins-bad.bst: Fix build for aarch64.
* buildstream/elements/sdk/sccache.bst: Disable dist server, we need the client only. The
server builds only on x86_64 anyway.
* buildstream/files/gst-plugin-dav1d/Cargo.lock: Added.
* buildstream/patches/rapidjson-0001-Fix-build-warnings-emitted-by-GCC-10-on-Aarch64.patch: Added.
2020-09-08 Diego Pino Garcia <dpino@igalia.com>
[GTK] Unreviewed gardening. Mark several API-GTK tests as failures after r266697.
* TestWebKitAPI/glib/TestExpectations.json:
2020-09-06 Ryosuke Niwa <rniwa@webkit.org>
Make CompactUniquePtrTuple actually work with subclassing and custom deleter
https://bugs.webkit.org/show_bug.cgi?id=216225
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/CompactUniquePtrTuple.cpp:
(TestWebKitAPI::A::~A): Make this virtual.
(TestWebKitAPI::B): Added.
(TestWebKitAPI::B::B): Added.
(TestWebKitAPI::B::~B): Added.
(WTF_CompactUniquePtrTuple.Subclassing): Added. Tests subclassing.
(TestWebKitAPI::ADeleter): Added.
(TestWebKitAPI::ADeleter::operator() const):
(WTF_CompactUniquePtrTuple.Deleter): Added. Tests a custom deleter.
2020-09-07 Sam Weinig <weinig@apple.com>
[WebIDL] Fix issues found by preprocess-idls.pl parser validation and enabled parser validation by default for the tests
https://bugs.webkit.org/show_bug.cgi?id=216246
Reviewed by Darin Adler.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_supplemental_dependency):
Enable the parser validation for preprocess-idls.pl to catch accidental differences between
the fast regex based scanner in preprocess-idls.pl and the real IDL parser.
2020-09-06 Darin Adler <darin@apple.com>
Make TextCodecCJK and TextCodecSingleByte thread-safe and refactor a bit to share code
https://bugs.webkit.org/show_bug.cgi?id=216229
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST): Removed an unused variable. At one point, with
code that I wrote and now have rolled out, this was causing a build failure.
2020-09-06 Myles C. Maxfield <mmaxfield@apple.com>
Make GlyphBufferAdvance and GlyphBufferOrigin more robust
https://bugs.webkit.org/show_bug.cgi?id=215143
Reviewed by Zalan Bujtas.
* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::TEST_F):
2020-09-06 Sam Weinig <weinig@apple.com>
[WebIDL] Add mode to preprocess-idls.pl to validate fast regex based scanner with the normal IDL parser
https://bugs.webkit.org/show_bug.cgi?id=216231
Reviewed by Darin Adler.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_supplemental_dependency):
Update for rename from idlFilesList to idlFileNamesList and to pass the idlAttributesFile argument.
2020-09-06 Myles C. Maxfield <mmaxfield@apple.com>
Letter-spacing should disable ligatures
https://bugs.webkit.org/show_bug.cgi?id=176215
<rdar://problem/17044265>
Reviewed by Antti Koivisto.
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check_codegen_properties):
2020-09-04 Alex Christensen <achristensen@webkit.org>
Move PDF heads-up display to UI process on macOS
https://bugs.webkit.org/show_bug.cgi?id=215780
<rdar://problem/58715847>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
(pdfData):
(TEST):
(checkFrame):
* TestWebKitAPI/cocoa/TestUIDelegate.h:
* TestWebKitAPI/cocoa/TestUIDelegate.mm:
(-[TestUIDelegate _webView:saveDataToFile:suggestedFilename:mimeType:originatingURL:]):
2020-09-04 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add mock Response object
https://bugs.webkit.org/show_bug.cgi?id=216150
<rdar://problem/68307522>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/requests.py: Added.
(Response): A response object similar to the one used by requests.
2020-09-04 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests rebuilds ImageDiff every time
https://bugs.webkit.org/show_bug.cgi?id=204420
<rdar://problem/68232690>
Reviewed by Tim Horton.
* Scripts/webkitpy/port/base.py:
(Port.check_image_diff): Check the version of ImageDiff we actually intend to use.
(Port): Use webkitcorepy's Memoize in _path_to_image_diff.
(Port._build_image_diff): Clear the memoized cache after building ImageDiff.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort): Memoize _path_to_image_diff.
* Scripts/webkitpy/port/gtk.py:
(GtkPort): Memoize _path_to_image_diff.
* Scripts/webkitpy/port/wpe.py:
(WPEPort): Memoize _path_to_image_diff.
2020-09-04 Diego Pino Garcia <dpino@igalia.com>
[GTK] Unreviewed test gardening. Mark several GTK API tests as flaky.
These tests were failing in EWS GTK-API tests bots, but I didn't
manage to reproduce the failures in tip of master.
* TestWebKitAPI/glib/TestExpectations.json:
2020-09-04 Aakash Jain <aakash_jain@apple.com>
[ews] Notify bot watchers about pre-existing and flaky test failures for JSC tests
https://bugs.webkit.org/show_bug.cgi?id=215948
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start):
(AnalyzeJSCTestsResults.send_email_for_flaky_failure):
(AnalyzeJSCTestsResults):
(AnalyzeJSCTestsResults.send_email_for_pre_existing_failure):
2020-09-04 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Add root, branch and remote for local SCM repositories
https://bugs.webkit.org/show_bug.cgi?id=215960
<rdar://problem/67968919>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/decorators.py: Added.
(Memoize): Add a memoize call that can cache a response for a set amount of time
Or be explicitly cleared.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/decorators_unittest.py: Added.
(TestMemoize):
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/local: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/__init__.py: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: Added.
(Git): Object representing a local git checkout.
(Git.is_checkout): Check if a given path is a git checkout.
(Git.__init__): Initialize a Git checkout.
(Git.root_path): Return the path for the root of the local repository.
(Git.branch): Return the current branch.
(Git.remote): Return the url of the remote.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py: Added.
(Scm): Base class for all local SCM checkouts.
(Scm.Exception):
(Scm.from_path): Given a path, return an instantiated SVN object from that
path, if possible.
(Scm.__init__):
(Scm.root_path): Virtual function implemented by children.
(Scm.branch): Ditto.
(Scm.remote): Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py: Added.
(Svn): Object representing a local Svn checkout.
(Svn.is_checkout): Check if a given path is a svn checkout.
(Svn.__init__): Initialize a Svn checkout.
(Svn.info): Return the contents of svn info as a dictionary.
(Svn.root_path): Return the path for the root of the local repository.
(Svn.branch): Return the current branch.
(Svn.remote): Return the url of the remote.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/__init__.py: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/__init__.py: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Added.
(Git): Mock a local Git repository.
(Git.__init__):
* Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py: Added.
(Svn): Mock a local SVN repository.
* Scripts/libraries/webkitscmpy/webkitscmpy/test: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/__init__.py: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py: Added.
(TestGit):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/scm_unittest.py: Added.
(TestScm):
* Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py: Added.
(TestSvn):
2020-09-04 Aakash Jain <aakash_jain@apple.com>
[ews] Notify bot watchers about pre-existing and flaky test failures for API tests
https://bugs.webkit.org/show_bug.cgi?id=215949
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults.analyzeResults):
(AnalyzeAPITestsResults.send_email_for_flaky_failure):
(AnalyzeAPITestsResults):
(AnalyzeAPITestsResults.send_email_for_pre_existing_failure):
2020-09-04 Youenn Fablet <youenn@apple.com>
Binding generator is not always computing the right interface attributes
https://bugs.webkit.org/show_bug.cgi?id=216173
Reviewed by Alex Christensen.
Add support to validate global constructor idl file generator.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_from_idl):
(BindingsTests.generate_supplemental_dependency):
(BindingsTests.main):
2020-09-04 Aakash Jain <aakash_jain@apple.com>
[ews] Share bots between JSC builder and tester queues
https://bugs.webkit.org/show_bug.cgi?id=215934
Reviewed by Carlos Alberto Lopez Perez.
* BuildSlaveSupport/ews-build/config.json:
2020-09-04 Carlos Garcia Campos <cgarcia@igalia.com>
[GLIB] Stop using firefox user agent quirk for google docs
https://bugs.webkit.org/show_bug.cgi?id=215845
Reviewed by Adrian Perez de Castro.
Update API tests. Bring back UserAgentQuirks.cpp to the build that was removed in r244857.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2020-09-03 James Darpinian <jdarpinian@chromium.org>
Update James Darpinian's status to committer
https://bugs.webkit.org/show_bug.cgi?id=216154
Reviewed by Kenneth Russell.
* Scripts/webkitpy/common/config/contributors.json:
2020-09-03 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Unexpected User-Agent on redirect
https://bugs.webkit.org/show_bug.cgi?id=191858
Reviewed by Youenn Fablet.
Add unit tests to check the user agent is sent in headers and preserved after a redirect for both main resource
and subresources.
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(serverCallback):
(testDownloadUserAgent):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
(testUserAgent):
(serverCallback):
(beforeAll):
2020-09-02 Ryosuke Niwa <rniwa@webkit.org>
Add CompactUniquePtrTuple
https://bugs.webkit.org/show_bug.cgi?id=215936
Reviewed by Darin Adler.
Added basic unit tests for CompactUniquePtrTuple.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CompactUniquePtrTuple.cpp: Added.
(TestWebKitAPI::A): Adde.
(TestWebKitAPI::A::A):
(TestWebKitAPI::A::~A):
(WTF_CompactUniquePtrTuple.Basic):
2020-09-03 Lauro Moura <lmoura@igalia.com>
[GTK][WPE] generate-bundle: Remove the zip extension from the uploaded checksum filename
https://bugs.webkit.org/show_bug.cgi?id=216137
Reviewed by Jonathan Bedard.
* Scripts/generate-bundle:
2020-09-03 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r266507.
https://bugs.webkit.org/show_bug.cgi?id=216135
Broke JSC EWS
Reverted changeset:
"kill-old-processes: Remove stale Apache2 shm segments"
https://bugs.webkit.org/show_bug.cgi?id=216068
https://trac.webkit.org/changeset/266507
2020-09-03 Diego Pino Garcia <dpino@igalia.com>
kill-old-processes: Remove stale Apache2 shm segments
https://bugs.webkit.org/show_bug.cgi?id=216068
Reviewed by Alexey Proskuryakov.
When Apache2 terminates abruptely, it may not free up allocated shared
memory segments. When later Apache2 is started again, if its pid
matches the pid of orphan shm segments it fails believing there's
already an Apache2 instance running. To avoid this situation, after
killing Apache2 we check for potential conflicting shm segments and
remove them.
* BuildSlaveSupport/kill-old-processes:
(listAllWebKitPrograms):
(removeOrphanShmSegmentsOf):
(removeShmSegments):
(removeShmSegment):
(cmd):
(allShmSegments):
(main):
2020-09-03 Ryosuke Niwa <rniwa@webkit.org>
Static assert the return type of compactMap
https://bugs.webkit.org/show_bug.cgi?id=216119
Reviewed by Darin Adler.
Added static_assert for the return types of compactMap in varoius unit tests.
(WTF_Vector.CompactMapStaticFunctionReturnOptional):
(WTF_Vector.CompactMapStaticFunctionReturnRefPtr):
(WTF_Vector.CompactMapStaticFunctionReturnOptionalRef):
(WTF_Vector.CompactMapStaticFunctionReturnOptionalRefPtr):
(WTF_Vector.CompactMapLambdaReturnOptional):
(WTF_Vector.CompactMapLambdaCopyVectorReturnOptionalCountedObject):
(WTF_Vector.CompactMapLambdaMoveVectorReturnOptionalCountedObject):
(WTF_Vector.CompactMapLambdaReturnRefPtr):
(WTF_Vector.CompactMapLambdaReturnRefPtrFromMovedRef):
(WTF_Vector.CompactMapLambdaReturnOptionalRefPtr):
2020-09-02 Dean Jackson <dino@apple.com>
Update Kimmo's email.
* Scripts/webkitpy/common/config/contributors.json:
2020-09-02 Ryosuke Niwa <rniwa@webkit.org>
Add a variant of map which filters items to Vector.h
https://bugs.webkit.org/show_bug.cgi?id=215879
Reviewed by Darin Adler and Yusuke Suzuki.
Added unit tests.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::evenMultipliedByFive):
(WTF_Vector.CompactMapStaticFunctionReturnOptional):
(TestWebKitAPI::RefCountedObject):
(TestWebKitAPI::RefCountedObject::create):
(TestWebKitAPI::RefCountedObject::ref):
(TestWebKitAPI::RefCountedObject::RefCountedObject):
(TestWebKitAPI::createRefCountedForOdd):
(WTF_Vector.CompactMapStaticFunctionReturnRefPtr):
(TestWebKitAPI::createRefCountedForEven):
(WTF_Vector.CompactMapStaticFunctionReturnOptionalRef):
(TestWebKitAPI::createRefCountedWhenDivisibleByThree):
(WTF_Vector.CompactMapStaticFunctionReturnOptionalRefPtr):
(WTF_Vector.CompactMapLambdaReturnOptional):
(TestWebKitAPI::CountedObject):
(TestWebKitAPI::CountedObject::CountedObject):
(TestWebKitAPI::CountedObject::value):
(TestWebKitAPI::CountedObject::count):
(WTF_Vector.CompactMapLambdaCopyVectorReturnOptionalCountedObject):
(WTF_Vector.CompactMapLambdaMoveVectorReturnOptionalCountedObject):
(WTF_Vector.CompactMapLambdaReturnRefPtr):
(WTF_Vector.CompactMapLambdaReturnRefPtrFromMovedRef):
(WTF_Vector.CompactMapLambdaReturnOptionalRefPtr):
2020-09-02 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add NoAction class
https://bugs.webkit.org/show_bug.cgi?id=216079
<rdar://problem/68216301>
Reviewed by Dewei Zhu.
This is an argparse action we've duplicated in a few Internal scripts, it should
be in a shared library.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/arguments.py: Added.
(NoAction): argparse action supporting a binary flag.
2020-09-02 Aditya Keerthi <akeerthi@apple.com>
[macOS] Update date picker when the inner control is edited
https://bugs.webkit.org/show_bug.cgi?id=216004
Reviewed by Wenson Hsieh.
Added dateTimePickerValue testing hook in order to enable testing the
current value of the presented date picker. The returned value is a
UTC timestamp is milliseconds, matching the date input's valueAsNumber.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::dateTimePickerValue const):
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::dateTimePickerValue const):
2020-09-02 Per Arne Vollan <pvollan@apple.com>
[Win] The WPT server is not always starting when running layout tests
https://bugs.webkit.org/show_bug.cgi?id=216035
Reviewed by Youenn Fablet.
The Web platform test server is not always starting when running layout tests using Cygwin. It seems that starting the WPT server
takes longer time on Windows. Currently, the timeout is set to 20 seconds with polling every second. This patch addresses this
issue by waiting up to 60 seconds with polling every 10th second.
* Scripts/webkitpy/layout_tests/servers/http_server_base.py:
(HttpServerBase.start):
2020-09-02 Diego Pino Garcia <dpino@igalia.com>
Unreviewed. Follow-up r266450, fix script due to missing variable.
* Scripts/clean-webkit:
(removeFiles): Add missing argument 'fs'.
(main):
2020-09-02 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Update to FDO 20.08
https://bugs.webkit.org/show_bug.cgi?id=215763
Reviewed by Žan Doberšek.
Highlights:
- ICU 67 (see bug 215327)
- gcc update from 9.3.0 to 10.0
- clang update from 8.0 to 10.0
- perf is now included
- usable pipewire (host needs a working daemon and recent enough xdg-desktop-portal though)
- Mesa is no longer loaded from the flathub GL extension, but included in our downstream SDK, with debug symbols
This patch only includes the build definitions updates, bumping the SDK branch to 0.3. The
actual migration will be landed in a follow-up patch.
* buildstream/elements/flatpak-platform-extensions.bst:
* buildstream/elements/flatpak-runtimes.bst:
* buildstream/elements/flatpak/platform.bst:
* buildstream/elements/flatpak/sdk.bst:
* buildstream/elements/freedesktop-sdk.bst:
* buildstream/elements/sdk-build-depends/swig.bst:
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk.bst:
* buildstream/elements/sdk/at-spi2-atk.bst: Removed.
* buildstream/elements/sdk/at-spi2-core.bst: Removed.
* buildstream/elements/sdk/atk.bst: Removed.
* buildstream/elements/sdk/brotli.bst: Removed.
* buildstream/elements/sdk/glib.bst:
* buildstream/elements/sdk/gobject-introspection.bst: Removed.
* buildstream/elements/sdk/graphene.bst:
* buildstream/elements/sdk/gst-plugins-bad.bst:
* buildstream/elements/sdk/gst-plugins-good.bst:
* buildstream/elements/sdk/gstreamer.bst:
* buildstream/elements/sdk/gtk+-3.bst:
* buildstream/elements/sdk/gtk.bst:
* buildstream/elements/sdk/libdrm.bst: Added.
* buildstream/elements/sdk/libgcrypt.bst:
* buildstream/elements/sdk/libsecret.bst:
* buildstream/elements/sdk/libsoup.bst:
* buildstream/elements/sdk/libsrtp2.bst: Removed.
* buildstream/elements/sdk/mesa.bst: Added.
* buildstream/elements/sdk/pygobject.bst:
* buildstream/elements/sdk/python2-pygobject.bst:
* buildstream/elements/sdk/rr.bst:
* buildstream/elements/sdk/shared-mime-info.bst:
* buildstream/elements/sdk/v4lutils.bst: Removed.
* buildstream/elements/sdk/woff2.bst:
* buildstream/elements/sdk/xorg-server.bst:
* buildstream/elements/test-infra/httpd.bst:
* buildstream/patches/fdo/0001-Pango-Bump-to-1.45-master.patch: Removed.
* buildstream/patches/fdo/0001-dav1d-Bump-to-0.7.0.patch: Removed.
* buildstream/patches/gtk-meson-Bump-to-latest-version-of-the-3.24-branch.patch: Removed.
* buildstream/patches/libsecret-b53e9876f4611525b7a8f69a3110fbec51dcede0.patch: Removed.
* buildstream/patches/mesa/mesa_libdrm_deps.patch: Added.
* buildstream/patches/xserver-search-for-DRI-drivers-at-LIBGL_DRIVERS_PATH-environ.patch:
Removed because a variant was landed upstream 2 years ago:
https://gitlab.freedesktop.org/xorg/xserver/-/commit/319af6f471912160ab3eb6395ef50f9950063d43
* buildstream/project.conf:
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): White-list a few Mesa environment variables.
2020-09-01 Diego Pino Garcia <dpino@igalia.com>
[Flatpak SDK] Adapt clean-webkit script to flatpak
https://bugs.webkit.org/show_bug.cgi?id=216044
Reviewed by Philippe Normand.
Keep relevant directories in WebKitBuild/ when using flatpak.
* Scripts/clean-webkit:
(usesFlatpak):
(listWebKitBuildFiles):
(removeFiles):
(main):
2020-09-01 Hector Lopez <hector_i_lopez@apple.com>
Unreviewed, reverting r266408.
Revision caused constant crashes on iOS and macOS
Reverted changeset:
"Convert runtime flag to setting for lazy image loading"
https://bugs.webkit.org/show_bug.cgi?id=215610
https://trac.webkit.org/changeset/266408
2020-09-01 Rob Buis <rbuis@igalia.com>
Convert runtime flag to setting for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=215610
Reviewed by Youenn Fablet.
Remove lazy image loading runtime flag.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2020-09-01 Alex Christensen <achristensen@webkit.org>
Update URL fragment percent encode set
https://bugs.webkit.org/show_bug.cgi?id=216022
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2020-08-31 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Register another package in the WebKit repository
https://bugs.webkit.org/show_bug.cgi?id=216013
<rdar://problem/68097461>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall.register): If a package is also checked into the webkit repository,
we prefer the checked in version to the auto-installed version.
* Scripts/webkitpy/__init__.py: Add webkitscmpy dependency.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._ensure_autoinstalled_dir_is_in_sys_path): Handle case where the autoinstalled
directory is no the first in the Python path.
2020-08-31 Hector Lopez <hector_i_lopez@apple.com>
Unreviewed, reverting r266350.
Revision is causing a constant crash on both macOS and iOS
Reverted changeset:
"Convert runtime flag to setting for lazy image loading"
https://bugs.webkit.org/show_bug.cgi?id=215610
https://trac.webkit.org/changeset/266350
2020-08-31 Rob Buis <rbuis@igalia.com>
Convert runtime flag to setting for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=215610
Reviewed by Youenn Fablet.
Remove lazy image loading runtime flag.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2020-08-31 Philippe Normand <pnormand@igalia.com>
[Flatpak] SDK branch upgrade path is broken
https://bugs.webkit.org/show_bug.cgi?id=215927
Reviewed by Adrian Perez de Castro.
The development environment (flatpak install) needs to be performed before attempting to
rebuild toolchain archives. In most cases this wasn't an issue, but when the SDK needs to be
upgraded to a new ABI/branch, the previous version needs to be removed, that triggers a new
`flatpak install` and toolchain archives update, which need then to be done in the right
order.
* flatpak/flatpakutils.py:
(WebkitFlatpak.main):
2020-08-30 Tim Horton <timothy_horton@apple.com>
Remove unused editable image code
https://bugs.webkit.org/show_bug.cgi?id=215991
Reviewed by Simon Fraser.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::drawSquareInEditableImage): Deleted.
(WTR::UIScriptController::numberOfStrokesInEditableImage): Deleted.
* TestRunnerShared/spi/PencilKitTestSPI.h: Removed.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(webViewForTestingAttachments):
(TestWebKitAPI::forEachViewInHierarchy): Deleted.
(TestWebKitAPI::findEditableImageCanvas): Deleted.
(TestWebKitAPI::drawSquareInEditableImage): Deleted.
* TestWebKitAPI/ios/PencilKitTestSPI.h: Removed.
* WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::findEditableImageCanvas const): Deleted.
(WTR::UIScriptControllerIOS::drawSquareInEditableImage): Deleted.
(WTR::UIScriptControllerIOS::numberOfStrokesInEditableImage): Deleted.
2020-08-28 Tim Horton <timothy_horton@apple.com>
Sites built with flambe.js don't work with trackpad on iPad
https://bugs.webkit.org/show_bug.cgi?id=215954
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:
(-[WKTestingHoverEvent locationInView:]):
(-[WKTestingTouch timestamp]):
(TEST):
2020-08-28 Sam Weinig <weinig@apple.com>
[WebIDL] 'void' type is changing to 'undefined'
https://bugs.webkit.org/show_bug.cgi?id=215514
<rdar://problem/67566201>
Reviewed by Darin Adler.
Update IDLs and IDL parsing / code generation for the switch from 'void' to 'undefined'.
* DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
(_generateImplementationFile):
(_returnExpression):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(_generateImplementationFile):
(_returnExpression):
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/Bindings/GCController.idl:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl:
2020-08-28 Darin Adler <darin@apple.com>
Remove almost all the remaining uses of live ranges
https://bugs.webkit.org/show_bug.cgi?id=215755
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp:
(TestWebKitAPI::TEST): Added test cases for node ordering involving non-user-agent
shadow tree. Added test case that showed the old "use node order if offsets are equal"
rule for boundary point ordering was wrong. Added tests for isPointInRange,
intersects, and contains functions.
2020-08-28 Myles C. Maxfield <mmaxfield@apple.com>
[iOS] Vertical text's logical width calculation is stale from the previous height of the WKWebView
https://bugs.webkit.org/show_bug.cgi?id=215910
Reviewed by Simon Fraser.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/OrthogonalFlowAvailableSize.mm: Added.
(TEST):
* TestWebKitAPI/Tests/WebKit/orthogonal-flow-available-size.html: Added.
2020-08-28 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Move Timeout to webkitcorepy (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=215584
<rdar://problem/67270713>
Reviewed by Darin Adler.
* Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: Use webkitcorepy's Timeout object.
* Scripts/webkitpy/common/timeout_context.py: Removed.
* Scripts/webkitpy/port/simulator_process.py: Use webkitcorepy's Timeout object.
* Scripts/webkitpy/webdriver_plt/liveplt.py: Ditto.
* Scripts/webkitpy/xcode/simulated_device.py: Ditto.
2020-08-27 Lauro Moura <lmoura@igalia.com>
REGRESSION(r266221) Layout tests step hanging due to slow WaveDiff comparison
https://bugs.webkit.org/show_bug.cgi?id=215886
Reviewed by Darin Adler.
After r266221, a couple of webaudio tests generated WAV files with a
small difference in a large number of samples. This caused the
WaveDiff comparison to take too long.
While it works fine for small diffs, this ends up creating repeatedly
large strings for each concatenation, bringing the comparisons to a
halt.
Instead of relying on string concatenation, use a list to collect then
and only concat when actually retrieving the full string.
* Scripts/webkitpy/common/wavediff.py:
(WaveDiff.__init__):
(WaveDiff._diffParam):
(WaveDiff._diffSample):
(WaveDiff.diffText):
2020-08-27 Carlos Alberto Lopez Perez <clopez@igalia.com>
[webkitpy] repository svn version is incorrect when working on a branch
https://bugs.webkit.org/show_bug.cgi?id=215863
Reviewed by Jonathan Bedard.
When working on a SVN branch, the information pointed in the Revision field
doesn't reflect the last change on the branch, but the last change on trunk.
Instead of picking that changeset, pick the "Last Changed Rev" one that should
reflect the last change done in the current checkout (working directory).
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.svn_revision):
2020-08-27 Devin Rousso <drousso@apple.com>
[iOS] provide a way to get previously inserted alternatives for the selected text
https://bugs.webkit.org/show_bug.cgi?id=215816
<rdar://problem/66646042>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/InsertTextAlternatives.mm:
(InsertTextAlternatives.Simple):
* TestWebKitAPI/ios/UIKitSPI.h:
2020-08-27 Aakash Jain <aakash_jain@apple.com>
Ensure that email notifications are not sent for obsolete and r- patches
https://bugs.webkit.org/show_bug.cgi?id=215867
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(BugzillaMixin.should_send_email): Method to check if patch is obsolete/r-.
(AnalyzeCompileWebKitResults): Inherit from BugzillaMixin.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Check for patch state before sending email.
(AnalyzeLayoutTestsResults): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Ditto.
2020-08-27 Aakash Jain <aakash_jain@apple.com>
Send ews email notifications to myself
https://bugs.webkit.org/show_bug.cgi?id=215815
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/send_email.py:
(send_email_to_patch_author): Send a copy of email notification to myself.
* BuildSlaveSupport/ews-build/master.cfg: Stop receiveing old style email notifications for build failures.
2020-08-27 Jonathan Bedard <jbedard@apple.com>
[webkitscmpy] Initial commit
https://bugs.webkit.org/show_bug.cgi?id=215864
<rdar://problem/67827063>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy: Added.
* Scripts/libraries/webkitscmpy/MANIFEST.in: Added.
* Scripts/libraries/webkitscmpy/README.md: Added.
* Scripts/libraries/webkitscmpy/setup.py: Added.
(readme):
* Scripts/libraries/webkitscmpy/webkitscmpy: Added.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Added.
(_maybe_add_webkitcorepy_path):
* Scripts/webkitpy/test/main.py:
(main): Add webkitscmpy to test-webkitpy.
2020-08-27 Sihui Liu <sihui_liu@apple.com>
REGRESSION (r264790): IndexedDB may abort transactions of in-memory databases
https://bugs.webkit.org/show_bug.cgi?id=215855
<rdar://problem/67418574>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm:
(postResult):
(catch):
2020-08-27 Youenn Fablet <youenn@apple.com>
Add support for TransformStream
https://bugs.webkit.org/show_bug.cgi?id=215607
Reviewed by Alex Christensen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWritableStreamAPIEnabled):
(WTR::TestRunner::setTransformStreamAPIEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2020-08-26 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Move Timeout to webkitcorepy (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=215584
<rdar://problem/67270713>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/timeout.py:
(Timeout.__enter__): Forward patch flag to disable context.
(Timeout.__exit__): Ditto.
* Scripts/webkitpy/common/timeout_context.py: Replace with webkitcorepy's Timeout object.
(Timeout): Deleted.
* Scripts/webkitpy/common/timeout_context_unittest.py: Removed.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess._start): Opt-out of patching time.sleep().
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.launch_app): Opt-out of patching time.sleep().
* glib/api_test_runner.py:
(TestRunner._run_google_test): Use specific Timeout exception.
2020-08-26 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Add bots for generating nightly bundle packages
https://bugs.webkit.org/show_bug.cgi?id=215623
Reviewed by Aakash Jain.
This adds a new type of bots for GTK and WPE that runs nightly (once per day).
The goal of this bots its to build WebKit for a specific distribution (Ubuntu LTS and LTS-1)
and generate a bundle with the result of the build. The bundles are then uploaded to a
server for consumption on other CIs like WPT.
The MiniBrowser bundle targets a specific distribution, so each one of this new bots has to
run the generate-minibrowser-bundle step. However, the JSC bundle is distro-agnostic because
for JSC is possible to bundle all the system libraries (similar to a static build).
That means that we only need to run the step generate-jsc-bundle in one of the bots.
This step for generating the JSC bundle was previously executed in the bot
'GTK Linux 64-bit Release (Build)'. This patch moves it to one of this new added bots.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/factories.py:
(BuildFactory):
(BuildFactory.__init__):
(TestFactory):
(TestFactory.__init__):
(BuildAndGenerateMiniBrowserBundleFactory):
(BuildAndGenerateMiniBrowserJSCBundleFactory):
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(GenerateJSCBundle):
(GenerateMiniBrowserBundle):
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2020-08-26 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Standard Popen mocking API
https://bugs.webkit.org/show_bug.cgi?id=215712
<rdar://problem/67501911>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/README.md: Add mocks.Subprocess documentation.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py: Export Subprocess, ProcessCompletion.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/popen.py: Added.
(Popen): Mock Popen object (for both Python 2 and 3). This object extracts a ProcessCompletion object from the
mocked Subprocess stack and behaives according to the content of that object.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/subprocess.py: Added.
(PopenBase): Base class to share code between Python 2 and 3 constructor.
(Popen): Mock Popen object (for both Python 2 and 3). This object extracts a ProcessCompletion object from the
mocked Subprocess stack and behaives according to the content of that object.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/subprocess.py: Added.
(ProcessCompletion): Class which captures the result of a mock Popen call.
(Subprocess):
(Subprocess.CommandRoute): Object which routes a set of subprocess arguments to a specific ProcessCompletion or callback which
generates a ProcessCompletion.
(Subprocess.completion_generator_for): Given a file, search through the mocked Subprocess stack to find the
first completion for the provided file.
(Subprocess.completion_for): Extract file name from arguments, find the completion generator, and call
it with the provieded arguments, working directory and stdin.
(Subprocess.__init__):
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/subprocess_unittest.py: Added.
(MockSubprocess):
(MockCheckOutput):
(MockCheckCall):
(MockRun):
2020-08-26 Eric Carlson <eric.carlson@apple.com>
TestWebKitAPI.AudioRoutingArbitration.Deletion is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=215856
<rdar://problem/66950074>
Reviewed by Jer Noble.
This test deletes a video element by removing it from the DOM, and verifies that
arbitration status changes appropriately. Arbitration status isn't changed until
the element's destructor runs, and that doesn't happen until it is garbage collected
so force GC while waiting for the status to change.
* TestWebKitAPI/Tests/WebKitCocoa/AudioRoutingArbitration.mm:
(AudioRoutingArbitration::statusShouldBecomeEqualTo): Add optional parameter to force
GC while waiting for status to change.
(TEST_F):
2020-08-26 Youenn Fablet <youenn@apple.com>
enumerateDevices should expose audiooutput devices that are tied to an audio input device
https://bugs.webkit.org/show_bug.cgi?id=215806
Reviewed by Eric Carlson.
Enable experimental flag.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2020-08-26 Diego Pino Garcia <dpino@igalia.com>
[ews] Split JSC ARMv7 queue into separate builder and tester queue
https://bugs.webkit.org/show_bug.cgi?id=215728
Reviewed by Aakash Jain.
This new bubble runs jscore-tests for JSC ARMv7 32-bit. The former
'jsc-armv7' bubble now reports about successful binary builds for the
same architecture.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
* BuildSlaveSupport/ews-build/config.json:
2020-08-25 Ryosuke Niwa <rniwa@webkit.org>
HashMap<Ref<T>>::take should return RefPtr<T>
https://bugs.webkit.org/show_bug.cgi?id=215830
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::TEST):
2020-08-25 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Add a script for generating MiniBrowser bundles (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=215266
Unreviewed follow-up fix.
Ensure the install-dependencies script of the bundle calls apt-get update
before trying to install the system packages when --autoinstall is passed.
* Scripts/generate-bundle:
2020-08-25 Alex Christensen <achristensen@webkit.org>
Remove unneeded HAVE(NETWORK_FRAMEWORK) macro
https://bugs.webkit.org/show_bug.cgi?id=215824
Reviewed by Darin Adler.
This used to be needed for High Sierra support, which was before Network.framework was introduced.
Now, we can assume it is available on all Cocoa platforms.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
* TestWebKitAPI/cocoa/HTTPServer.h:
* TestWebKitAPI/cocoa/HTTPServer.mm:
* TestWebKitAPI/config.h:
2020-08-25 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE][Qt] Fix qt-wpe-minibrowser on Debian10
https://bugs.webkit.org/show_bug.cgi?id=215730
Reviewed by Philippe Normand.
When not running in flatpak the path to the qml directory is different.
* Scripts/run-qt-wpe-minibrowser:
2020-08-25 Devin Rousso <drousso@apple.com>
REGRESSION(r265601): invalid blame URL copied when `include_revision` is `false`
https://bugs.webkit.org/show_bug.cgi?id=215796
Reviewed by Daniel Bates.
* CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py:
(CopyWebKitPermalinkCommand.permalink_for_path):
Always add `?` to the URL before the revision and/or blame and have each have their own `&`.
2020-08-25 Jer Noble <jer.noble@apple.com>
[Mac] REGRESSION(r262322): Focusable elements are focused when exiting from video fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=215660
<rdar://problem/65263150>
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/FullscreenFocus.mm: Added.
(-[FullscreenFocusUIDelegate _webViewDidEnterFullscreen:]):
(-[FullscreenFocusUIDelegate _webViewDidExitFullscreen:]):
(TestWebKitAPI::TEST):
2020-08-25 Youenn Fablet <youenn@apple.com>
Refresh ReadableStream.pipeTo implementation up to spec
https://bugs.webkit.org/show_bug.cgi?id=215415
Reviewed by Alex Christensen.
Put console log in stderr as this makes some tests flaky otherwise.
* DumpRenderTree/TestOptions.cpp:
(shouldDumpJSConsoleLogInStdErr):
* WebKitTestRunner/TestOptions.cpp:
(WTR::shouldDumpJSConsoleLogInStdErr):
2020-08-25 Eric Carlson <eric.carlson@apple.com>
[macOS] Update audio arbitration manager when audio transport changes
https://bugs.webkit.org/show_bug.cgi?id=215781
<rdar://problem/65920613>
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/AudioRoutingArbitration.mm:
(AudioRoutingArbitration::statusShouldBecomeEqualTo): Add message string to help
debugging when the test fails.
* TestWebKitAPI/Tests/WebKitLegacy/ios/video-with-audio.html:
2020-08-25 Youenn Fablet <youenn@apple.com>
Generated bindings for derived dictionaries are not regenerated when the base dictionary changes
https://bugs.webkit.org/show_bug.cgi?id=181714
Reviewed by Darin Adler.
Add regression testing coverage for the generation of the makefile dependency file.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_supplemental_dependency):
(BindingsTests.detect_changes):
(BindingsTests):
(BindingsTests.detect_file_changes):
(BindingsTests.main):
2020-08-24 Alex Christensen <achristensen@webkit.org>
Fix TLSVersion.DefaultBehavior on Mojave
https://bugs.webkit.org/show_bug.cgi?id=215791
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
HTTPServer::Protocol::HttpsWithLegacyTLS uses tls_protocol_version_t, so this test times out on Mojave.
Enable it for newer OSes.
2020-08-24 Alex Christensen <achristensen@webkit.org>
Make TLSVersion.DefaultBehavior more robust
https://bugs.webkit.org/show_bug.cgi?id=215791
Reviewed by Darin Adler.
After r265573 sometimes it would assert, which is not a problem because it was failing the first connection
then succeeding the second connection as intended and as happens in the real internet.
Use HTTPServer which accepts a variable number of connections to keep the test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondWithChallengeThenOK):
(TestWebKitAPI::HTTPServer::respondWithOK):
2020-08-24 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix the internal iOS 13.4 build
See Source/WebKit/ChangeLog.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::clipSelectionViewRectToContentView):
2020-08-24 Aakash Jain <aakash_jain@apple.com>
[ews] enable email notifications to patch authors for build or layout test failures on their patch
https://bugs.webkit.org/show_bug.cgi?id=215776
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.analyzeResults): Send email notification to patch authors for build failure due to their patch.
(AnalyzeLayoutTestsResults.report_failure): Send email notification to patch authors for layout test failure.
2020-08-24 Aakash Jain <aakash_jain@apple.com>
[ews] set references header in email so as to group similar emails together
https://bugs.webkit.org/show_bug.cgi?id=215777
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/send_email.py:
(send_email): Add support for setting references header.
(send_email_to_patch_author):
(send_email_to_bot_watchers):
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Set references header appropriately.
(ReRunWebKitTests.send_email_for_flaky_failure): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Ditto.
2020-08-24 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Fix pip package
https://bugs.webkit.org/show_bug.cgi?id=215721
<rdar://problem/67518275>
Reviewed by Dewei Zhu.
* Scripts/libraries/resultsdbpy/MANIFEST.in: Add html and css.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Include submodules.
* Scripts/libraries/resultsdbpy/setup.py: Version bump.
2020-08-24 Sihui Liu <sihui_liu@apple.com>
Text manipulationshould not manipulate nodes out of paragraph range
https://bugs.webkit.org/show_bug.cgi?id=215406
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-08-24 Aditya Keerthi <akeerthi@apple.com>
[macOS] Show picker for date and datetime-local input types
https://bugs.webkit.org/show_bug.cgi?id=214946
Reviewed by Darin Adler and Wenson Hsieh.
Added isShowingDateTimePicker testing hook in order to enable testing of the visibility of
the picker.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::isShowingDateTimePicker const):
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::isShowingDateTimePicker const):
2020-08-24 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK4 build
* MiniBrowser/gtk/BrowserSearchBox.c:
* MiniBrowser/gtk/BrowserWindow.c:
2020-08-23 Wenson Hsieh <wenson_hsieh@apple.com>
Programmatic selection of text in a text field causes the highlight overlay to spill out
https://bugs.webkit.org/show_bug.cgi?id=215647
<rdar://problem/67404979>
Reviewed by Darin Adler.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::clipSelectionViewRectToContentView):
Add a helper function to clip UIKit selection UI rects (for carets, selection grabbers, and ranged selection
highlights) to the content view's (WKContentView's) bounds, as well as the selection clip rect if it is nonnull.
(WTR::UIScriptControllerIOS::selectionStartGrabberViewRect const):
(WTR::UIScriptControllerIOS::selectionEndGrabberViewRect const):
(WTR::UIScriptControllerIOS::selectionCaretViewRect const):
(WTR::UIScriptControllerIOS::selectionRangeViewRects const):
2020-08-17 Darin Adler <darin@apple.com>
Create documentOrder function, start refactoring to use it instead of Range::compare functions
https://bugs.webkit.org/show_bug.cgi?id=215551
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added DocumentOrder.cpp.
* TestWebKitAPI/Tests/WebCore/DocumentOrder.cpp: Added.
Relatively thorough test of three different documentOrder functions.
Could still use even more test cases involving different types of shadow trees.
2020-08-22 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] Compilation warnings with clang/gcc 10
https://bugs.webkit.org/show_bug.cgi?id=215699
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: Wrap m_geometry private field in GTK
ifdefs, this is not used in WPE.
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::windowFrame): Return rect built with explicit initializers.
* wpe/backends/WindowViewBackend.cpp: Supply additional touch client callbacks, mandated by the interface.
2020-08-22 Lauro Moura <lmoura@igalia.com>
Unreviewed, reverting r266012.
Fix API tests after r266020
Reverted changeset:
"[GLIB] Update checked exception after r265942"
https://bugs.webkit.org/show_bug.cgi?id=215738
https://trac.webkit.org/changeset/266012
2020-08-22 Yusuke Suzuki <ysuzuki@apple.com>
Unreviewed, add slackId to my contributors.json entry
Slack allows multiple users having the same name. How to identify one user in slack is using Slack member ID.
Try setting a slackId and leverage it via WKR / WebKitBot.
* Scripts/webkitpy/common/config/contributors.json:
2020-08-21 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Unable to copy text from the function browser panel in Numbers
https://bugs.webkit.org/show_bug.cgi?id=215740
<rdar://problem/65189303>
Reviewed by Darin Adler.
Add a new API test that serializes a WKWebView, then deserializes it, and then verifies that calling `-hitTest:`
on the deserialized `WKWebView` grabs the `WKWebView` itself rather than the `WKFlippedView` underneath it.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/WKWebViewCoders.mm: Added.
2020-08-21 Jonathan Bedard <jbedard@apple.com>
Regression (r265942): Layout-tests are hanging on iOS EWS
https://bugs.webkit.org/show_bug.cgi?id=215742
<rdar://problem/67584717>
Unreviewed infrastructure fix.
Partial revert of r265942, since EWS is raising objc exceptions after forking.
* Scripts/webkitpy/common/timeout_context.py:
(Timeout):
* Scripts/webkitpy/common/timeout_context_unittest.py: Added.
(TimeoutContextTests):
2020-08-21 Simon Fraser <simon.fraser@apple.com>
Fix the Color/ExtendedColor lldb data provider
https://bugs.webkit.org/show_bug.cgi?id=215735
Reviewed by Darin Adler.
Fix the data provider for Color after Color and ExtendedColor internals changed.
* lldb/lldb_webkit.py:
(WebCoreColorProvider._to_string_extended):
(WebCoreColorProvider.to_string):
2020-08-21 Lauro Moura <lmoura@igalia.com>
[GLIB] Update checked exception after r265942
https://bugs.webkit.org/show_bug.cgi?id=215738
Reviewed by Carlos Alberto Lopez Perez.
Avoid aborting the full script on a timeout due to unchecked
exception.
* glib/api_test_runner.py:
(TestRunner._run_google_test): Use exception from new timeout module.
2020-08-20 Diego Pino Garcia <dpino@igalia.com>
[EWS] Add more workers to GTK-WK2-Tests-EWS queue
https://bugs.webkit.org/show_bug.cgi?id=215408
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/config.json:
2020-08-20 Per Arne Vollan <pvollan@apple.com>
[macOS] Web pages are not responding correctly to changes in "Reduce motion" setting
https://bugs.webkit.org/show_bug.cgi?id=215664
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm: Added.
(TEST):
2020-08-20 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Fix pip package
https://bugs.webkit.org/show_bug.cgi?id=215717
<rdar://problem/67512294>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/MANIFEST.in: Add cacert.pem.
* Scripts/libraries/webkitcorepy/setup.py: Include submodules.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Version bump.
2020-08-20 Aakash Jain <aakash_jain@apple.com>
[ews] Handle bugs with unicode characters in title in ews emails
https://bugs.webkit.org/show_bug.cgi?id=215627
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Ensure email_subject is unicode.
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Ditto.
(ReRunWebKitTests.send_email_for_flaky_failure): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure): Ditto.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Ditto.
2020-08-20 Diego Pino Garcia <dpino@igalia.com>
[ews] Add 'jsc-mips-tests' bubble
https://bugs.webkit.org/show_bug.cgi?id=215697
This new bubble runs jscore-tests for JSC MIPS 32-bit. The former
'jsc-mips' bubble now reports about successful binary builds for the
same architecture.
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
2020-08-20 Diego Pino Garcia <dpino@igalia.com>
[ews] Split JSC MIPS queue into separate builder and tester queue
https://bugs.webkit.org/show_bug.cgi?id=212009
Reviewed by Aakash Jain.
Currently there are two EWS JSC MIPS configured, one that runs as
buildAndTest and another one that runs as buildOnly.
This patch changes the buildAndTest bot to test, and makes the
bot fetch the binary product produced by the buildOnly bot.
* BuildSlaveSupport/ews-build/config.json:
* BuildSlaveSupport/ews-build/factories.py:
(JSCTestsFactory):
(JSCTestsFactory.__init__):
* BuildSlaveSupport/ews-build/factories_unittest.py:
(TestLayoutTestsFactory.test_gtk_factory):
(TestJSCBuildFactory):
(TestJSCBuildFactory.test_jsc_mipsel_factory):
(TestJSCBuildFactory.test_jsc_armv7_factory):
(TestJSCBuildAndTestsFactory):
(TestJSCBuildAndTestsFactory.test_jsc_mipsel_factory):
(TestJSCBuildAndTestsFactory.test_jsc_armv7_factory):
(TestJSCTestsFactory):
(TestJSCTestsFactory.test_jsc_mipsel_factory):
(TestJSCTestsFactory.test_jsc_armv7_factory):
* BuildSlaveSupport/ews-build/loadConfig.py:
2020-08-20 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add subprocess_utils.run
https://bugs.webkit.org/show_bug.cgi?id=215702
<rdar://problem/67487751>
Reviewed by Dewei Zhu.
Python 3's subprocess.run API is much better than the multiple subprocess APIs that Python 2 provides. Rather than
requiring new scripts and libraries to be fully Python 3, we should provide a Python 2 API identical to subprocess.run.
* Scripts/libraries/webkitcorepy/README.md: Document usage of subprocess_utils.run.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Export subprocess_utils, bump minor version.
* Scripts/libraries/webkitcorepy/webkitcorepy/subprocess_utils.py: Added.
(run): Declare Python 2 version of Python 3's subprocess.run API.
(TimeoutExpired): Ditto.
(CompletedProcess): Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/subprocess_utils_unittest.py: Added.
(SubprocessUtils):
(SubprocessUtils.test_run):
(SubprocessUtils.test_run_exit):
(SubprocessUtils.test_run_timeout):
(SubprocessUtils.test_run_timeout_context):
2020-08-20 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Move Timeout to webkitcorepy (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=215584
<rdar://problem/67270713>
Reviewed by Darin Adler and Dewei Zhu.
The Timeout class is a generally useful Python utility, it should not live inside webkitpy.
* Scripts/libraries/webkitcorepy/README.md: Document Timeout object.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Expose Timeout object API, increment version.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/time_.py:
(_MetaTime.__enter__): Replace timeout.py's ORIGINAL_SLEEP variable to speed up testing.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/timeout_unittest.py: Added.
(TimeoutTests): Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/timeout.py: Added.
(Timeout): Class representing a stackable Timeout context.
(Timeout.Data): Class containing information about a specific deadline.
(Timeout.Exception): Exception belonging to the Timeout object.
(Timeout.DisableAlarm): For some block of code, disable Timeout alarms. This is useful because many APIs (such as
subprocess.run) define their own timeouts which do better cleanup than an interrupt would.
(Timeout.default_handler): Default Timeout handler which raises an exception.
(Timeout.current): Return the current Timeout.Data class, if one exists.
(Timeout.deadline): Return the closest deadline, if one exists.
(Timeout.difference): Return the number of seconds between the current time and the closest deadline.
(Timeout.check): Check if we have surpassed the closest deadline., raise an exception if we have.
(Timeout.bind): Create a signal based on the closest deadline.
(Timeout.sleep): Override the sleep function because if we ever request a sleep that is greater than the closest deadline,
we should imiediately trigger the timeout logic without waiting for the timeout to actually expire.
(Timeout.__init__): Create a Timeout context, 1 second by default.
(Timeout.__enter__):
(Timeout.__exit__):
* Scripts/webkitpy/common/timeout_context.py:
(Timeout): Moved to webkitcorepy.
2020-08-19 Kate Cheney <katherine_cheney@apple.com>
Third party domains are not stored in the case of back/forward navigations
https://bugs.webkit.org/show_bug.cgi?id=215595
<rdar://problem/66642893>
Reviewed by Chris Dumez.
API test coverage, including a new scheme handler to load third party
domains. Also this patch changes the function name from
loadedThirdPartyDomains to loadedSubresourceDomains based on the
conversation from https://bugs.webkit.org/show_bug.cgi?id=215595.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(-[ResourceLoadStatisticsSchemeHandler webView:startURLSchemeTask:]):
(-[ResourceLoadStatisticsSchemeHandler webView:stopURLSchemeTask:]):
(TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::loadedSubresourceDomains):
(WTR::TestRunner::callDidReceiveLoadedSubresourceDomainsCallback):
(WTR::TestRunner::loadedThirdPartyDomains): Deleted.
(WTR::TestRunner::callDidReceiveLoadedThirdPartyDomainsCallback): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::LoadedSubresourceDomainsCallbackContext::LoadedSubresourceDomainsCallbackContext):
(WTR::loadedSubresourceDomainsCallback):
(WTR::TestController::loadedSubresourceDomains):
(WTR::TestController::clearLoadedSubresourceDomains):
(WTR::LoadedThirdPartyDomainsCallbackContext::LoadedThirdPartyDomainsCallbackContext): Deleted.
(WTR::loadedThirdPartyDomainsCallback): Deleted.
(WTR::TestController::loadedThirdPartyDomains): Deleted.
(WTR::TestController::clearLoadedThirdPartyDomains): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveLoadedSubresourceDomains):
(WTR::TestInvocation::didReceiveLoadedThirdPartyDomains): Deleted.
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::loadedSubresourceDomains):
(WTR::TestController::clearLoadedSubresourceDomains):
(WTR::TestController::loadedThirdPartyDomains): Deleted.
(WTR::TestController::clearLoadedThirdPartyDomains): Deleted.
2020-08-19 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Failure to set index should not be fatal
https://bugs.webkit.org/show_bug.cgi?id=215653
<rdar://problem/67410416>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall.set_index): By default, log an error instead of raising an exception if an index is unreachable.
2020-08-19 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Adopt webkitcorepy's OutputCapture
https://bugs.webkit.org/show_bug.cgi?id=215628
<rdar://problem/67353710>
Reviewed by Dewei Zhu.
Remove webkitpy's OutputCapture in favor of webkitcorepy's. The refactor retains the orginal
functionality of the old OutputCapture, but deletes some now unused code.
* Scripts/webkitpy/common/checkout/checkout_unittest.py:
* Scripts/webkitpy/common/checkout/scm/detection_unittest.py:
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
* Scripts/webkitpy/common/net/credentials_unittest.py:
* Scripts/webkitpy/common/net/ewsserver_unittest.py:
* Scripts/webkitpy/common/net/irc/ircproxy_unittest.py:
* Scripts/webkitpy/common/net/layouttestresults_unittest.py:
* Scripts/webkitpy/common/system/outputcapture.py: Removed.
* Scripts/webkitpy/common/system/outputcapture_unittest.py: Removed.
* Scripts/webkitpy/common/system/stack_utils_unittest.py:
* Scripts/webkitpy/common/system/user_unittest.py:
* Scripts/webkitpy/common/system/workspace_unittest.py:
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
* Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
* Scripts/webkitpy/port/base_unittest.py:
* Scripts/webkitpy/port/config_unittest.py:
* Scripts/webkitpy/port/darwin_testcase.py:
* Scripts/webkitpy/port/gtk_unittest.py:
* Scripts/webkitpy/port/ios_device_unittest.py:
* Scripts/webkitpy/port/ios_simulator_unittest.py:
* Scripts/webkitpy/port/leakdetector_unittest.py:
* Scripts/webkitpy/port/leakdetector_valgrind_unittest.py:
* Scripts/webkitpy/port/mac_unittest.py:
* Scripts/webkitpy/port/port_testcase.py:
* Scripts/webkitpy/port/server_process_unittest.py:
* Scripts/webkitpy/port/watch_simulator_unittest.py:
* Scripts/webkitpy/port/westondriver_unittest.py:
* Scripts/webkitpy/port/win_unittest.py:
* Scripts/webkitpy/port/wpe_unittest.py:
* Scripts/webkitpy/port/xvfbdriver_unittest.py:
* Scripts/webkitpy/style/checkers/python.py:
* Scripts/webkitpy/style/main_unittest.py:
* Scripts/webkitpy/test/finder_unittest.py:
* Scripts/webkitpy/test/main_unittest.py:
* Scripts/webkitpy/test/printer.py:
* Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
* Scripts/webkitpy/tool/bot/ircbot_unittest.py:
* Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
* Scripts/webkitpy/tool/bot/queueengine_unittest.py:
* Scripts/webkitpy/tool/bot/sheriff_unittest.py:
* Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py:
* Scripts/webkitpy/tool/commands/commandtest.py:
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
* Scripts/webkitpy/tool/commands/perfalizer_unittest.py:
* Scripts/webkitpy/tool/commands/queries_unittest.py:
* Scripts/webkitpy/tool/commands/queues_unittest.py:
* Scripts/webkitpy/tool/commands/queuestest.py:
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
* Scripts/webkitpy/tool/multicommandtool_unittest.py:
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
* Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py:
* Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:
* Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
* Scripts/webkitpy/tool/steps/commit_unittest.py:
* Scripts/webkitpy/tool/steps/preparechangelog_unittest.py:
* Scripts/webkitpy/tool/steps/runtests_unittest.py:
* Scripts/webkitpy/tool/steps/steps_unittest.py:
* Scripts/webkitpy/tool/steps/suggestreviewers_unittest.py:
* Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py:
* Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:
* Scripts/webkitpy/w3c/test_converter_unittest.py:
* Scripts/webkitpy/w3c/test_importer_unittest.py:
* Scripts/webkitpy/w3c/test_parser_unittest.py:
2020-08-19 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Don't overwrite foreign packages by default
https://bugs.webkit.org/show_bug.cgi?id=215654
<rdar://problem/67411393>
Reviewed by Darin Adler.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.is_cached): Consider a package cached if it is foreign and overwrite_foreign_packages is false.
(AutoInstall): Add overwrite_foreign_packages flag.
2020-08-19 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Correct autoinstaller logging
https://bugs.webkit.org/show_bug.cgi?id=215650
<rdar://problem/67408049>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): Log "Downloading" insteading of "Installing" before downloading a package.
2020-08-19 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's auto installer for selenium
https://bugs.webkit.org/show_bug.cgi?id=215648
<rdar://problem/67405967>
Reviewed by Darin Adler.
* Scripts/webkitpy/__init__.py:
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:
(LinuxChromeDriver.launch_driver): Implicitly use webkitcorepy's auto-installer.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:
(LinuxFirefoxDriver.launch_driver): Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver.launch_driver): Ditto.
(OSXChromeCanaryDriver.launch_driver): Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxDriver.launch_driver): Ditto.
(OSXFirefoxNightlyDriver.launch_driver): Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launch_driver): Ditto.
* Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
(WebDriverBenchmarkRunner._run_one_test): Ditto.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove selenium.
(AutoinstallImportHook._install_selenium): Deleted.
* Scripts/webkitpy/webdriver_plt/liveplt.py: Implicitly use webkitcorepy's auto-installer.
2020-08-19 Alex Christensen <achristensen@webkit.org>
[Catalina/iOS 13] TestWebKitAPI.TLSVersion.LegacySubresources is failing
https://bugs.webkit.org/show_bug.cgi?id=215640
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
This tests behavior using CFNetwork functionality which is only available to Big Sur, iOS 14, and updated versions of Catalina.
2020-08-18 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Rosetta specific test expectations
https://bugs.webkit.org/show_bug.cgi?id=215633
<rdar://problem/67353771>
Reviewed by Darin Adler.
* Scripts/webkitpy/port/mac.py:
(MacPort.expectations_dict): Add special case for Rosetta expectations.
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_rosetta_expectations):
2020-08-18 Yusuke Suzuki <ysuzuki@apple.com>
Unreviewed, contributors.json is broken
* Scripts/webkitpy/common/config/contributors.json:
2020-08-18 Alex Christensen <achristensen@webkit.org>
WKWebViews using fastServerTrustEvaluationEnabled should only allow legacy TLS for main resource loads
https://bugs.webkit.org/show_bug.cgi?id=215626
<rdar://problem/67268892>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
2020-08-17 Aakash Jain <aakash_jain@apple.com>
Develop a mechanism to unsubscribe from ews emails
https://bugs.webkit.org/show_bug.cgi?id=215585
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/emails.json: Added.
* BuildSlaveSupport/ews-build/send_email.py:
(get_email_ids):
(send_email_to_patch_author): Do not email patch authors whose email is in unsubscribe list.
(send_email_to_bot_watchers):
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure):
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
* BuildSlaveSupport/ews-build/email_unittest.py: Added unit-tests.
(EmailsDotJSONTest.test_valid_emails_json):
(EmailsDotJSONTest.test_emails_json_required_categories_present):
2020-08-17 Saagar Jha <saagar@saagarjha.com>
Stop webkitpy from warning about not having a 64-bit git on Apple silicon
https://bugs.webkit.org/show_bug.cgi?id=214718
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git._executable_is_64bit): Loosen 64-bit check to succeed on systems that aren't x86_64.
2020-08-17 Fujii Hironori <Hironori.Fujii@sony.com>
[WTF] HashTable<Ref<K>, V>::HashTable(const HashTable& other) can't compile
https://bugs.webkit.org/show_bug.cgi?id=215550
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::TEST):
2020-08-17 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy]: Depend on webkitcorepy
https://bugs.webkit.org/show_bug.cgi?id=215573
<rdar://problem/67250272>
Reviewed by Dewei Zhu.
* Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py:
(_maybe_add_webkitcorepy_path): Attempt to add. webkitcorepy to the. Python path.
* Scripts/libraries/resultsdbpy/setup.py: Add webkitcorepy, remove webkitcorepy's dependencies.
* Scripts/libraries/webkitcorepy/setup.py: Add six as a dependency.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Include. package name, bump version.
2020-08-17 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add OutputCapture to webkitcorepy
https://bugs.webkit.org/show_bug.cgi?id=215380
<rdar://problem/66846384>
Reviewed by Dewei Zhu.
Although webkitpy has an OutputCapture class, that class does not separate logging from
stdout and stderr, which makes the API less useful. This version of the OutputCapture class
is inspired by the one in webkitpy, but with a cleaner interface.
* Scripts/libraries/webkitcorepy/README.md: Document usage of OutputCapture.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Export LoggerCapture, OutputCapture and
OutputDuplicate as API, bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/output_capture.py: Added.
(LoggerCapture): Capture logs at some level for the duration of the interface.
(OutputCapture): Capture stdout, stderr and all logging channels for the duration of the interface.
(OutputCapture.ReplaceSysStream): Replace sys.stdout or sys.stderr for a block.
(OutputDuplicate): Context which can duplicate all output for a block of code. This is useful to both print and
capture logs.
(OutputDuplicate.Stream): File-like object that routes output to multiple file-like objects.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/output_capture_unittest.py: Added.
(LoggerCaptureTest):
(OutputCaptureTest):
(OutputOutputDuplicateTest):
2020-08-17 Fujii Hironori <Hironori.Fujii@sony.com>
[TestWebKitAPI] Some WTF_HashMap tests are failing if TestWTF is executed directly
https://bugs.webkit.org/show_bug.cgi?id=215556
Reviewed by Darin Adler.
Some tests using RefLogger were failing if TestWTF is executed
directly without run-api-tests test driver script. Subsequent
tests were failing due to extra "deref(a) " which is a leftover of
the previous tests. Because run-api-tests is spawning a TestWTF
process for each test, it hides this issue.
* TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
Added blocks or calling clear() method to destroy local variables and added more
EXPECT_STREQ("deref(a) ", takeLogStr().c_str()).
2020-08-17 Lauro Moura <lmoura@igalia.com>
[WPE] Fix file url in WPEQt api test
https://bugs.webkit.org/show_bug.cgi?id=215577
Reviewed by Philippe Normand.
The test expects the load to fail, so avoid file://foo.html resolving
to file:///.
* TestWebKitAPI/Tests/WPEQt/TestLoadRequest.cpp:
(TestLoadRequest::main):
2020-08-17 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Autoinstaller is very slow in git-svn checkouts
https://bugs.webkit.org/show_bug.cgi?id=215534
<rdar://problem/67120623>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): Download packages to a temporary directory so that setup.py runs faster.
2020-08-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Remove support for NPAPI plugins
https://bugs.webkit.org/show_bug.cgi?id=215503
Reviewed by Darin Adler.
* PlatformGTK.cmake:
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(beforeAll):
2020-08-17 Youenn Fablet <youenn@apple.com>
Update W3C test exporter to use Authorisation header instead of query parameter to validate GitHub account
https://bugs.webkit.org/show_bug.cgi?id=215548
Reviewed by Darin Adler.
* Scripts/webkitpy/w3c/test_exporter.py:
(WebPlatformTestExporter._validate_and_save_token):
access_token query parameter is dbeing deprecated in favor of Authorization header.
Update script accordingly.
2020-08-15 Tim Horton <timothy_horton@apple.com>
Live Web Content processes do not respect accent color if dynamically changed to "multicolor"
https://bugs.webkit.org/show_bug.cgi?id=215523
<rdar://problem/63941133>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
(deleteTestDefaults):
(TEST):
Fix some minor style issues with these tests.
Fix a bug where these tests would leak state between themselves by leaving defaults behind.
Change the NSUserDefaults key name so that it is abundantly obvious where it comes from when you see it in your defaults.
Leave a FIXME for the future that these tests should probably not be writing to the real persistent defaults.
Add a test that ensures that the observer correctly respects deletion of a default.
2020-08-14 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add a NullHandler to logger
https://bugs.webkit.org/show_bug.cgi?id=215524
<rdar://problem/67102367>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Add default logging handler to webkitcorepy.log.
2020-08-14 Brady Eidson <beidson@apple.com>
Gamepad.GCFVersusHID fails on Big Sur.
<rdar://problem/66948608> and https://bugs.webkit.org/show_bug.cgi?id=215520
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/mac/HIDGamepads.mm: Accept two different names for the virtual Xbox One controller
2020-08-14 Ryan Haddad <ryanhaddad@apple.com>
Move WebGL bot from debug to release builds
https://bugs.webkit.org/show_bug.cgi?id=215509
Rubber-stamped by Darin Adler.
Make the switch to release builds since many of the tests are already slow, and running in debug configuration makes them even slower
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2020-08-14 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, revert r265213 and r265441
https://bugs.webkit.org/show_bug.cgi?id=215089
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::keyDown):
2020-08-14 Philippe Normand <pnormand@igalia.com>
[Flatpak SK] Enable GNOME keyring support in subversion
https://bugs.webkit.org/show_bug.cgi?id=215498
Reviewed by Sergio Villar Senin.
* buildstream/elements/sdk/subversion.bst: Enable GNOME Keyring support, which pulls into libsecret.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Allow session dbus access to the host secret service.
2020-08-13 Brady Eidson <beidson@apple.com>
(WK2 only) gamepad mapping stops being reported as “standard” in new tabs.
rdar://problem/66946505 and https://bugs.webkit.org/show_bug.cgi?id=215486
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/mac/HIDGamepads.mm:
2020-08-13 Aakash Jain <aakash_jain@apple.com>
Regression(r265580): apply-watchlist is broken
https://bugs.webkit.org/show_bug.cgi?id=215457
Unreviewed infrastructure fix.
* Scripts/webkitpy/common/config/watchlist:
2020-08-13 Aakash Jain <aakash_jain@apple.com>
[ews] email notifications should include Bugzilla link to the patch
https://bugs.webkit.org/show_bug.cgi?id=215455
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(Bugzilla):
(Bugzilla.patch_url): Method to generate patch url.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Added link to the patch id.
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Ditto.
(ConfigureBuild.add_patch_id_url):
(ConfigureBuild.getPatchURL): Deleted.
2020-08-13 Aakash Jain <aakash_jain@apple.com>
[ews] test names in ews notification email should be in sorted order
https://bugs.webkit.org/show_bug.cgi?id=215446
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
2020-08-13 Aakash Jain <aakash_jain@apple.com>
[ews] Improve wording for test failure email
https://bugs.webkit.org/show_bug.cgi?id=215449
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures): Pluralize 'test failure' accordingly.
* BuildSlaveSupport/ews-build/send_email.py:
(send_email): Drive-by fix.
2020-08-13 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's auto installer for coverage
https://bugs.webkit.org/show_bug.cgi?id=215419
<rdar://problem/66922400>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/__init__.py: Add coverage and it's dependencies.
* Scripts/webkitpy/test/main.py:
(Tester._run_tests): Stop relying on webkitpy's autoinstaller.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Remove _install_coverage, _install_toml.
(AutoinstallImportHook._install_coverage): Deleted.
(AutoinstallImportHook._install_toml): Deleted.
* Scripts/webkitpy/thirdparty/__init___unittest.py:
(ThirdpartyTest.test_imports): Remove coverage.
* flatpak/flatpakutils.py: Stop relying on webkitpy's autoinstaller.
2020-08-13 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Add a script for generating MiniBrowser bundles
https://bugs.webkit.org/show_bug.cgi?id=215266
Reviewed by Carlos Garcia Campos.
This converts the previous generate-jsc-bundle into a new script
that is now able to do the following:
- generate a jsc bundle
- generate a MiniBrowse bundle
- generate an all bundle (jsc+MiniBrowser)
The bundle can include all the system-libraries from the system,
so that way (in theory) the bundle would run on any other distribution
or it can generate an install-dependencies script so it generates
a lightweight bundle with only the minimum libraries included that
would run only on the distribution where it has been created
(after running the install-dependencies script)
We already have a bot generating the jsc bundle and we plan to also
have bots for generating the MiniBrowser bundles as well.
* BuildSlaveSupport/build.webkit.org-config/steps.py: Update the step for the new command.
(GenerateJSCBundle):
* Scripts/generate-bundle: Added.
* Scripts/generate-jsc-bundle: Removed.
* jhbuild/jhbuildutils.py:
(enter_jhbuild_environment_if_available): Unicode argument not longer available on python3's gettext.install()
2020-08-12 Keith Rollin <krollin@apple.com>
Remove the need for defining USE_NEW_BUILD_SYSTEM
https://bugs.webkit.org/show_bug.cgi?id=215439
Reviewed by Darin Adler.
When building WebKit for XCBuild, we currently require that the
external build system (such as the Makefile, build-webkit, etc.)
defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
controls parts of our build instructions that are sensitive to when
XCBuild or the Legacy build system are being used. Notably, we need to
know when to use our custom “copy and modify” scripts with copying
certain header files (used with the Legacy build system) vs. using the
enhanced Copy Headers build phase that’s enabled with
APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
The choice of which method to copy headers is used is controlled by
USE_NEW_BUILD_SYSTEM.
There is no built-in build setting that we can probe to help us
determine which approach to take when copying and modifying headers,
which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
turns out that we can *detect* which build system is being used by
taking advantage of a subtle difference between the two systems. As
noted in:
https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
“When an .xcconfig file contains multiple assignments of the same
build setting, later assignments using $(inherited) or
$(<setting_name>) will inherit from earlier assignments in the
.xcconfig. The legacy build system caused every use of
$(inherited) or $(<setting_name>) skip any other values defined
within the .xcconfig.”
This difference can be exploited as follows:
WK_WHICH_BUILD_SYSTEM = not_
WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
WK_USE_NEW_BUILD_SYSTEM_legacy = NO
WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
externally-defined USE_NEW_BUILD_SYSTEM.
* Scripts/build-webkit:
2020-08-12 Devin Rousso <drousso@apple.com>
Add settings for Copy WebKit Permalink
https://bugs.webkit.org/show_bug.cgi?id=215440
Reviewed by Daniel Bates.
* CopyPermalink/Sublime Text/CopyWebKitPermalink/Context.sublime-settings: Added.
* CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py:
(plugin_loaded): Added.
(plugin_unloaded): Added.
(Settings): Added.
(Settings.__init__): Added.
(Settings.unload): Added.
(Settings.include_revision): Added.
(Settings._get): Added.
(Settings._set): Added.
Helper class for caching settings values.
(CopyWebKitPermalinkCommand.run):
(CopyWebKitPermalinkCommand.revision_info_for_path):
(CopyWebKitPermalinkCommand.permalink_for_path):
Only include the current revision in the URL if the `include_revision` setting is true.
Turning this off is desirable as getting the current revision often takes a few seconds.
* CopyPermalink/Sublime Text/INSTALL:
2020-08-12 Devin Rousso <drousso@apple.com>
Update my watchlist entries and add some additional Web Inspector definitions
* Scripts/webkitpy/common/config/watchlist:
2020-08-12 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Use webkitcorepy's auto installer for requests
https://bugs.webkit.org/show_bug.cgi?id=214951
<rdar://problem/66308049>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py: Use webkitcorepy's auto installer.
* Scripts/webkitpy/results/upload.py: Ditto.
* Scripts/webkitpy/results/upload_unittest.py: Ditto.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._ensure_autoinstalled_dir_is_in_sys_path): Make sure webkitcorepy takes precedence
over webkitpy.
(AutoinstallImportHook.find_module): Delete _install_requests.
(AutoinstallImportHook._install_pytest): Ditto.
(AutoinstallImportHook._install_beautifulsoup): Ditto.
(AutoinstallImportHook._install_selenium): Ditto.
(AutoinstallImportHook._install_requests): Deleted.
2020-08-12 Alex Christensen <achristensen@webkit.org>
Fail preconnect requests to deprecated TLS instead of allowing application to show warning
https://bugs.webkit.org/show_bug.cgi?id=215424
<rdar://problem/66784116>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
(TestWebKitAPI::webViewWithNavigationDelegate):
2020-08-12 Aakash Jain <aakash_jain@apple.com>
[ews] email notifications should include link to corresponding bug
https://bugs.webkit.org/show_bug.cgi?id=215425
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure):
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
2020-08-12 Wenson Hsieh <wenson_hsieh@apple.com>
Broken formatting in price table on yandex.ru after translating to English
https://bugs.webkit.org/show_bug.cgi?id=215416
<rdar://problem/66354018>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-08-12 Devin Rousso <drousso@apple.com>
Add Copy WebKit Permalink items to Sublime Text command palette
https://bugs.webkit.org/show_bug.cgi?id=215418
Reviewed by Keith Miller.
* CopyPermalink/Sublime Text/CopyWebKitPermalink/Context.sublime-commands: Added.
* CopyPermalink/Sublime Text/INSTALL:
2020-08-10 Aakash Jain <aakash_jain@apple.com>
[ews] emails for test failures should include link to test history
https://bugs.webkit.org/show_bug.cgi?id=215337
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
2020-08-12 Ryan Haddad <ryanhaddad@apple.com>
[ews-build] Add another Big Sur bot
https://bugs.webkit.org/show_bug.cgi?id=215193
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/config.json: Move ews169 from tvOS -> Big Sir.
2020-08-12 Aakash Jain <aakash_jain@apple.com>
[ews] send emails as html instead of plain-text
https://bugs.webkit.org/show_bug.cgi?id=215331
Reviewed by Darin Adler.
* BuildSlaveSupport/ews-build/send_email.py:
(send_email): Send email as html instead of plain-text.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Encode few characters like <,>,& for html. Also format the logs in <code> block.
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Ditto.
2020-08-12 Jonathan Bedard <jbedard@apple.com>
[resultsdbpy] Move to Tools/Scripts/libraries
https://bugs.webkit.org/show_bug.cgi?id=215401
<rdar://problem/66868387>
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Changed resultsdbpy location.
(RunResultsdbpyTests): Ditto.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestRunResultsdbpyTests.test_success):
(TestRunResultsdbpyTests.test_failure):
* Scripts/libraries/resultsdbpy: Copied from Tools/resultsdbpy.
* resultsdbpy: Removed.
2020-08-12 Youenn Fablet <youenn@apple.com>
Refresh WritableStream up to spec
https://bugs.webkit.org/show_bug.cgi?id=215267
Reviewed by Geoff Garen.
Put console log in stderr as this makes some tests flaky otherwise.
* DumpRenderTree/TestOptions.cpp:
(shouldDumpJSConsoleLogInStdErr):
* WebKitTestRunner/TestOptions.cpp:
(WTR::shouldDumpJSConsoleLogInStdErr):
2020-08-11 Alex Christensen <achristensen@webkit.org>
Enable HTTP/2 ping API tests
https://bugs.webkit.org/show_bug.cgi?id=215402
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
(TestWebKitAPI::TEST):
2020-08-11 Brian Burg <bburg@apple.com>
REGRESSION(r?): build-webkit --inspector-frontend always builds ImageDiff
https://bugs.webkit.org/show_bug.cgi?id=215393
<rdar://problem/66862975>
Reviewed by Darin Adler.
* Scripts/build-webkit: exit after building projects if --inspector-frontend is passed.
This flag is for desk builds only and not used by build infrastructure. We don't need to build ImageDiff
when iterating on the Web Inspector frontend.
2020-08-11 Keith Rollin <krollin@apple.com>
Update filter-build-webkit for unknown/unhandled messages
https://bugs.webkit.org/show_bug.cgi?id=215395
<rdar://problem/63819507>
Reviewed by Alexey Proskuryakov.
Teach filter-build-webkit about XCBuild build output that needs to be
reformatted.
At the same time, address other red messages that have crept in over
time, either reformatting or squelching them.
Some red messages are still emitted under both XCBuild and the Legacy
build system, but those either need to be addressed at the source or
be investigated first in order to determine the correct remediation.
* Scripts/filter-build-webkit:
(shouldShowSubsequentLine):
(shouldIgnoreLine):
2020-08-11 Brady Eidson <beidson@apple.com>
Add a "use stored credentials" setting to WKWebView.
<rdar://problem/63308019> and https://bugs.webkit.org/show_bug.cgi?id=215388
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
(TestWebKitAPI::TEST):
2020-08-11 Kenneth Russell <kbr@chromium.org>
Update contributors.json with reinstated reviewer status
https://bugs.webkit.org/show_bug.cgi?id=215390
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/contributors.json:
2020-08-11 Tim Horton <timothy_horton@apple.com>
iOS: Scrolling and touch events sporadically stop working after navigating
https://bugs.webkit.org/show_bug.cgi?id=215368
<rdar://problem/65801531>
Reviewed by Wenson Hsieh.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::runUIScriptImmediately):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::runUISideScriptImmediately):
(WTR::TestInvocation::runUISideScriptAfterUpdateCallback):
* WebKitTestRunner/TestInvocation.h:
Add a variant of runUISideScript that runs the script without
waiting for a rendering update.
It makes sense for the default runUISideScript to wait for a rendering
update -- nearly every test is either unaffected or improved by this --
but for the test for this bug, since we have hung the Web Content process
main thread intentionally, we will not see a rendering update, and so
the UI-side script will never run.
2020-08-11 Darin Adler <darin@apple.com>
LayoutTest accessibility/mac/select-element-selection-with-optgroups.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=175341
Reviewed by Chris Fleizach.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_output_with_reference): Removed unhelpful log message that tells
about ref tests where the hash optimization for comparing images does not work, but the
test passes. We don't want to get this kind of log message for passing tests.
2020-08-11 Timothy Hatcher <timothy@apple.com>
Deferred WKUserScripts are exponentially injected on preloaded pages with frames.
https://bugs.webkit.org/show_bug.cgi?id=215382
rdar://problem/66837802
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
2020-08-11 Sihui Liu <sihui_liu@apple.com>
Text manipulation crashes when replacing element with img role
https://bugs.webkit.org/show_bug.cgi?id=215344
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-08-11 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] Add MiniBrowser wrapper env vars and white-list MESA env vars in flatpak
https://bugs.webkit.org/show_bug.cgi?id=215361
Reviewed by Žan Doberšek.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.run_minibrowser): Add support for the $WEBKIT_MINI_BROWSER_PREFIX env var which can
be useful when debugging MiniBrowser with gdb or rr.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.run_minibrowser): Ditto.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): White-list MESA environment variables in the sandbox.
2020-08-11 Philippe Normand <pnormand@igalia.com>
[GStreamer] gst-full standalone library support
https://bugs.webkit.org/show_bug.cgi?id=215262
Reviewed by Xabier Rodriguez-Calvar.
Somehow unrelated with the gst-full support, disable GStreamer options command-line support
in MiniBrowsers. This isn't very useful and pulls GStreamer in the MiniBrowser for no much
gain. Use GST_* env variables instead.
* MiniBrowser/gtk/CMakeLists.txt:
* MiniBrowser/gtk/main.c:
(main):
* MiniBrowser/wpe/CMakeLists.txt:
* MiniBrowser/wpe/main.cpp:
(main):
2020-08-10 Chris Dumez <cdumez@apple.com>
AuxiliaryProcess::didReceiveInvalidMessage() for WebPage::PerformDragControllerAction IPC
https://bugs.webkit.org/show_bug.cgi?id=215341
<rdar://problem/59344091>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
(overrideCurrentEvent):
(TEST):
2020-08-10 Simon Fraser <simon.fraser@apple.com>
Add Sam Sneddon to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=215334
Reviewed by Simon Fraser.
* Scripts/webkitpy/common/config/contributors.json:
2020-08-10 Patrick Angle <pangle@apple.com>
Add myself (Patrick Angle) to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=215328
Reviewed by Brian Burg.
* Scripts/webkitpy/common/config/contributors.json: Added myself.
2020-08-10 Aakash Jain <aakash_jain@apple.com>
[ews] Handle logs with unicode characters in ews emails
https://bugs.webkit.org/show_bug.cgi?id=215330
Reviewed by Darin Adler.
* BuildSlaveSupport/ews-build/send_email.py:
(send_email): Encode email content as utf-8.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure):
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure):
2020-08-10 Wenson Hsieh <wenson_hsieh@apple.com>
Add more logging to diagnose editing/selection/ios/select-all-non-editable-text-using-keyboard.html
https://bugs.webkit.org/show_bug.cgi?id=215089
<rdar://problem/66282806>
Reviewed by Tim Horton.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::keyDown):
* WebKitTestRunner/ios/mainIOS.mm:
(-[WebKitTestRunnerApp handleKeyHIDEvent:]): Deleted.
2020-08-10 Brian Burg <bburg@apple.com>
Unreviewed, fix ordering of contributors.
* Scripts/webkitpy/common/config/contributors.json:
2020-08-09 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r260831): Web process crashes under Editor::setComposition() after navigating with marked text
https://bugs.webkit.org/show_bug.cgi?id=215315
<rdar://problem/64740092>
Reviewed by Darin Adler.
Add a new API that exercises the crash by:
- Enabling PSON.
- Navigating to page A and inserting some marked text.
- Navigating to page B with a process swap (without confirming the marked text).
- Navigating back to page A, and verifying that the previoulsy marked text is now committed.
* TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm:
2020-08-08 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] REGRESSION(r265408): Unreviewed layout test script fix
https://bugs.webkit.org/show_bug.cgi?id=215292
<rdar://problem/66698141>
os.getuid() is available only for Unix.
> AttributeError: 'module' object has no attribute 'getuid'
* Scripts/webkitpy/__init__.py: Don't use os.getuid() unless sys.platform == 'darwin'.
2020-08-08 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Pick a reasonable auto-install location on NFS mounts
https://bugs.webkit.org/show_bug.cgi?id=215292
<rdar://problem/66698141>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/__init__.py: On MacOS, when the current user does not own the checkout, use ~/Libraries/webkitpy.
2020-08-08 Youenn Fablet <youenn@apple.com>
Add a quota delegate test for miniaturized/deminiaturized pages
https://bugs.webkit.org/show_bug.cgi?id=215166
Reviewed by Alex Christensen.
Add a Mac specific test for testing quota delegate in case page is miniaturized or not.
Update testing code to show more meaningful error reports.
* TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
(-[QuotaMessageHandler userContentController:didReceiveScriptMessage:]):
(-[QuotaMessageHandler receivedMessage]):
2020-08-07 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] It should be possible to override spellchecking results in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=215290
Reviewed by Devin Rousso.
Refactor `setSpellCheckerResults` so that it is on `UIScriptController` instead of `TestRunner`, such that it
can be triggered asynchronously from a layout test. This allows the testing hook to work in WebKit2, where the
swizzled spell checker is in the UI process.
* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
(setSpellCheckerResultsCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/ios/UIScriptControllerIOS.h:
Add a method implementation stub for iOS.
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setSpellCheckerResults): Deleted.
* DumpRenderTree/mac/UIScriptControllerMac.h:
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::setSpellCheckerResults):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setSpellCheckerLoggingEnabled):
(TestRunner::setSpellCheckerResults): Deleted.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::setSpellCheckerResults):
* TestRunnerShared/cocoa/LayoutTestSpellChecker.h:
* TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(-[LayoutTestSpellChecker setResultsFromJSValue:inContext:]):
(-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Deleted.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformResetStateToConsistentValues):
Make sure that we uninstall the swizzled `LayoutTestSpellChecker` between tests.
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::setSpellCheckerResults):
2020-08-07 Aakash Jain <aakash_jain@apple.com>
Windows EWS should filter build logs to show errors
https://bugs.webkit.org/show_bug.cgi?id=211344
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(BuildLogLineObserver.__init__): Added searchString and includeRelatedLines arguments.
(BuildLogLineObserver.outLineReceived): Added support for generic searchString and enabling/disabling inclusion of related lines.
(CompileWebKit.start): Enabled log filtering for windows and wincairo.
(AnalyzeCompileWebKitResults.filter_logs_containing_error): Made it accept any generic searchString.
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Pass different searchString for windows and wincairo.
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Ditto.
2020-08-07 John Wilander <wilander@apple.com>
Experimental: Cap the expiry of persistent cookies set in 3rd-party CNAME cloaked HTTP responses
https://bugs.webkit.org/show_bug.cgi?id=215201
<rdar://problem/57454633>
Reviewed by Brent Fulgham. Also reviewed and commented on by Chris Dumez, Jiten Mehta, Sam Weinig, and Alex Christensen.
This patch adds two TestRunner functions which allows for testing
with data that would otherwise come from DNS resolution:
- statisticsSetFirstPartyHostCNAMEDomain()
- statisticsSetThirdPartyCNAMEDomain()
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsSetFirstPartyHostCNAMEDomain):
(WTR::TestRunner::statisticsCallDidSetFirstPartyHostCNAMEDomainCallback):
(WTR::TestRunner::statisticsSetThirdPartyCNAMEDomain):
(WTR::TestRunner::statisticsCallDidSetThirdPartyCNAMEDomainCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsFirstPartyHostCNAMEDomain):
(WTR::TestController::setStatisticsThirdPartyCNAMEDomain):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didSetFirstPartyHostCNAMEDomain):
(WTR::TestInvocation::didSetThirdPartyCNAMEDomain):
* WebKitTestRunner/TestInvocation.h:
2020-08-07 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add mocks.Time
https://bugs.webkit.org/show_bug.cgi?id=214475
Reviewed by Dewei Zhu.
Provide a mock construct which allows basic time utilities to be used without
actually waiting.
* Scripts/libraries/webkitcorepy/README.md: Add documentation of mocks.Time.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/time_.py: Added.
(_MetaTime): Meta-class for Time object.
(add_metaclass): Python 2/3 compatible function to add meta-class to class.
(Time): Mock Time decorator.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/__init__.py: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/time_unittest.py: Added.
(MockTime): Verify the functionality of mocks.Time.
2020-08-07 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add aliases to Autoinstall packages
https://bugs.webkit.org/show_bug.cgi?id=215276
<rdar://problem/66688543>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.__init__): Add import aliases.
(AutoInstall.register): When given an alias, a package will be automatically installed when that alias is imported.
2020-08-07 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Support wheels in the autoinstaller
https://bugs.webkit.org/show_bug.cgi?id=215230
<rdar://problem/66636527>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version, include packaging and it's dependencies.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.Archive.unpack): .whl files are zip files.
(Package.__init__): Allow programs to request packages as wheels.
(Package.archives): Search for compatible .whl files.
(Package.install): Ensure that .egg-info directories are appropriately chowned, unpack wheels, format manifest.json.
(AutoInstall.tags): List the packaging tags associated with this distribution, but with a work-around for Big Sur.
2020-08-07 Aakash Jain <aakash_jain@apple.com>
Do not email bot watcher when first run of layout tests exceeds failure limit
https://bugs.webkit.org/show_bug.cgi?id=215274
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ReRunWebKitTests.evaluateCommand): Do not send emails for flaky tests when first_results_did_exceed_test_failure_limit.
2020-08-07 Wenson Hsieh <wenson_hsieh@apple.com>
Remove UIScriptController.removeAllDynamicDictionaries()
https://bugs.webkit.org/show_bug.cgi?id=215207
Reviewed by Sam Weinig.
Instead of clearing out learned words from the spellchecking dictionary between every test, simply disable
correction learning during each test.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::replaceTextAtRange):
(WTR::UIScriptController::removeAllDynamicDictionaries): Deleted.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::removeAllDynamicDictionaries): Deleted.
2020-08-07 Robin Morisset <rmorisset@apple.com>
IndexSparseSet::sort() should update m_map
https://bugs.webkit.org/show_bug.cgi?id=215100
Reviewed by Yusuke Suzuki and Mark Lam.
TestWTF was not testing IndexSparseSet at all. It now does.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/IndexSparseSet.cpp: Added.
(TestWebKitAPI::TEST):
2020-08-07 Aakash Jain <aakash_jain@apple.com>
EWS emails about build failure should include last few relevant error logs
https://bugs.webkit.org/show_bug.cgi?id=215264
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.filter_logs_containing_error):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeCompileWebKitResults.test_filter_logs_containing_error_with_too_many_errors):
2020-08-07 Youenn Fablet <youenn@apple.com>
Introduce a Vector::isolatedCopy() &&
https://bugs.webkit.org/show_bug.cgi?id=215160
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2020-08-07 Aakash Jain <aakash_jain@apple.com>
[ews] Add method to send email notifications to patch author for layout test failures
https://bugs.webkit.org/show_bug.cgi?id=215231
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):
2020-08-06 Sihui Liu <sihui_liu@apple.com>
Text manipulation: leading and trailing spaces should be ignored when comparing content
https://bugs.webkit.org/show_bug.cgi?id=214878
<rdar://problem/63735024>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-08-06 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Standardize setuptools version
https://bugs.webkit.org/show_bug.cgi?id=215234
<rdar://problem/66638187>
Reviewed by Darin Adler.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Use the same setuptools version
for Python 2 and 3.
2020-08-06 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, reverting r265325.
Caused several tests in fast/forms and editing/pasteboard to
time out
Reverted changeset:
"Remove UIScriptController.removeAllDynamicDictionaries()"
https://bugs.webkit.org/show_bug.cgi?id=215207
https://trac.webkit.org/changeset/265325
2020-08-06 David Kilzer <ddkilzer@apple.com>
WTF::makeString() should handle enum values
<https://webkit.org/b/214906>
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
(TestWebKitAPI::TEST):
- Update tests for renamed functions.
- Add test for enum values.
2020-08-06 David Kilzer <ddkilzer@apple.com>
check-webkit-style: better algorithm to check for acronym capitalization in an identifier
<https://webkit.org/b/215026>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(_split_identifier_into_words): Add.
- This method splits a identifier into individual words.
(_check_identifier_name_for_acronyms):
- Update to use _split_identifier_into_words(), which makes it
possible to check for improperly capitalized acronyms in the
middle of identifiers.
- Also add support for exceptions, which are valid words that
include acronyms (like "Curl").
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
- Fix a typo in a method name in another test.
(WebKitStyleTest.test_split_identifier_into_words): Add.
- Add tests for _split_identifier_into_words().
(WebKitStyleTest.test_identifier_names_with_acronyms):
- Add tests for cases that weren't possible with the previous
algorithm.
2020-08-06 Aakash Jain <aakash_jain@apple.com>
[ews] Add method to send email notifications to patch author for build failure
https://bugs.webkit.org/show_bug.cgi?id=215219
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_new_build_failure): Method to send the email for build failure by the patch.
(BugzillaMixin._is_bug_closed): Set bug_title as a build property so that it can be used later.
2020-08-06 Wenson Hsieh <wenson_hsieh@apple.com>
Remove UIScriptController.removeAllDynamicDictionaries()
https://bugs.webkit.org/show_bug.cgi?id=215207
Reviewed by Tim Horton.
This script controller hook was added to help reset dictionaries to a consistent state prior to running the test
`contenteditable-autocorrect.html`, which verifies that `autocorrect="no"` on a contenteditable element works as
intended by typing "ti" and expecting it to not be autocorrected to anything else (i.e. "to").
Instead of requiring each test that involves autocorrection to call this, move this reset step into
TestController::platformResetStateToConsistentValues and remove the testing hook.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::replaceTextAtRange):
(WTR::UIScriptController::removeAllDynamicDictionaries): Deleted.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::removeAllDynamicDictionaries): Deleted.
2020-08-06 Rob Buis <rbuis@igalia.com>
build-webkit script tries to execute command xcodebuild on Linux
https://bugs.webkit.org/show_bug.cgi?id=214353
Reviewed by Carlos Alberto Lopez Perez.
Only call the function determineXcodeSDK() when
building for an Apple/Cocoa platform.
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
2020-08-05 Aakash Jain <aakash_jain@apple.com>
Rename BigSur EWS to AppleSilicon EWS
https://bugs.webkit.org/show_bug.cgi?id=215205
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/config.json:
2020-08-05 Tim Horton <timothy_horton@apple.com>
Remove all references to non-existent 10.16
https://bugs.webkit.org/show_bug.cgi?id=215202
Reviewed by Wenson Hsieh.
* ContentExtensionTester/Configurations/Base.xcconfig:
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* ImageDiff/cg/Configurations/Base.xcconfig:
* ImageDiff/cg/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig:
* TestWebKitAPI/config.h:
* WebEditingTester/Configurations/Base.xcconfig:
* WebEditingTester/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* lldb/lldbWebKitTester/Configurations/Base.xcconfig:
* lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
2020-08-05 Caio Lima <ticaiolima@gmail.com>
r264813 breaks Make runner on remote devices
https://bugs.webkit.org/show_bug.cgi?id=215179
Reviewed by Saam Barati.
This patch is setting up the proper `LD_LIBRARY_PATH` value to run JSC
stress tests on remote devices.
* Scripts/run-jsc-stress-tests:
2020-08-05 Brady Eidson <beidson@apple.com>
Add a createWebArchiveData from a custom scheme API test
https://bugs.webkit.org/show_bug.cgi?id=215187
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/CreateWebArchive.mm: Added.
2020-08-05 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Return worker status to caller
https://bugs.webkit.org/show_bug.cgi?id=215086
<rdar://problem/66476525>
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/model/model.py:
(Model.do_work): Return if process has successfully processed results.
* resultsdbpy/resultsdbpy/model/model_unittest.py:
(ModelTest.test_no_work):
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext._do_job_for_key): Return if the job was successful.
(UploadContext.do_processing_work): Return true if any processed jobs were successful.
* resultsdbpy/resultsdbpy/model/upload_context_unittest.py:
(UploadContextTest.test_async_callback):
2020-08-05 Beth Dakin <bdakin@apple.com>
Make report-non-inclusive-language ignore files within .svn and .git
https://bugs.webkit.org/show_bug.cgi?id=215156
Reviewed by Darin Adler.
* Scripts/report-non-inclusive-language:
2020-08-05 Aakash Jain <aakash_jain@apple.com>
EWS emails about build failure should include relevant error logs
https://bugs.webkit.org/show_bug.cgi?id=215174
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.start):
(AnalyzeCompileWebKitResults):
(AnalyzeCompileWebKitResults.getResults): Method to read the logs from previous build step.
(AnalyzeCompileWebKitResults.analyzeResults): Made a separate method called using deferred after reading the logs from previous steps.
(AnalyzeCompileWebKitResults.getBuildStepByName): Method to get step object from step name.
(AnalyzeCompileWebKitResults.filter_logs_containing_error): Filter the logs to include in email.
(AnalyzeCompileWebKitResults.send_email_for_preexisting_build_failure): Renamed from send_email_for_build_failure. Added
relevant error logs in email.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2020-08-05 Sihui Liu <sihui_liu@appe.com>
TextManipulationController should observe newly inserted or displayed text
https://bugs.webkit.org/show_bug.cgi?id=215157
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-08-05 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Keyboard shortcuts and arrow key scrolling stop working after navigating via swipe gesture
https://bugs.webkit.org/show_bug.cgi?id=215137
<rdar://problem/65082979>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/NavigationSwipeTests.mm: Added.
(-[TestNavigationInteractiveTransition startInteractiveTransition:]):
Add an API test that exercises the bug by resigning first responder underneath `-startInteractiveTransition:`,
and checking that we have become first responder once again after completing the transition.
* TestWebKitAPI/ios/UIKitSPI.h:
2020-08-04 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add mocks.ContextStack
https://bugs.webkit.org/show_bug.cgi?id=214484
Reviewed by Dewei Zhu.
Add a class which allows a context leveraging mock to stack. This is useful when
mocking requests or subprocess, where a single function (or class of functions)
is handling calls that are destined for different for different mock handlers.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/__init__.py: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/mocks/context_stack.py: Added.
(ContextStack): Class which stacks mock handlers.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/__init__.py: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/mocks/context_stack_unittest.py: Added.
(to_be_replaced): Function to be mocked
(ExampleStack): Example mock handler.
(ContextStack): Test suite.
2020-08-04 Fujii Hironori <Hironori.Fujii@sony.com>
[webkitcorepy] REGRESSION(r265254): autoinstaller is failing to execute setup.py on win32 Python
https://bugs.webkit.org/show_bug.cgi?id=215152
Reviewed by Jonathan Bedard.
There were two problems. Win32 Python needs SYSTEMROOT environment
variable to run setup.py. win-inet-pton is using `_` for the
directory name (win_inet_pton-1.1.0).
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): Add a new candidate directory by replacing '-'
with '_'. Pass through SYSTEMROOT env var.
2020-08-04 Wenson Hsieh <wenson_hsieh@apple.com>
Move poseAsClass() into the TestRunnerShared directory
https://bugs.webkit.org/show_bug.cgi?id=215147
Reviewed by Tim Horton.
Move the duplicated implementations of `poseAsClass()` out of WebKitTestRunner and DumpRenderTree,
and into helper files in TestRunnerShared instead.
No change in behavior.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/DumpRenderTree.mm:
(poseAsClass): Deleted.
(setPersistentUserStyleSheetLocation): Deleted.
* TestRunnerShared/cocoa/PoseAsClass.h: Renamed from Tools/WebKitTestRunner/mac/PoseAsClass.h.
* TestRunnerShared/cocoa/PoseAsClass.mm: Renamed from Tools/WebKitTestRunner/mac/PoseAsClass.mm.
(swizzleAllMethods):
(poseAsClass):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2020-08-04 Per Arne Vollan <pvollan@apple.com>
[iOS] Check that Accessibility is enabled when receiving the enable Accessibility notification
https://bugs.webkit.org/show_bug.cgi?id=215112
Reviewed by Youenn Fablet.
Added test WebKit.AccessibilityHasNoPreferencesServiceAccessWhenPostingNotification.
* TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
(TEST):
2020-08-04 Chris Fleizach <cfleizach@apple.com>
AX: VoiceOver needs access to font styling at insertion point
https://bugs.webkit.org/show_bug.cgi?id=215129
Reviewed by Darin Adler.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::attributeValueAsync):
2020-08-04 Kate Cheney <katherine_cheney@apple.com>
Add test coverage for handling redirects with App-Bound Domains
https://bugs.webkit.org/show_bug.cgi?id=215128
<rdar://problem/66528515>
Reviewed by Brady Eidson.
We should always make a new WebView if the test options indicate an
app-bound view, because we need a new configuration.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::ensureViewSupportsOptionsForTest):
2020-08-04 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Use setup.py for the autoinstaller
https://bugs.webkit.org/show_bug.cgi?id=215067
<rdar://problem/66432719>
Reviewed by Stephanie Lewis.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Add all requests dependencies.
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.Archive__init__): Add extension, tar.gz by default.
(Package.Archive.path): Support multiple file types.
(Package.Archive.unpack): Support .zip files.
(Package.__init__): Add slow_install flag.
(Package.archives): Handle case were a library does not have a tiny version.
(Package.install): Call setup.py instead of just moving the library out of the package.
2020-08-04 Hector Lopez <hector_i_lopez@apple.com>
Add myself to contributors.json
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2020-08-04 Andres Gonzalez <andresg_22@apple.com>
Add the ability of comparing the accessibility tree with isolated tree mode on and off.
https://bugs.webkit.org/show_bug.cgi?id=215000
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::setIsolatedTreeMode):
(WTR::AccessibilityController::setAccessibilityIsolatedTreeMode): Renamed setIsolatedTreeMode.
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
Exposes setIsolatedTreeMode to JavaScript code so that it can be turned
on and off in a layout tests.
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
Exposes isIsolatedObject to JavaScript code so that layout tests can
check whether the underlying accessibility object is an AXIsolatedObject
or an AXObject.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting): Rename.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::isIsolatedObject const):
2020-08-04 Aakash Jain <aakash_jain@apple.com>
[ews] Apple Silicon builder should skip non-relevant patches
https://bugs.webkit.org/show_bug.cgi?id=215111
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(BuildFactory.__init__): Added the checkRelevance parameter.
(macOSBuildOnlyFactory.__init__):
* BuildSlaveSupport/ews-build/factories_unittest.py:
(TestBuildFactory.test_macos_build_only_factory): Updated unit-test.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Added patch relevance info for Big Sur.
(CheckPatchRelevance._patch_is_relevant):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestCheckPatchRelevance.test_relevant_bigsur_builder_patch): Drive-by fix to make the comparision more robust.
(TestCheckPatchRelevance.test_non_relevant_patch_on_various_queues): Made the unit-test generic to cover multiple queues.
(TestCheckPatchRelevance.test_non_relevant_patch): Deleted.
2020-08-03 Wenson Hsieh <wenson_hsieh@apple.com>
Allow -accessoryDone to blur the focused element on iPad when AutoFilling strong passwords
https://bugs.webkit.org/show_bug.cgi?id=215105
<rdar://problem/65143984>
Reviewed by Tim Horton.
Add an API test that exercises the behavior change when run on iPad simulator.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
* TestWebKitAPI/ios/UIKitSPI.h:
2020-08-03 Tim Horton <timothy_horton@apple.com>
Occasional crashes when running nested runloops while using UIWebView
https://bugs.webkit.org/show_bug.cgi?id=213067
<rdar://problem/64239727>
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitLegacy/ios/WebThreadLock.mm: Added.
Add a API test that fails before this change.
2020-08-03 Wenson Hsieh <wenson_hsieh@apple.com>
Remove the ENABLE_DATA_INTERACTION feature flag
https://bugs.webkit.org/show_bug.cgi?id=215091
Reviewed by Megan Gardner.
* Scripts/webkitperl/FeatureList.pm:
2020-08-03 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS 14] editing/selection/ios/select-all-non-editable-text-using-keyboard.html sometimes times out
https://bugs.webkit.org/show_bug.cgi?id=215089
<rdar://problem/66282806>
Reviewed by Tim Horton.
Add some logging to try and diagnose this flaky test failure. The timeout only happens on iOS 14, and also does
not reproduce on my local machine. This patch tests a couple of hypotheses which may explain why the test times
out:
- The test may be starting in a state where the content view is not first responder, or the view's window is
not the key window.
- Synthesizing the modifier keydown HID event may be failing to change the live modifier flags on the
application's `GSKeyboardRef` (e.g. the issue that was fixed in <https://trac.webkit.org/r264907>).
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::keyDown):
* WebKitTestRunner/ios/mainIOS.mm:
(-[WebKitTestRunnerApp handleKeyHIDEvent:]):
2020-08-03 Aakash Jain <aakash_jain@apple.com>
Disable gtk-wk2 queue temporarily
https://bugs.webkit.org/show_bug.cgi?id=215098
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/config.json:
2020-08-03 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r264170): fast/events/touch/ios/long-press-on-image.html times out
https://bugs.webkit.org/show_bug.cgi?id=215075
<rdar://problem/66294637>
Reviewed by Megan Gardner.
This test started timing out after r264170, due to the `if (self.showingContextMenu)` early return added inside
`-[TestRunnerWKWebView _didShowContextMenu]`. If this test is run after another test that attempts to show a
context menu but does not dismiss it, we will begin the test in a state where `showingContextMenu` is already
set to `YES`, which means that `didShowContextMenuCallback` will never be invoked.
To address this, force any context menu interactions on `WKContentView` to dismiss between tests. See below for
more details.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView immediatelyDismissContextMenuIfNeeded]):
When resetting state between tests, forcibly dismiss any context menus that were shown while running the
previous test and reset `showingContextMenu` back to `NO`.
(-[TestRunnerWKWebView contentView]):
Drive-by refactoring: add a readonly helper property to grab the WKWebView's content view for testing purposes,
and use this property instead of directly calling `-valueForKeyPath:` in a few places (see below).
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::notifyDone):
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::platformContentView const):
(WTR::UIScriptControllerIOS::calendarType const):
2020-08-03 Devin Rousso <drousso@apple.com>
should be able to request an editing context for a given region of a given input
https://bugs.webkit.org/show_bug.cgi?id=215042
<rdar://problem/65561491>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST.DocumentEditingContext.SpatialRequest_RectEncompassingInput): Added.
(TEST.DocumentEditingContext.SpatialRequest_RectBeforeInput): Added.
(TEST.DocumentEditingContext.SpatialRequest_RectInsideInput): Added.
(TEST.DocumentEditingContext.SpatialRequest_RectAfterInput): Added.
(TEST.DocumentEditingContext.SpatialAndCurrentSelectionRequest_RectEncompassingInputWithSelection): Added.
(TEST.DocumentEditingContext.SpatialAndCurrentSelectionRequest_RectBeforeInputWithSelection): Added.
(TEST.DocumentEditingContext.SpatialAndCurrentSelectionRequest_RectBeforeSelectionInInput): Added.
(TEST.DocumentEditingContext.SpatialAndCurrentSelectionRequest_RectAfterSelectionInInput): Added.
(TEST.DocumentEditingContext.SpatialAndCurrentSelectionRequest_RectAfterInputWithSelection): Added.
2020-08-03 Zhifei Fang <zhifei_fang@apple.com>
run-jsc-stress-test: Set DYLD_FRAMEWORK_PATH to "$(cd ../.vm; pwd)" because it escape shell words
https://bugs.webkit.org/show_bug.cgi?id=215077
Reviewed by Alexey Proskuryakov.
* Scripts/run-jsc-stress-tests:
2020-08-03 Brian Burg <bburg@apple.com>
REGRESSION(r264766) webkitpy: newly added --suite flag conflicts with other --suite flags in safaripy
https://bugs.webkit.org/show_bug.cgi?id=215038
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/results/options.py:
(upload_options):
For compatibility, make it possible to create the option with a differently-named flag.
2020-08-03 Philippe Normand <pnormand@igalia.com>
[WPE][GTK] run-minibrowser no longer assumes release configuration by default
https://bugs.webkit.org/show_bug.cgi?id=214961
Reviewed by Adrian Perez de Castro.
* Scripts/webkitpy/port/base.py:
(Port.set_option_default): Ensure default value is set on optparsed options. In the case of
the default build configuration being set from the Port constructor, this wasn't done
properly. After fixing this, the WPE and GTK ports are correctly implicitely reusing the
build configuration option through the _build_path() method.
2020-08-03 Philippe Normand <pnormand@igalia.com>
REGRESSION(r264096): [flatpak] Clean gst-build within build-webkit fails
https://bugs.webkit.org/show_bug.cgi?id=214080
Reviewed by Adrian Perez de Castro.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Don't attempt to configure the gst-env when starting sccache-dist.
2020-08-02 Simon Fraser <simon.fraser@apple.com>
Improve the check-for-duplicated-platform-test-results script
https://bugs.webkit.org/show_bug.cgi?id=215072
Reviewed by Darin Adler.
check-for-duplicated-platform-test-results had some problems.
First, it defaulted to -wk1 results directories, and didn't check -wk2 directories, so
run the logic twice, with options.webkit_test_runner True and False.
Second, it only looked for results in the most specific fallback directory, so
with a fallback path like 'mac-mojave-wk1 -> mac-mojave -> mac-wk1 -> mac -> generic'
it would only remove results in mac-mojave-wk1, not in 'mac-mojave'.
Also add some logging to the script.
* Scripts/check-for-duplicated-platform-test-results:
(remove_layout_test_path_prefix):
(check_duplicate.sha1):
(check_duplicate):
(platform_list):
(find_duplicates_in_path):
(find_duplicates_in_path.find_duplicates):
(check_platform):
(main):
* Scripts/webkitpy/port/base.py:
(Port.supports_layout_tests): Some ports (iOS and watch device ports) don't support
testing with no associated device. Need to fix errors thrown from default_baseline_search_path().
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.supports_layout_tests):
* Scripts/webkitpy/port/watch_device.py:
(WatchDevicePort.supports_layout_tests):
* Scripts/webkitpy/port/win.py: self._os_version is None when run on another platform.
(WinPort.default_baseline_search_path):
(WinCairoPort._search_paths):
2020-08-02 Wenson Hsieh <wenson_hsieh@apple.com>
Table data is incorrectly translated in some articles on en.wikipedia.org
https://bugs.webkit.org/show_bug.cgi?id=215071
<rdar://problem/66354013>
Reviewed by Darin Adler.
Add a new API test to exercise the change.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-08-02 Darin Adler <darin@apple.com>
Write a script to find duplicate files and delete some duplicate tests in LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=215073
Reviewed by Anders Carlsson.
* Scripts/find-duplicate-files: Added. Basic script that uses MD5 digests
to find duplicate files.
* Scripts/report-non-inclusive-language: Tweaked a tiny bit; use a variable.
2020-08-01 Brady Eidson <beidson@apple.com>
Special HID mapping for the Logitech F310/F710 controllers.
https://bugs.webkit.org/show_bug.cgi?id=215050
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/HIDGamepads.mm:
* TestWebKitAPI/mac/GamepadMappings/LogitechF310.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::logitechF310Mapping):
* TestWebKitAPI/mac/GamepadMappings/LogitechF710.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::logitechF710Mapping):
* TestWebKitAPI/mac/VirtualGamepad.h:
2020-08-01 Brady Eidson <beidson@apple.com>
Special HID mapping for the Google Stadia controller
https://bugs.webkit.org/show_bug.cgi?id=215061
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/HIDGamepads.mm:
* TestWebKitAPI/mac/GamepadMappings/GoogleStadia.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::googleStadiaMapping):
* TestWebKitAPI/mac/VirtualGamepad.h:
2020-07-31 Alex Christensen <achristensen@webkit.org>
Use more inclusive terminology in Tools
https://bugs.webkit.org/show_bug.cgi?id=214971
Reviewed by Sam Weinig.
* DumpRenderTree/TestRunner.cpp:
(addOriginAccessAllowListEntryCallback):
(removeOriginAccessAllowListEntryCallback):
(TestRunner::staticFunctions):
(addOriginAccessWhitelistEntryCallback): Deleted.
(removeOriginAccessWhitelistEntryCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::addOriginAccessAllowListEntry):
(TestRunner::removeOriginAccessAllowListEntry):
(TestRunner::addOriginAccessWhitelistEntry): Deleted.
(TestRunner::removeOriginAccessWhitelistEntry): Deleted.
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::addOriginAccessAllowListEntry):
(TestRunner::removeOriginAccessAllowListEntry):
(TestRunner::addOriginAccessWhitelistEntry): Deleted.
(TestRunner::removeOriginAccessWhitelistEntry): Deleted.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
(removeOldInjectedContentAndResetLists):
(testUserContentManagerInjectedStyleSheet):
(testUserContentManagerInjectedScript):
(testUserContentManagerContentFilter):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::addOriginAccessAllowListEntry):
(WTR::TestRunner::removeOriginAccessAllowListEntry):
(WTR::TestRunner::addOriginAccessWhitelistEntry): Deleted.
(WTR::TestRunner::removeOriginAccessWhitelistEntry): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2020-07-31 Jonathan Bedard <jbedard@apple.com>
[test-webkitpy] Have CI use verbose logging
https://bugs.webkit.org/show_bug.cgi?id=215019
<rdar://problem/66383986>
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitPyPython2Tests): Add --verbose flag.
(RunWebKitPyPython3Tests): Ditto.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(test_success): Add --verbose flag to test-webkitpy command.
(test_unexpected_failure): Ditto.
(test_failure): Ditto.
(test_errors): Ditto.
2020-07-31 Brady Eidson <beidson@apple.com>
Special HID mapping for the Dualshock 3 controller
<rdar://problem/66255198> and https://bugs.webkit.org/show_bug.cgi?id=214911
Reviewed by Tim Horton.
Add a virtual Dualshock3 and verify a few attributes about it.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/HIDGamepads.mm:
* TestWebKitAPI/mac/GamepadMappings/SonyDualShock3.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::sonyDualshock3Mapping):
* TestWebKitAPI/mac/VirtualGamepad.h:
2020-07-31 Youenn Fablet <youenn@apple.com>
Update service worker if certificate info does not match when soft updating
https://bugs.webkit.org/show_bug.cgi?id=214988
Reviewed by Alex Christensen.
Update HTTPServer to pass two optional parameters:
- A port number to listen to if provided
- A custom server identity to use if provided
The API test is loading an URL on a first server.
This triggers registration of a service worker.
It then stops this server and launches a second server on the same port with a different certificate.
A second page is loaded on the same URL.
This triggers the case of updating a service worker certificate info.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(createTestIdentity):
(testIdentity):
(testIdentity2):
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/cocoa/HTTPServer.h:
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::listenerParameters):
(TestWebKitAPI::HTTPServer::HTTPServer):
2020-07-31 Sihui Liu <sihui_liu@appe.com>
-[WKWebsiteDataStore _renameOrigin:] needs to support IndexedDB renames
https://bugs.webkit.org/show_bug.cgi?id=214905
<rdar://problem/66247978>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2020-07-31 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Changes to Tools/Scripts/libraries should trigger EWS
https://bugs.webkit.org/show_bug.cgi?id=214998
<rdar://problem/66355658>
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Add Tools/Scripts/libraries.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestCheckPatchRelevance.test_relevant_webkitpy_patch):
(TestCheckPatchRelevance.test_relevant_libraries_patch):
2020-07-31 Keith Miller <keith_miller@apple.com>
Fix build around broken internal SDK for iOS 13
https://bugs.webkit.org/show_bug.cgi?id=215009
Reviewed by Mark Lam.
We need to manually include the private headers because the system tries to hide them from us even on internal builds...
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/Configurations/TestWebKitAPILibrary.xcconfig:
2020-07-31 Aakash Jain <aakash_jain@apple.com>
[ews] Add unit-tests for various builder factories
https://bugs.webkit.org/show_bug.cgi?id=214969
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories_unittest.py: Added unit-tests.
(TestBuildFactory.test_generic_build_factory):
(TestBuildFactory.test_gtk_build_factory):
(TestBuildFactory.test_wpe_factory):
(TestBuildFactory.test_wincairo_factory):
2020-07-30 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add an auto-installer (Unreviewed follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=214606
Unreviewed development nit.
* .gitignore: Add Scripts/libraries/autoinstalled to .gitignore.
2020-07-30 Fujii Hironori <Hironori.Fujii@sony.com>
webkitpy: If LC_ALL is set to a empty string, svn doesn't use the password store
https://bugs.webkit.org/show_bug.cgi?id=214983
Reviewed by Darin Adler.
If LC_ALL is set to a empty string, svn doesn't use the password
store in my environment. I'm using svn with gpg-agent on Ubuntu
20.04 (svn version 1.13.0, gpg-agent 2.2.19).
r101274 (Bug 68691) has set LC_ALL to a empty string.
If I invoke 'svn ci' on my terminal, svn askes gpg-agent my
password as expected, but if I invoke 'LC_ALL= svn ci', svn askes
my password by itself.
* Scripts/webkitpy/common/host.py:
(Host._engage_awesome_locale_hacks): Set the env var LC_ALL to 'en_US.UTF-8'.
2020-07-30 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Make scripts called with sudo use a userspace autoinstall
https://bugs.webkit.org/show_bug.cgi?id=214981
<rdar://problem/66342996>
Reviewed by Dewei Zhu.
Sudo can bring havoc to the autoinstaller, because the directories it creates will belong
to the root user. We should ensure that the directories created by a sudo script call
are owned by the user that called sudo, when possible.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.install): Ensure that installed packages are not owned by root, if possible.
(AutoInstall.userspace_should_own): Ensure that a directory or file is not owned by root, if possible.
(AutoInstall.set_directory): Ensure that the directories containing auto-installed packages are not
owned by root, if possible.
2020-07-30 Dean Jackson <dino@apple.com>
[WebGL] Safari snapshots of WebGL content in the tab picker don't work
https://bugs.webkit.org/show_bug.cgi?id=214452
<rdar://problem/21243082>
Test for snapshotting. Marked as PLATFORM(MAC) for now.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(TEST):
2020-07-30 Jer Noble <jer.noble@apple.com>
[Cocoa] Adopt -[AVContentKeyRequest willOutputBeObscuredDueToInsufficientExternalProtectionForDisplays:]
https://bugs.webkit.org/show_bug.cgi?id=214659
<rdar://problem/63555006>
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Observer.cpp: Added.
(TestWebKitAPI::TEST):
2020-07-30 David Kilzer <ddkilzer@apple.com>
check-webkit-style should enforce acronym capitalization at start/end of an identifier
<https://webkit.org/b/214954>
Reviewed by Jonathan Bedard.
* DumpRenderTree/mac/DumpRenderTree.mm:
(shouldIgnoreWebCoreNodeLeaks):
(changeWindowScaleIfNeeded):
- Fix case issues in variables using URL acronym.
* Scripts/webkitpy/style/checkers/cpp.py:
(_check_identifier_name_for_acronyms): Add.
- This contains the logic to report acronyms with invalid case
at the start and at the end of an identifer.
(check_identifier_name_in_declaration):
- Keep track of whether the identifer came from a class,
namespace or struct.
- Fix bug where `auto` variables would not be checked because
`auto` was removed with other non-type keywords like `inline`,
leaving no type for the variable. Add a comment to describe
what this line is doing.
- Fix bug when removing "new" that changed an identifier named
"newURL" to "URL".
- Add call to _check_identifier_name_for_acronyms() to implement
the check.
(CppChecker):
- Add 'readability/naming/acronym' to the list of active
checkers.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_identifier_names_with_acronyms):
- Add tests. About half of the tests were taken from actual
code that initially caused false positives during development.
2020-07-30 Beth Dakin <bdakin@apple.com>
Make report-non-inclusive-language ignore xcuserstate
https://bugs.webkit.org/show_bug.cgi?id=214985
Reviewed by Darin Adler.
Ignore xcuserstate since it introduces random noise.
* Scripts/report-non-inclusive-language:
2020-07-30 Tim Horton <timothy_horton@apple.com>
Web content gets stuck in an inactive state (no cursor updates or text insertion caret) when activating a tab with a thumbnail visible
https://bugs.webkit.org/show_bug.cgi?id=214962
<rdar://problem/65670984>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
(TestWebKitAPI::TEST):
Add a test ensuring that we go back to the active-window state after
unparenting a WKThumbnailView that was installed in an inactive window.
(-[WKThumbnailViewDelegate webView:didFinishNavigation:]): Deleted.
* TestWebKitAPI/mac/OffscreenWindow.h:
* TestWebKitAPI/mac/OffscreenWindow.mm:
(-[OffscreenWindow initWithSize:]):
(-[OffscreenWindow initWithSize:isKeyWindow:]):
(-[OffscreenWindow isKeyWindow]):
2020-07-30 Jonathan Bedard <jbedard@apple.com>
[Big Sur] Add limited Seed 3 support to EWS
https://bugs.webkit.org/show_bug.cgi?id=214874
<rdar://problem/66216190>
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): Add AppleSilicon bubbles.
* BuildSlaveSupport/ews-build/config.json: Add AppleSilicon device.
* BuildSlaveSupport/ews-build/factories.py:
(macOSBuildOnlyFactory): Skip uploading to S3.
* BuildSlaveSupport/ews-build/factories_unittest.py:
(TestBuildFactory.test_macos_build_only_factory):
* BuildSlaveSupport/ews-build/loadConfig.py: Import macOSBuildOnlyFactory.
2020-07-30 Alex Christensen <achristensen@webkit.org>
Remove non-inclusive terminology from WebKit variable names and test-only SPI
https://bugs.webkit.org/show_bug.cgi?id=214941
Reviewed by Michael Catanzaro.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::addOriginAccessWhitelistEntry):
(WTR::TestRunner::removeOriginAccessWhitelistEntry):
2020-07-15 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Enable API tests
https://bugs.webkit.org/show_bug.cgi?id=214344
Reviewed by Adrian Perez de Castro.
Port API tests to GTK4. Context menu and option menu tests are still disabled for GTK4 because we plan to change
the API for GTK4 in those cases.
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
(webkitInputMethodContextMockFilterKeyEvent):
* TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestOptionMenu.cpp:
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(checkMimeTypeForFilter):
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebExtensionInputElementIsUserEdited):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
* TestWebKitAPI/Tests/WebKitGtk/AccessibilityTestServer.cpp:
* TestWebKitAPI/Tests/WebKitGtk/InspectorTestServer.cpp:
(main):
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(testContextMenuPopulateMenu):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGtk/TestInspector.cpp:
* TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp:
* TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
(Clipboard::Clipboard):
(Clipboard::clear):
(Clipboard::containsText const):
(Clipboard::waitForText):
(Clipboard::readText):
(testWebViewEditorCutCopyPasteNonEditable):
(testWebViewEditorCutCopyPasteEditable):
(testWebViewEditorSelectAllNonEditable):
(testWebViewEditorSelectAllEditable):
(loadContentsAndTryToCutSelection):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
* TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
(WebViewTest::platformDestroy):
(WebViewTest::showInWindow):
* TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
(TestWebKitAPI::Util::isKeyDown):
* TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
(TestWebKitAPI::PlatformWebView::initialize):
2020-07-30 Brady Eidson <beidson@apple.com>
Refactor HID gamepad code to be much less fragile and much easier to hack on.
https://bugs.webkit.org/show_bug.cgi?id=214910
Reviewed by Darin Adler.
Add a test that verifies connect, basic button/axis changes, and disconnect of a HID gamepad.
* TestWebKitAPI/Tests/mac/HIDGamepads.mm:
2020-07-29 Fujii Hironori <Hironori.Fujii@sony.com>
Replace 'http://svn.webkit.org' with 'https://svn.webkit.org' in webkitpy scripts
https://bugs.webkit.org/show_bug.cgi?id=214957
Reviewed by Daniel Bates.
SVNRepository.has_authorization_for_realm failed to find the realm
string.
* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLogEntry): Removed a unused variable 'svn_id_regexp'.
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
* Scripts/webkitpy/common/config/urls.py:
* Scripts/webkitpy/tool/commands/suggestnominations.py:
(AbstractCommitLogCommand): Changed _revision_regexp to use 'https?' to accept 'https'.
* Scripts/webkitpy/tool/commands/suggestnominations_unittest.py:
2020-07-29 Darin Adler <darin@apple.com>
Add script to help us count uses of non-inclusive terms
https://bugs.webkit.org/show_bug.cgi?id=214942
Reviewed by Beth Dakin.
* Scripts/report-non-inclusive-language: Added.
2020-07-29 Kate Cheney <katherine_cheney@apple.com>
Migrate App-Bound Domains code from WebKit Additions
https://bugs.webkit.org/show_bug.cgi?id=214889
<rdar://problem/66075857>
Reviewed by Brent Fulgham.
Replace WebKit Additions macros with code to set a different bundle
identifier indicating that we want to run an App-Bound Domains test.
Remove #if USE(APPLE_INTERNAL_SDK) check so we run these tests on EWS.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(cleanUpInAppBrowserPrivacyTestSettings):
(initializeInAppBrowserPrivacyTestSettings):
2020-07-29 Simon Fraser <simon.fraser@apple.com>
Make the lock icon update correctly in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=214933
Reviewed by Alex Christensen.
Various fixes to the MiniBrowser lock icon. Set the initial state to unlocked in the XIB.
Dim the icon when there is no certificate to display. Dim it and show unlocked for WK1 windows.
* MiniBrowser/mac/BrowserWindow.xib:
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController showCertificate:]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateUserInterfaceItem:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateUserInterfaceItem:]):
2020-07-29 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add an auto-installer (Unreviewed follow-up fix 2)
https://bugs.webkit.org/show_bug.cgi?id=214606
Unreviewed infrastructure fix.
webkit-patch just ignores svn:ignore, and lands the patch with only a changelog.
* Scripts/libraries: Added property svn:ignore.
2020-07-29 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Inspector bar in Mail compose shows incorrect text alignment style for ranged selections
https://bugs.webkit.org/show_bug.cgi?id=214930
<rdar://problem/66185224>
Reviewed by Tim Horton.
Add a new API test and adjust an existing test to verify the codechange.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
* TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html:
* TestWebKitAPI/Tests/mac/AttributedSubstringForProposedRange.mm: Added.
(TEST):
2020-07-29 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add an auto-installer (Unreviewed follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=214606
Unreviewed infrastructure fix.
svn:ignore was not correctly set when the patch was landed.
* Scripts/libraries: Added property svn:ignore.
2020-07-29 Jonathan Bedard <jbedard@apple.com>
[ews.webkit.org] Skip build upload for embedded iOS builds
https://bugs.webkit.org/show_bug.cgi?id=214923
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/config.json: Skip upload for iOS Embedded builds.
* BuildSlaveSupport/ews-build/factories.py:
(iOSEmbeddedBuildFactory): Skip building and uploading product archive.
2020-07-29 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add an auto-installer
https://bugs.webkit.org/show_bug.cgi?id=214606
Reviewed by Darin Adler.
Add an autoinstaller to webkitcorepy. This is eventually intended to replace the
autoinstaller in webkitpy.
* Scripts/libraries: Added property svn:ignore.
* Scripts/libraries/webkitcorepy/README.md:
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py: Added.
(Package): Class representing a single Python module.
(Package.Archive): Class representing a zip file containing a package.
(Package.Archive.__init__): Construct representation with a name, version and
downloadable link.
(Package.Archive.__repr__): Archives are named based on their package name
and version.
(Package.Archive.path): The location of a downloaded archive on disk.
(Package.Archive.download): Download archive and write contents to disk.
(Package.Archive.unpack): Unpack archive on disk into package.
(Package.__init__): Packages are constructed with a name, version and name on
PyPi, which is assumed to be the package name unless specified.
(Package.location): Location of the package on disk.
(Package.do_post_install): Some packages have post-install actions, execute
those.
(Package.archives): Return a list of archives which match the specified
package parameters.
(Package.is_cached): Check the AutoInstall manifest to see if a package has
already been installed.
(Package.install): If needed, find a compatible archive for the specified
package, download and install it.
(AutoInstall): Namespace for auto-install functionality.
(AutoInstall._request): Make a request to the package index specified.
(AutoInstall.enable): Enable the auto-installer.
(AutoInstall.disable): Disable the auto-installer.
(AutoInstall.set_directory): Set the directory to save auto-installed libraries to.
(AutoInstall.set_index): Use a different package index.
(AutoInstall.set_timeout): Set the default timeout.
(AutoInstall.register): Add a package to the list of packages to be installed
when encountered.
(AutoInstall.install): Given a package, register and install that package.
(AutoInstall.install_everything): Install all registered packages if they are not
already.
(AutoInstall.find_module): Check and see if a requested module has been registered,
if it has, install that module if needed.
* Scripts/libraries/webkitcorepy/webkitcorepy/cacert.pem: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/rootcerts.p7b: Added.
* Scripts/webkitpy/__init__.py: Add logger, autoinstalled requests and certifi.
* Scripts/webkitpy/test/main.py:
(Tester._run_tests): Include webkitcorepy.AutoInstall when installing everything.
2020-07-29 Jonathan Bedard <jbedard@apple.com>
[build.webkit.org] Add Big Sur builder (Follow-up Fix)
https://bugs.webkit.org/show_bug.cgi?id=214879
<rdar://problem/66221071>
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build): Add Big Sur.
2020-07-29 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r265018.
https://bugs.webkit.org/show_bug.cgi?id=214917
Broke various ios-wk2 tests.
Reverted changeset:
"Migrate App-Bound Domains code from WebKit Additions"
https://bugs.webkit.org/show_bug.cgi?id=214889
https://trac.webkit.org/changeset/265018
2020-07-29 Youenn Fablet <youenn@apple.com>
TestWebKitAPI.WebKit.QuotaDelegate flaky times out
https://bugs.webkit.org/show_bug.cgi?id=214842
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
In case the page is not visible, quota increase delegate will be denied.
Delay the cache storage hence the quota increase until the page is visible.
2020-07-28 Dean Jackson <dino@apple.com>
run-minibrowser doesn't respect webkit configuration
https://bugs.webkit.org/show_bug.cgi?id=214857
<rdar://problem/66187636>
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/minibrowser/run_webkit_app.py:
(main): Don't force a Release configuration if none was given.
* Scripts/webkitpy/port/config.py:
(Config.flag_for_configuration): Look at the default configuration if we didn't
pass one in.
2020-07-28 Kate Cheney <katherine_cheney@apple.com>
Migrate App-Bound Domains code from WebKit Additions
https://bugs.webkit.org/show_bug.cgi?id=214889
<rdar://problem/66075857>
Reviewed by Brent Fulgham.
Replace WebKit Additions macros with code to set a different bundle
identifier indicating that we want to run an App-Bound Domains test.
Remove #if USE(APPLE_INTERNAL_SDK) check so we run these tests on EWS.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(cleanUpInAppBrowserPrivacyTestSettings):
(initializeInAppBrowserPrivacyTestSettings):
2020-07-28 Aakash Jain <aakash_jain@apple.com>
[ews] Add macOS Big Sur support in PrintConfiguration
https://bugs.webkit.org/show_bug.cgi?id=214903
Reviewed by Darin Adler.
* BuildSlaveSupport/ews-build/steps.py:
(PrintConfiguration.convert_build_to_os_name):
2020-07-28 Jonathan Bedard <jbedard@apple.com>
[build.webkit.org] Add Big Sur builder
https://bugs.webkit.org/show_bug.cgi?id=214879
<rdar://problem/66221071>
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/config.json: Add Big Sur release builder.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Add new builder to bot watcher's dashboard.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Add BigSur.
2020-07-27 Jonathan Bedard <jbedard@apple.com>
[Big Sur] Add Seed 3 to bot watcher's dashboard
https://bugs.webkit.org/show_bug.cgi?id=214863
<rdar://problem/66198642>
Reviewed by Darin Adler.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/BigSur.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/BigSur@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: Add Big Sur.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css: Ditto.
2020-07-28 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add string_utils (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=214405
Reviewed by Aakash Jain.
* Scripts/webkit-patch:
(ForgivingUTF8Writer.write): Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/unicode_compatibility.py: Removed.
2020-07-27 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Drag and drop does not preserve file names that contain periods
https://bugs.webkit.org/show_bug.cgi?id=214701
<rdar://problem/66014009>
Reviewed by Tim Horton.
Add an API test to exercise both scenarios where the suggested name does and does not contain the extension.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
Rebaseline an existing API test.
* TestWebKitAPI/Tests/WebKitCocoa/gif-and-file-input.html:
Adjust this test case to support handling multiple uploaded files.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
2020-07-27 Chris Dumez <cdumez@apple.com>
Update release*() functions on ExceptionOr() to always release the member
https://bugs.webkit.org/show_bug.cgi?id=214835
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/LoggedInStatus.cpp:
(TestWebKitAPI::TEST):
Fix unsafe code in API test which was storing a raw pointer to something held inside an ExpectedOr,
after calling releaseReturnValue().
2020-07-27 David Kilzer <ddkilzer@apple.com>
WebKit::setCrashReportApplicationSpecificInformation() should also log to WTFLogAlways()
<https://webkit.org/b/214756>
<rdar://problem/66085705>
Reviewed by Darin Adler.
This also makes the following changes:
- Replaces _WKSetCrashReportApplicationSpecificInformation()
with WebKit::setCrashReportApplicationSpecificInformation().
- Calls WTF::setCrashLogMessage() in DumpRenderTree and
WebKitTestRunner to avoid new WTFLogAlways() calls, which
broke internal tests and caused the first patch to be rolled
out.
- Changes WebKit::setCrashReportApplicationSpecificInformation()
to take a const char* argument instead of CFStringRef.
* DumpRenderTree/mac/DumpRenderTree.mm:
(changeWindowScaleIfNeeded):
- Drive-by fix for misspelling in parameter name.
(runTest):
* WebKitTestRunner/cocoa/CrashReporterInfo.mm:
(WTR::setCrashReportApplicationSpecificInformationToURL):
- Switch from calling
WebKit::setCrashReportApplicationSpecificInformation() to
calling WTF::setCrashLogMessage() directly.
2020-07-23 Ryan Haddad <ryanhaddad@apple.com>
Add test expectations and baselines for iOS 14
https://bugs.webkit.org/show_bug.cgi?id=214709
Reviewed by Jonathan Bedard.
Change current version to 14 and update unit tests.
* 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):
2020-07-27 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add string_utils (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=214405
Reviewed by Dewei Zhu.
Use webkitcorepy.string_utils instead of unicode_compatibility for unicode conversions.
* Scripts/webkitpy/api_tests/runner.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/bindings/main.py: Replace unicode_compatibility with string_utils,
remove unused imports.
* Scripts/webkitpy/common/checkout/changelog.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/checkout/changelog_unittest.py: Make imports explicit.
* Scripts/webkitpy/common/checkout/checkout.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/checkout/checkout_unittest.py: Replace unicode_compatibility with
string_utils, remove unused imports
* Scripts/webkitpy/common/checkout/diff_parser_unittest.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/checkout/scm/git.py: Replace unicode_compatibility with string_utils,
remove unused imports.
* Scripts/webkitpy/common/checkout/scm/scm.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Replace unicode_compatibility with string_utils,
remove unused imports.
* Scripts/webkitpy/common/checkout/scm/svn.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/config/committers.py: Replace unicode_compatibility with string_utils,
remove unused imports.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: Replace unicode_compatibility with
string_utils, remove unused imports.
* Scripts/webkitpy/common/net/buildbot/buildbot.py: Ditto.
* Scripts/webkitpy/common/net/ewsserver.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/net/web_mock.py: Ditto.
* Scripts/webkitpy/common/prettypatch.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/read_checksum_from_png.py: Ditto.
* Scripts/webkitpy/common/read_checksum_from_png_unittest.py: Ditto
* Scripts/webkitpy/common/system/abstractexecutive.py: Ditto.
* Scripts/webkitpy/common/system/crashlogs.py: Ditto.
* Scripts/webkitpy/common/system/crashlogs_unittest.py: Ditto.
* Scripts/webkitpy/common/system/executive.py: Ditto.
* Scripts/webkitpy/common/system/executive_mock.py: Ditto.
* Scripts/webkitpy/common/system/executive_unittest.py: Replace unicode_compatibility with string_utils,
remove unused imports.
* Scripts/webkitpy/common/system/filesystem.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/system/filesystem_mock.py: Replace unicode_compatibility with string_utils,
remove unused imports.
* Scripts/webkitpy/common/system/outputcapture.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/common/system/outputtee_unittest.py: Ditto.
* Scripts/webkitpy/common/wavediff.py: Replace unicode_compatibility with string_utils, remove
unused imports.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: Replace unicode_compatibility with
string_utils, remove unused imports.
* Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py: Replace unicode_compatibility with
string_utils.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Ditto.
* Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py: Replace unicode_compatibility with
string_utils, remove unused imports.
* Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py: Replace unicode_compatibility with
string_utils.
* Scripts/webkitpy/layout_tests/views/printing_unittest.py: Replace unicode_compatibility with
string_utils, remove unused imports.
* Scripts/webkitpy/performance_tests/perftest_unittest.py: Remove unused imports.
* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py: Ditto.
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Replace unicode_compatibility with
string_utils, remove unused imports.
* Scripts/webkitpy/port/base.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/port/driver.py: Replace unicode_compatibility with string_utils, remove unused imports.
* Scripts/webkitpy/port/image_diff.py: Ditto.
* Scripts/webkitpy/port/leakdetector.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/port/leakdetector_valgrind.py: Replace unicode_compatibility with string_utils, remove
unused imports.
* Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Ditto.
* Scripts/webkitpy/port/linux_get_crash_log.py: Ditto.
* Scripts/webkitpy/port/mock_drt.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/port/mock_drt_unittest.py: Replace unicode_compatibility with string_utils, remove
unused imports.
* Scripts/webkitpy/port/server_process.py: Ditto.
* Scripts/webkitpy/port/server_process_mock.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/port/test.py: Ditto.
* Scripts/webkitpy/results/upload_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/cpp.py: Replace unicode_compatibility with string_utils, remove
unused imports.
* Scripts/webkitpy/style/checkers/cpp_unittest.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/style/checkers/python.py: Ditto.
* Scripts/webkitpy/style/patchreader.py: Ditto.
* Scripts/webkitpy/test/main.py: Replace unicode_compatibility with string_utils, remove unused imports.
* Scripts/webkitpy/test/main_unittest.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/test/printer.py: Ditto.
* Scripts/webkitpy/test/runner_unittest.py: Ditto.
* Scripts/webkitpy/test/skip_unittest.py: Ditto.
* Scripts/webkitpy/tool/bot/irc_command.py: Replace unicode_compatibility with string_utils, remove
unused imports.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py: Ditto.
* Scripts/webkitpy/tool/commands/queues.py: Remove unused imports.
* Scripts/webkitpy/tool/commands/queues_unittest.py: Ditto.
* Scripts/webkitpy/tool/steps/haslanded.py: Replace unicode_compatibility with string_utils, remove
unused imports.
* Scripts/webkitpy/w3c/test_converter_unittest.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/w3c/test_exporter.py: Replace unicode_compatibility with string_utils, remove unused
imports.
* Scripts/webkitpy/w3c/wpt_github.py: Replace unicode_compatibility with string_utils.
* Scripts/webkitpy/w3c/wpt_github_unittest.py: Replace unicode_compatibility with string_utils, remove
unused imports.
* Scripts/webkitpy/xcode/simulated_device_unittest.py: Replace unicode_compatibility with string_utils.
2020-07-27 Sihui Liu <sihui_liu@appe.com>
Text manipulation should not extract non-breaking spaces
https://bugs.webkit.org/show_bug.cgi?id=214839
<rdar://problem/64113531>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-07-27 Aakash Jain <aakash_jain@apple.com>
ews email notification should include bot name and link to results database
https://bugs.webkit.org/show_bug.cgi?id=214841
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.send_email_for_build_failure):
(ReRunWebKitTests.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure):
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure):
2020-07-27 Mark Lam <mark.lam@apple.com>
DisallowVMEntry needs a copy assignment operator, detected by gcc's -Wdeprecated-copy warning
https://bugs.webkit.org/show_bug.cgi?id=214809
Reviewed by Yusuke Suzuki.
Added test case for JSC's DisallowVMEntry and PropertySlot mainly for the copy
assignment operation used in JSDOMWindow::getOwnPropertySlot().
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/JavaScriptCore/DisallowVMEntry.cpp: Added.
(TestWebKitAPI::enterScope):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/JavaScriptCore/PropertySlot.cpp: Added.
(TestWebKitAPI::TEST):
2020-07-27 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK build with GLib < 2.62
Do not use g_date_time_format_iso8601(), use g_date_time_format() instead with a format string.
* MiniBrowser/gtk/main.c:
(gotITPSummaryCallback):
2020-07-27 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE][GTK] Add API to support "Privacy Report"
https://bugs.webkit.org/show_bug.cgi?id=213493
Reviewed by Adrian Perez de Castro.
Add about:itp to show the ITP summary.
* MiniBrowser/gtk/main.c:
(aboutITPRequestNew):
(aboutITPRequestFree):
(gotITPSummaryCallback):
(aboutITPHandleRequest):
(aboutURISchemeRequestCallback):
2020-07-26 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>
Reviewed by Darin Adler.
Attempt another speculative fix for this flaky test, motivated by logging introduced in r264896. This recently
introduced telemetry would suggest that this test fails when the act of handling a synthetic modifier keydown
fails to update `GSKeyboardRef`'s live modifier flags if the keyboard layout changes mid-event, forcing the
existing `GSKeyboardRef` to be destroyed and rebuilt.
In this case, the keyboard layout changes from "Hebrew" to "US" when this test fails. There is only one (sane)
explanation for this, which is that one of the `editing/input/ios/rtl-keyboard-input-*.html` tests switch to an
RTL keyboard ("he_IL" in both cases) by swizzling out `-currentInputMode` and `-currentInputModeInPreference` on
`UIKeyboardInputModeController`. While the swizzling is torn down in between test runs via logic in
`TestController::platformResetStateToConsistentValues`, it's possible that this change hasn't propagated to
the UIKit or GraphicsServices layers -- in other words, `UIApplication`'s `GSKeyboardRef` remains stuck in the
Hebrew layout until the next time `-GSKeyboardForHWLayout:forceRebuild:createIfNeeded:` forces the keyboard to
be rebuilt, which (in this case) seems to happen while running `shift-click-includes-existing-selection.html`.
For reasons that are still unclear, this lazy regeneration of the `GSKeyboardRef` causes GraphicsServices' live
modifier state to not update when handling a shift key down HID event. However, we might be able to fix this by
forcing UIKit to sync the default (unswizzled) keyboard layout back to its `GSKeyboardRef` immediately when we
stop swizzling `UIKeyboardInputModeController` after running a test that attempts to simulate changing keyboard
input modes.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
Call `-prepareKeyboardInputModeFromPreferences:` to force the UIApp to update its hardware keyboard state (i.e.
`GSKeyboardRef`).
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
Also, restore this method to how it was prior to r264890, as it doesn't seem like waiting for the HID marker
event after synthesizing a keydown had any effect.
* WebKitTestRunner/ios/mainIOS.mm:
(-[WebKitTestRunnerApp handleKeyHIDEvent:]): Deleted.
2020-07-26 Diego Pino Garcia <dpino@igalia.com>
[WPE] Unreviewed test gardening. Update API test expectations.
* TestWebKitAPI/glib/TestExpectations.json:
2020-07-26 Diego Pino Garcia <dpino@igalia.com>
[GTK] Unreviewed test gardening. Update API tests expectations.
* TestWebKitAPI/glib/TestExpectations.json:
2020-07-26 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, partially revert r264896.
https://bugs.webkit.org/show_bug.cgi?id=214688
This logging is no longer needed.
* WebKitTestRunner/ios/mainIOS.mm:
(-[WebKitTestRunnerApp GSKeyboardForHWLayout:forceRebuild:createIfNeeded:]): Deleted.
2020-07-26 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, add even more logging to try and diagnose a flaky test
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>
Evidence so far suggests that this test fails when the process of dispatching a keydown event for a modifier
(in this case, the shift key) causes the UIApplication's hardware keyboard (`GSKeyboardRef`) to be regenerated.
This may happen in one of two ways: either a rebuild is forced by logic in `-[UIApplication handleKeyHIDEvent:]`,
or `forceRebuild` is `NO`, but the keyboard is rebuilt anyways due to a mismatched layout and/or keyboard type.
* WebKitTestRunner/ios/mainIOS.mm:
(-[WebKitTestRunnerApp GSKeyboardForHWLayout:forceRebuild:createIfNeeded:]):
(-[WebKitTestRunnerApp handleKeyHIDEvent:]):
2020-07-25 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Crash under ValidationBubble::setAnchorRect when showing form validation UI in unparented view
https://bugs.webkit.org/show_bug.cgi?id=214789
<rdar://problem/66104012>
Reviewed by Tim Horton.
Add an API test that reproduces the crash.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/FormValidation.mm: Added.
2020-07-25 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>
Reviewed by Tim Horton.
Continue to add logging in an attempt to debug this flaky test.
* WebKitTestRunner/ios/mainIOS.mm:
(-[WebKitTestRunnerApp handleKeyHIDEvent:]):
(-[WebKitTestRunnerApp _handleHIDEvent:]): Drive-by fix: add a missing call to the superclass method.
2020-07-25 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>
Reviewed by Tim Horton.
Attempt a second speculative fix that waits for the keydown HID event to be dequeued and handled by
`UIApplication` when simulating a shift-tap, to guarantee that the synthetic click gesture recognizer has
up-to-date modifier flags upon dispatching the synthetic HID events on tap.
It's unclear how or why the current implementation might result in the gesture recognizer not being updated with
the right modifier flags, since events in the HID event queue should be handled in order.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
2020-07-24 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>
Reviewed by Megan Gardner.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
2020-07-24 Beth Dakin <bdakin@apple.com>
Adopt inclusive WKBrowsingContextGroup SPI in the API tests
https://bugs.webkit.org/show_bug.cgi?id=214766
Reviewed by Darin Adler.
Adopt the newer version of this SPI, added in https://trac.webkit.org/changeset/263099/webkit
* TestWebKitAPI/Tests/WebKitObjC/UserContentTest.mm:
(TEST_F):
2020-07-24 Brady Eidson <beidson@apple.com>
Hard code some MFi controller devices instead of dynamically managing HID vs GameController.framework.
rdar://problem/65961406 and https://bugs.webkit.org/show_bug.cgi?id=214664
Reviewed by Tim Horton.
Now that we have more than 1 kind of virtual gamepad (5 to be precise), refactor the VirtualGamepad
mechanism to support easily configurable gamepad mappings.
Each gamepad mapping has its own descriptor and a report derived from it.
The virtual devices trigger the correct "HID vs GCF" behavior via their complete descriptors.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/HIDGamepads.mm:
(-[GamepadMessageHandler userContentController:didReceiveScriptMessage:]):
* TestWebKitAPI/mac/GamepadMappings/MicrosoftXboxOne.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::microsoftXboxOneMapping):
* TestWebKitAPI/mac/GamepadMappings/ShenzhenLongshengweiTechnologyGamepad.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::shenzhenLongshengweiTechnologyGamepadMapping):
* TestWebKitAPI/mac/GamepadMappings/SonyDualShock4.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::sonyDualshock4Mapping):
* TestWebKitAPI/mac/GamepadMappings/SteelSeriesNimbus.mm: Copied from Tools/TestWebKitAPI/mac/VirtualGamepad.mm.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::steelSeriesNimbusMapping):
* TestWebKitAPI/mac/GamepadMappings/SunLightApplicationGenericNES.mm: Added.
(TestWebKitAPI::publishReportCallback):
(TestWebKitAPI::VirtualGamepad::sunLightApplicationGenericNESMapping):
* TestWebKitAPI/mac/VirtualGamepad.h:
* TestWebKitAPI/mac/VirtualGamepad.mm:
(TestWebKitAPI::VirtualGamepad::VirtualGamepad):
(TestWebKitAPI::VirtualGamepad::publishReport):
(TestWebKitAPI::VirtualGamepad::makeVirtualNimbus): Deleted.
2020-07-24 Jonathan Bedard <jbedard@apple.com>
pep8.py:110: FutureWarning: Possible nested set at position 1 (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=214531
Unreviewed test fix.
* Scripts/webkitpy/thirdparty/__init___unittest.py:
(ThirdpartyTest.test_imports): Auto-import of pep8 has been removed.
2020-07-24 Tadeu Zagallo <tzagallo@apple.com>
WKStringGetMaximumUTF8CStringSize should cast before arithmetic
https://bugs.webkit.org/show_bug.cgi?id=214750
<rdar://problem/65884455>
Reviewed by Mark Lam.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::dumpToStdErr):
(WTR::InjectedBundle::outputText):
2020-07-24 Youenn Fablet <youenn@apple.com>
Add some logging to debug WebKit.QuotaDelegate test that times out on a Debug bot
https://bugs.webkit.org/show_bug.cgi?id=214725
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
(doTest):
2020-07-24 Chris Dumez <cdumez@apple.com>
[ iOS wk2 ] imported/w3c/web-platform-tests/web-share/share-without-user-gesture.https.html is a constant timeout
https://bugs.webkit.org/show_bug.cgi?id=214694
<rdar://problem/66001110>
Reviewed by Tim Horton.
The test was failing because there was a share sheet still being presented from a previous Web Share test.
TestController::platformResetStateToConsistentValues() would wait for that share sheet to get dismiss and
would eventually give up and report the test as timing out. The issue is that WebKit layout test were
relying on a UIScriptController function to dismiss the share sheet but Web Platform Tests did not.
To address the issue, we now always promptly dismiss the share sheet in WebKitTestRunner, without the need
for a UIScriptController function call. The Share Sheet now gets dismissed promptly in both WebKit tests
and WPT tests.
For robustness, I also added code in WebKitTestRunner to dismiss any remaining presented view controller
after waiting, to avoid failing on the next test in such cases.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution): Deleted.
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::setShareSheetCompletesImmediatelyWithResolution): Deleted.
Delete UIScriptController.setShareSheetCompletesImmediatelyWithResolution() utility function for tests now
that it is the default in WebKit TestRunner.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
- Call _setShareSheetCompletesImmediatelyWithResolutionForTesting:YES on the test WKWebView instead of relying
on individual tests to do that.
- For robustness, if there is still a presented view controller after waiting, we now dismiss it ourselves
instead of failing. This otherwise leads to next test to be reported as failing (or timing out) because there
is a presented view controller that remains from the previous test. Note that this is not needed to fix the
layout test in question since we now properly dismiss the share UI in WPT tests but I still think it is a good
thing to do for robustness and avoid test flakiness.
2020-07-24 Aakash Jain <aakash_jain@apple.com>
[ews] Disable email sending on testing instances of ews
https://bugs.webkit.org/show_bug.cgi?id=214738
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/send_email.py:
(send_email):
2020-07-24 Aakash Jain <aakash_jain@apple.com>
[ews] Notify bot watchers about build being broken
https://bugs.webkit.org/show_bug.cgi?id=214727
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeCompileWebKitResults.start):
(AnalyzeCompileWebKitResults.send_email_for_build_failure):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeCompileWebKitResults.setUp):
(TestReRunWebKitTests.configureStep):
(TestAnalyzeLayoutTestsResults.configureStep):
2020-07-24 Xabier Rodriguez Calvar <calvaris@igalia.com>
[GStreamer] gst_buffer_unmap: assertion 'GST_IS_BUFFER (buffer)' failed
https://bugs.webkit.org/show_bug.cgi?id=213364
Reviewed by Philippe Normand.
* TestWebKitAPI/Tests/WebCore/gstreamer/GstMappedBuffer.cpp:
(TestWebKitAPI::TEST_F): Added
GStreamerTest::mappedOwnedBufferDestruction and
GStreamerTest::mappedBufferValidityUnmapEarly tests.
2020-07-24 Angelos Oikonomopoulos <angelos@igalia.com>
Add a GNU parallel runner
https://bugs.webkit.org/show_bug.cgi?id=214356
Reviewed by Keith Miller.
At the moment, run-jsc-stress-tests uses make as a (local) job scheduling
engine (i.e. doesn't make use of the dependency tracking at all). However,
this causes problems for the distributed job scheduling we want to do when
using --remote.
If a remote is down, the tests will fail.
If a remote goes down during testing, the tests will fail.
There is no reason not to ignore remotes that are unavailable. What's more,
we should be able to reschedule jobs that were in the middle of execution when
a remote host goes down.
This patch tries to leverage GNU parallel as the execution engine to
hopefully transparently handle some of those failure scenarios.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* Scripts/run-jsc-stress-tests:
2020-07-23 Wenson Hsieh <wenson_hsieh@apple.com>
Tapping QuickType suggestions for a misspelled word does nothing in Mail compose
https://bugs.webkit.org/show_bug.cgi?id=214705
<rdar://problem/58320785>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/ios/SelectionByWord.mm:
Add a unit test to exercise the changes in behavior when calling UITextInput API.
(-[SelectionChangeListener setSelectionWillChangeHandler:]):
(-[SelectionChangeListener setSelectionDidChangeHandler:]):
(-[SelectionChangeListener selectionWillChangeHandler]):
(-[SelectionChangeListener selectionDidChangeHandler]):
(-[SelectionChangeListener selectionWillChange:]):
(-[SelectionChangeListener selectionDidChange:]):
(-[SelectionChangeListener textWillChange:]):
(-[SelectionChangeListener textDidChange:]):
* TestWebKitAPI/ios/UIKitSPI.h:
2020-07-23 Aakash Jain <aakash_jain@apple.com>
[ews] Notify bot watchers about pre-existing and flaky test failures found on ews bots
https://bugs.webkit.org/show_bug.cgi?id=207475
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ReRunWebKitTests.evaluateCommand):
(ReRunWebKitTests.send_email_for_flaky_failure): Method to send email for flaky failure.
(AnalyzeLayoutTestsResults.report_pre_existing_failures):
(AnalyzeLayoutTestsResults.send_email_for_flaky_failure): Method to send email for flaky failure.
(AnalyzeLayoutTestsResults.send_email_for_pre_existing_failure): Method to send email for pre-existing failure.
* BuildSlaveSupport/ews-build/steps.py: Updated unit-tests accordingly.
* BuildSlaveSupport/ews-build/send_email.py: Added error handling.
2020-07-23 Sihui Liu <sihui_liu@appe.com>
Allow IndexedDB in third-party frames
https://bugs.webkit.org/show_bug.cgi?id=214583
<rdar://problem/61278487>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
(postResult):
(catch):
2020-07-23 Ryan Haddad <ryanhaddad@apple.com>
[ews] Update bot watcher email address
https://bugs.webkit.org/show_bug.cgi?id=214693
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/send_email.py:
2020-07-23 Jonathan Bedard <jbedard@apple.com>
[run-webkit-tests] Override suite name for results database reporting
https://bugs.webkit.org/show_bug.cgi?id=214686
<rdar://problem/65997324>
Reviewed by Aakash Jain.
* Scripts/webkitpy/api_tests/manager.py:
(Manager.run): Allow options to override suite name.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Allow options to override suite name.
* Scripts/webkitpy/results/options.py:
(upload_options): Add --suite flag to override suite name.
* Scripts/webkitpy/test/main.py:
(Tester._run_tests): Allow options to override suite name.
2020-07-23 Brady Eidson <beidson@apple.com>
Add Gamepad tests that exercise the native frameworks
<rdar://problem/65343674> and https://bugs.webkit.org/show_bug.cgi?id=214188
Reviewed by Tim Horton.
For Internal builds, we can create HID devices that exercise the native gamepad providers.
E.g. Actually exercise the IOHID gamepad provider codepath.
Give the Internal TestWebKitAPI build some entitlements:
* TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements: Added.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Add a very basic test that connects a device, presses a button, and verifies the web page sees it:
* TestWebKitAPI/Tests/mac/HIDGamepads.mm: Added.
(-[GamepadMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::handleGamepadConnect):
Add the beginnings of a VirtualGamepad device that reads in a HID descriptor (just like real gamepads):
* TestWebKitAPI/mac/VirtualGamepad.h: Added.
* TestWebKitAPI/mac/VirtualGamepad.mm: Added.
(TestWebKitAPI::VirtualGamepad::makeVirtualNimbus):
(TestWebKitAPI::VirtualGamepad::VirtualGamepad):
(TestWebKitAPI::VirtualGamepad::~VirtualGamepad):
(TestWebKitAPI::VirtualGamepad::setButtonValue):
(TestWebKitAPI::VirtualGamepad::setAxisValue):
(TestWebKitAPI::VirtualGamepad::publishReport):
2020-07-23 Xabier Rodriguez Calvar <calvaris@igalia.com>
[GStreamer] gst_buffer_unmap: assertion 'GST_IS_BUFFER (buffer)' failed
https://bugs.webkit.org/show_bug.cgi?id=213364
Reviewed by Philippe Normand.
Reworked tests for GstMappedBuffer and added tests for
GstMappedOwnedBuffer.
* TestWebKitAPI/Tests/WebCore/gstreamer/GstMappedBuffer.cpp:
(TestWebKitAPI::TEST_F):
2020-07-23 Aakash Jain <aakash_jain@apple.com>
[ews] Add support to send emails in ews
https://bugs.webkit.org/show_bug.cgi?id=214670
Reviewed by Darin Adler.
* BuildSlaveSupport/ews-build/send_email.py: Added script to send emails.
(send_email):
(send_email_to_bot_watchers):
2020-07-22 Conrad Shultz <conrad_shultz@apple.com>
Update macOS Version macros
https://bugs.webkit.org/show_bug.cgi?id=214653
Reviewed by Tim Horton.
* ContentExtensionTester/Configurations/Base.xcconfig:
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* ImageDiff/cg/Configurations/Base.xcconfig:
* ImageDiff/cg/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig:
* WebEditingTester/Configurations/Base.xcconfig:
* WebEditingTester/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* lldb/lldbWebKitTester/Configurations/Base.xcconfig:
* lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
2020-07-22 Wenson Hsieh <wenson_hsieh@apple.com>
Article headlines are split across multiple lines after translating tagesschau.de
https://bugs.webkit.org/show_bug.cgi?id=214652
<rdar://problem/63995571>
Reviewed by Tim Horton.
Adds a new API test (a reduced version of article headlines from the front page of tagesschau.de).
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-07-22 Alex Christensen <achristensen@webkit.org>
Safari does not present CertificateInfo for service-worker served documents
https://bugs.webkit.org/show_bug.cgi?id=206403
<rdar://problem/65410875>
Reviewed by Darin Adler and Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2020-07-22 Yusuke Suzuki <ysuzuki@apple.com>
TestWTF.WTF_Packed.PackedAlignedPtr should be adjusted because ARM macOS is using 48 bits for effective address width
https://bugs.webkit.org/show_bug.cgi?id=214633
Reviewed by Mark Lam.
While PlatformOS.h's condition is updated, the test is not changed. This patch just aligns the condition used in this test
to the one in PlatformOS.h.
* TestWebKitAPI/Tests/WTF/Packed.cpp:
(TestWebKitAPI::TEST):
2020-07-22 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Add string_utils (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=214405
Reviewed by Dewei Zhu.
Centralize handling of unicode encoding/decoding along with various tools
for printing strings.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
* Scripts/libraries/webkitcorepy/webkitcorepy/string_utils.py: Added.
(encode): Encode a string as bytes.
(decode): Decode a bytes as a string.
(ordinal): Convert a number to 1st, 2nd, 3rd, 4th, ect.
(pluralize): Convert a string to it's plurlarized version, if provided number indicates
it should be.
(join): Join a list of elements in a human-readable form.
(out_of): Create a fraction which takes up a constant amount of characters.
(elapsed): Describe the amount of time elapsed as a human-readable string.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/string_utils_unittest.py: Added.
(StringUtils): Test string_utils.
* Scripts/webkitpy/common/unicode_compatibility.py: Replaced with webkitcorepy.string_utils.
2020-07-22 Aakash Jain <aakash_jain@apple.com>
[ews-app] Pass api key in more secure manner
https://bugs.webkit.org/show_bug.cgi?id=214639
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/common/bugzilla.py:
(Bugzilla.get_bugzilla_api_key): Method to read api key from file instead of environment variable.
(Bugzilla.fetch_data_from_bugzilla_with_authentication): Method to fetch data from bugzilla using api key.
(Bugzilla._fetch_attachment_json): Do not append api key in the url, use new method instead.
(Bugzilla._get_bug_json): Ditto.
(Bugzilla._get_commit_queue_patches_from_bug): Ditto.
* BuildSlaveSupport/ews-app/ews/common/util.py:
(fetch_data_from_url): Log the url to help in debugging any possible issues.
2020-07-22 Jer Noble <jer.noble@apple.com>
[macOS] Adopt AVPlayer.videoRangeOverride
https://bugs.webkit.org/show_bug.cgi?id=213902
<rdar://problem/63953509>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST):
2020-07-22 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Remove version.py
https://bugs.webkit.org/show_bug.cgi?id=214580
Reviewed by Darin Adler.
* Scripts/webkitpy/common/version.py: Removed.
2020-07-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] ITP: use the database store unconditionally
https://bugs.webkit.org/show_bug.cgi?id=214590
Reviewed by Adrian Perez de Castro.
Update the unit test to monitor the database file instead of the old log file.
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataITP):
2020-07-19 Darin Adler <darin@apple.com>
Remove live ranges from Editor.h and EditorClient.h
https://bugs.webkit.org/show_bug.cgi?id=214261
Reviewed by Sam Weinig.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Removed duplicate install of Ahem.ttf that was leading new versions
of Xcode to fail when trying to build this.
2020-07-21 Alex Christensen <achristensen@webkit.org>
Safari does not present CertificateInfo for service-worker served documents
https://bugs.webkit.org/show_bug.cgi?id=206403
Reviewed by Brady Eidson.
This is actually just a failing test that reproduces the issue 100% of the time.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/cocoa/HTTPServer.h:
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::cancel):
(TestWebKitAPI::HTTPServer::HTTPServer):
(TestWebKitAPI::m_protocol):
(TestWebKitAPI::HTTPServer::totalRequests const):
(TestWebKitAPI::HTTPServer::respondToRequests):
(TestWebKitAPI::Connection::terminate):
(TestWebKitAPI::Connection::cancel):
(TestWebKitAPI::Connection::terminate const): Deleted.
2020-07-21 Jonathan Bedard <jbedard@apple.com>
ImageDiff: Set ALWAYS_SEARCH_USER_PATHS to NO
https://bugs.webkit.org/show_bug.cgi?id=214613
<rdar://problem/65883815>
Reviewed by Dan Bernstein.
* ImageDiff/cg/Configurations/Base.xcconfig:
2020-07-21 Youenn Fablet <youenn@apple.com>
Fetch/XHR loads done by extensions should opt out of response sanitisation done in network process
https://bugs.webkit.org/show_bug.cgi?id=214588
Reviewed by Alex Christensen.
Update test to check for header. Minor modernization of the JS script to impriove readability.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2020-07-21 Eric Carlson <eric.carlson@apple.com>
Use AVRoutePickerView when available for choosing AirPlay devices
https://bugs.webkit.org/show_bug.cgi?id=213497
<rdar://problem/58610662>
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST): Test AVOutputContextOutputDevicesDidChangeNotification.
Don't check AVRouteDetectorMultipleRoutesDetectedDidChangeNotification on watchOS,
we don't use it there.
2020-07-21 Carlos Garcia Campos <cgarcia@igalia.com>
Fix ITP data summary when using the memory store and blocking all third-party cookies
https://bugs.webkit.org/show_bug.cgi?id=214401
Reviewed by Michael Catanzaro.
Fix GetResourceLoadStatisticsDataSummary test to actually use the memory store.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2020-07-21 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Prepare unit tests for GTK4
https://bugs.webkit.org/show_bug.cgi?id=214251
Reviewed by Adrian Perez de Castro.
In GTK4 there isn't GTK_WINDOW_POPUP and we can't create GdkEvents, so we need to use toplevel windows
everywhere and use the new internal api to synthesize events.
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(testContextMenuDownloadActions):
(testBlobDownload):
* TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestOptionMenu.cpp:
(testOptionMenuSimple):
(testOptionMenuGroups):
(testOptionMenuActivate):
(testOptionMenuSelect):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewCreateNavigationData):
(testWebViewJavaScriptDialogs):
(testWebViewOpenWindowNoDefaultSize):
(testWebViewMouseTarget):
(testWebViewGeolocationPermissionRequests):
(testWebViewUserMediaEnumerateDevicesPermissionCheck):
(testWebViewUserMediaPermissionRequests):
(testWebViewAudioOnlyUserMediaPermissionRequests):
(testWebViewPointerLockPermissionRequest):
(testWebViewFileChooserRequest):
(testWebViewColorChooserRequest):
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebExtensionInputElementIsUserEdited):
(testInstallMissingPluginsPermissionRequest):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
(testFindControllerHide):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
(testAutoplayPolicy):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewFullScreen):
(testWebViewSubmitForm):
(testWebViewSnapshot):
(testWebViewIsPlayingAudio):
(testWebViewPreferredSize):
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(testContextMenuDefaultMenu):
(testPopupEventSignal):
(testContextMenuKey):
(testContextMenuPopulateMenu):
(testContextMenuCustomMenu):
(testContextMenuSubMenu):
(testContextMenuDismissed):
(testContextMenuWebExtensionMenu):
(testContextMenuWebExtensionNode):
(testContextMenuLiveStream):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGtk/TestDOMDOMWindow.cpp:
(signalsNotifyCallback):
* TestWebKitAPI/Tests/WebKitGtk/TestInspector.cpp:
(testInspectorDefault):
(testInspectorManualAttachDetach):
(testInspectorCustomContainerDestroyed):
* TestWebKitAPI/Tests/WebKitGtk/TestInspectorServer.cpp:
(testInspectorServerPageList):
* TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp:
(testPrintCustomWidget):
* TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
* TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
(WebViewTest::quitMainLoopAfterProcessingPendingEvents):
(WebViewTest::showInWindow):
(WebViewTest::mouseMoveTo):
(WebViewTest::clickMouseButton):
(WebViewTest::keyStroke):
* TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp:
(WebViewTest::showInWindow):
* TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
(TestWebKitAPI::toWebKitGLibAPI):
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
(TestWebKitAPI::PlatformWebView::simulateRightClick):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
2020-07-20 Aakash Jain <aakash_jain@apple.com>
[ews] Use -q while unzipping layout-test-results.zip
https://bugs.webkit.org/show_bug.cgi?id=214571
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
* BuildSlaveSupport/ews-build/steps_unittest.py:
2020-07-20 Keith Miller <keith_miller@apple.com>
[JSC] update test262 (July 2020 edition)
https://bugs.webkit.org/show_bug.cgi?id=214575
Reviewed by Ross Kirsling.
test262 is now using 'main' as the default branch. Fix our import script to reflect that.
* Scripts/test262/Import.pm:
(processCLI):
2020-07-20 Philippe Normand <pnormand@igalia.com>
[jhbuild] GStreamer broken in minimal environment
https://bugs.webkit.org/show_bug.cgi?id=214552
Reviewed by Carlos Alberto Lopez Perez.
* jhbuild/jhbuildrc_common.py:
(init): Don't set GST_PLUGIN_SYSTEM_PATH when using the minimal moduleset, because in this
case we actually have to rely on the host GStreamer installation. GStreamer is not part of
the minimal moduleset.
2020-07-20 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Update reference to webkit-test-results in TestFailures
https://bugs.webkit.org/show_bug.cgi?id=214499
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
2020-07-20 Aakash Jain <aakash_jain@apple.com>
Reduce logging in ews django app
https://bugs.webkit.org/show_bug.cgi?id=214562
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/models/build.py:
(Build.update_build):
* BuildSlaveSupport/ews-app/ews/models/step.py:
(Step.save_step):
(Step.update_step):
2020-07-20 Kate Cheney <katherine_cheney@apple.com>
[ iOS macOS ] http/tests/resourceLoadStatistics/grandfathering-database.html is a rare flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=213553
<rdar://problem/64696432>
Reviewed by Darin Adler.
Registering to receive an ITP statistics processing callback should be
synchronous, otherwise processing could happen before ITP has
registered that it should be reported to the test runner.
To avoid this mistake in the future, this patch removes the
async version of this call from TestInvocation.cpp, because it should
never be used.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::installStatisticsDidModifyDataRecordsCallback):
Update this function to look like
installStatisticsDidScanDataRecordsCallback. It is simpler to let ITP
know to send the callback response when installing the callback
instead of requiring a separate function call.
(WTR::TestRunner::installStatisticsDidScanDataRecordsCallback):
Register for a callback synchronously.
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
Remove setStatisticsNotifyPagesWhenDataRecordsWereScanned from the idl
file so it does not accidentally get called in a layout test in the
future.
2020-07-20 Dean Jackson <dino@apple.com>
Adding James Darpinian to contributors.
* Scripts/webkitpy/common/config/contributors.json:
2020-07-20 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Build with arm64e when on Apple Internal
https://bugs.webkit.org/show_bug.cgi?id=214553
<rdar://problem/65745597>
Reviewed by Tim Horton.
* Scripts/webkitpy/port/mac.py:
(MacPort._build_driver_flags): Use arm64e instead of arm64 for Internal builds.
2020-07-20 Alex Christensen <achristensen@webkit.org>
Add lock icon to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=214438
Reviewed by Darin Adler.
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
* MiniBrowser/mac/BrowserWindow.xib:
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController showCertificate:]):
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]):
(-[WK2BrowserWindowController updateLockButtonIcon:]):
2020-07-20 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Update to FDO 19.08.12 release
https://bugs.webkit.org/show_bug.cgi?id=214184
Reviewed by Žan Doberšek.
Bump to the latest 19.08 release, which ships GCC 9.3.0. Hence we can remove the
corresponding downstream patch. And the Bluez patch which was left around but not longer
applied in the FDO junction. Also integrate a non-related WPEBackend-FDO git master ref bump.
* buildstream/elements/freedesktop-sdk.bst:
* buildstream/patches/fdo-0001-Update-gcc-to-9.3.0.patch: Removed.
* buildstream/patches/fdo/0003-Add-Bluez.patch: Removed.
* buildstream/elements/sdk/wpebackend-fdo.bst:
2020-07-19 Sam Weinig <weinig@apple.com>
Rename Color::transparent to Color::transparentBlack to more clearly state what it is
https://bugs.webkit.org/show_bug.cgi?id=214522
Reviewed by Darin Adler.
* TestWebKitAPI/cocoa/TestPDFDocument.mm:
(TestWebKitAPI::TestPDFPage::colorAtPoint const):
Update for rename from Color::transparent to Color::transparentBlack.
2020-07-19 Michael Catanzaro <mcatanzaro@gnome.org>
cpp.py:3688: FutureWarning: Possible nested set at position 101
https://bugs.webkit.org/show_bug.cgi?id=214536
Reviewed by Darin Adler.
The warning was added in https://bugs.python.org/issue30349. We need to escape [ when used
inside a set. That is, we have to change "[[" to "[\[".
* Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
2020-07-19 Michael Catanzaro <mcatanzaro@gnome.org>
Fix -Wdeprecated-declarations under Tools
https://bugs.webkit.org/show_bug.cgi?id=214534
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
(TestWebKitAPI::didCrashCheckFrames):
* TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didCreatePage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2020-07-19 Michael Catanzaro <mcatanzaro@gnome.org>
pep8.py:110: FutureWarning: Possible nested set at position 1
https://bugs.webkit.org/show_bug.cgi?id=214531
Reviewed by Darin Adler.
Update from pep8 to pycodestyle.
* Scripts/webkitpy/style/checkers/python.py:
(PythonChecker.check):
(PythonChecker._check_pycodestyle):
(PythonChecker._check_pycodestyle._pycodestyle_handle_error):
(PythonChecker._check_pep8): Deleted.
(PythonChecker._check_pep8._pep8_handle_error): Deleted.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_keyring):
(AutoinstallImportHook._install_pep8): Deleted.
2020-07-17 Sam Weinig <weinig@apple.com>
Remove final vestigates of SimpleColor
https://bugs.webkit.org/show_bug.cgi?id=214439
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
* TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
* TestWebKitAPI/cocoa/TestPDFDocument.mm:
Replace remaining makeSimpleColor() uses.
2020-07-17 Wenson Hsieh <wenson_hsieh@apple.com>
Followup to r264531
https://bugs.webkit.org/show_bug.cgi?id=214488
<rdar://problem/64531754>
Reviewed by Darin Adler.
See WebCore ChangeLog for more details.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-07-17 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Cache the PIN to improve NFC user experience
https://bugs.webkit.org/show_bug.cgi?id=213900
<rdar://problem/60073622>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-pin-disconnect.html: Added.
2020-07-17 Wenson Hsieh <wenson_hsieh@apple.com>
Recommended article titles on csdn.net are clipped after translating to English
https://bugs.webkit.org/show_bug.cgi?id=214488
<rdar://problem/64531754>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-07-17 Aakash Jain <aakash_jain@apple.com>
Delete code for old flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=214492
Reviewed by Jonathan Bedard.
* TestResultServer: Removed.
2020-07-17 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Simulators should opt out of emulation
https://bugs.webkit.org/show_bug.cgi?id=214486
<rdar://problem/65644439>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.__init__): Caller may request that emulation be disabled.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.__init__): Disable emulation.
2020-07-17 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r264477.
Broke the internal build
Reverted changeset:
"Use AVRoutePickerView when available for choosing AirPlay
devices"
https://bugs.webkit.org/show_bug.cgi?id=213497
https://trac.webkit.org/changeset/264477
2020-07-16 Xabier Rodriguez Calvar <calvaris@igalia.com>
Rename createBoxPtr into adoptBoxPtr
https://bugs.webkit.org/show_bug.cgi?id=214171
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/BoxPtr.cpp:
(TestWebKitAPI::TEST): Used the renamed function.
2020-07-15 Jer Noble <jer.noble@apple.com>
Unreviwed test gardening; disable the SleepDisabler.NavigateBack
test, as it is flaky on the bots.
* TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
(TEST_F):
2020-07-16 Jonathan Bedard <jbedard@apple.com>
[configure-xcode-for-embedded-development] Support TBD version 4
https://bugs.webkit.org/show_bug.cgi?id=214431
<rdar://problem/65695728>
Reviewed by Alexey Proskuryakov.
* Scripts/configure-xcode-for-embedded-development: Match both archs and targets.
2020-07-16 Fujii Hironori <Hironori.Fujii@sony.com>
[WTF] Remove the unnecessary inner class DefaultHash<T>::Hash
https://bugs.webkit.org/show_bug.cgi?id=214389
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/DeletedAddressOfOperator.h:
(WTF::DefaultHash<DeletedAddressOfOperator>::hash):
(WTF::DefaultHash<DeletedAddressOfOperator>::equal):
(WTF::DefaultHash<DeletedAddressOfOperator>::Hash::hash): Deleted.
(WTF::DefaultHash<DeletedAddressOfOperator>::Hash::equal): Deleted.
* TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
(TestWebKitAPI::bucketForKey):
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::bucketForKey):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::testInitialCapacity):
* TestWebKitAPI/Tests/WTF/MoveOnly.h:
(WTF::DefaultHash<MoveOnly>::hash):
(WTF::DefaultHash<MoveOnly>::equal):
(WTF::DefaultHash<MoveOnly>::Hash::hash): Deleted.
(WTF::DefaultHash<MoveOnly>::Hash::equal): Deleted.
2020-07-16 Jonathan Bedard <jbedard@apple.com>
[configure-xcode-for-embedded-development] Support Xcode 12
https://bugs.webkit.org/show_bug.cgi?id=214420
<rdar://problem/65687153>
Reviewed by Alexey Proskuryakov.
* Scripts/configure-xcode-for-embedded-development: Mac xcspec files are in a different
spot in Xcode 12.
2020-07-16 Eric Carlson <eric.carlson@apple.com>
Use AVRoutePickerView when available for choosing AirPlay devices
https://bugs.webkit.org/show_bug.cgi?id=213497
<rdar://problem/58610662>
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST): Test AVOutputContextOutputDevicesDidChangeNotification.
Don't check AVRouteDetectorMultipleRoutesDetectedDidChangeNotification on watchOS,
we don't use it there.
2020-07-16 W.D. Xiong <w_xiong@apple.com>
[webkitpy] Remove unused imports from benchmark_runner
https://bugs.webkit.org/show_bug.cgi?id=214395
Reviewed by Jonathan Bedard.
Removed a bunch of unused import statements in webkitpy.benchmark_runner
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
* Scripts/webkitpy/benchmark_runner/generic_factory.py:
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver_factory.py:
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
2020-07-16 Aakash Jain <aakash_jain@apple.com>
Improve handling of invalid ChangeLog by webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=214365
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/tool/steps/preparechangelog.py:
(PrepareChangeLog._ensure_bug_url):
2020-07-16 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Correct url in setup.py
https://bugs.webkit.org/show_bug.cgi?id=214399
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py:
2020-07-16 Philippe Normand <pnormand@igalia.com>
run-minibrowser --debug runs the release build on macOS
https://bugs.webkit.org/show_bug.cgi?id=214397
Reviewed by Žan Doberšek.
Pass-through port configuration and platform options to old-run-minibrowser. GTK and WPE
ports are not affected by this because they build the path to MiniBrowser for the given
configuration already.
Also set ignore_errors to True when invoking the Executive, to prevent useless and confusing
tracebacks raised when old-run-minibrowser exits with a positive exit code, eg, when it's
being called with the --help argument.
* Scripts/webkitpy/port/base.py:
(Port.run_minibrowser):
2020-07-16 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r264272) [GTK][WPE] css3/color/composited-solid-backgrounds.html is failing
https://bugs.webkit.org/show_bug.cgi?id=214260
Reviewed by Darin Adler.
Add a test case.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
2020-07-15 Dean Jackson <dino@apple.com>
MiniBrowser toolbar is ugly with default macOS Big Sur style
https://bugs.webkit.org/show_bug.cgi?id=214390
rdar://65637420
Reviewed by Tim Horton.
Rather than using the Big Sur default "unified" style, explicitly
ask for the "expanded" style.
While here, use symbols for the toolbar buttons, and move the
progress indicator to the end of the toolbar. I hope this
change to the xib file won't break the Catalina version.
* MiniBrowser/mac/BrowserWindow.xib:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController windowDidLoad]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController updateTitle:]):
2020-07-15 Jonathan Bedard <jbedard@apple.com>
[webkitcorepy] Spin off general webkitpy tools into a pip module
https://bugs.webkit.org/show_bug.cgi?id=214309
Reviewed by Dewei Zhu.
* Scripts/libraries: Added.
* Scripts/libraries/webkitcorepy: Added.
* Scripts/libraries/webkitcorepy/MANIFEST.in: Added.
* Scripts/libraries/webkitcorepy/README.md: Added.
* Scripts/libraries/webkitcorepy/setup.py: Added.
(readme):
* Scripts/libraries/webkitcorepy/webkitcorepy: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/__init__.py: Added.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/version_unittest.py: Moved from
webkitpy/common/version_unittest.py.
* Scripts/libraries/webkitcorepy/webkitcorepy/version.py: Added.
(Version): Moved from webkitpy/common/version.py.
* Scripts/webkitpy/__init__.py: Include webkitcorepy on import path.
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Use Version from webkitcorepy.
* Scripts/webkitpy/common/checkout/scm/svn.py: Ditto.
* Scripts/webkitpy/common/system/platforminfo.py: Ditto.
* Scripts/webkitpy/common/system/platforminfo_mock.py: Ditto.
* Scripts/webkitpy/common/version.py: Ditto.
(Version): Moved to webkitcorepy.
* Scripts/webkitpy/common/version_name_map.py: Use Version from webkitcorepy.
* Scripts/webkitpy/common/version_name_map_unittest.py: Ditto.
* Scripts/webkitpy/common/version_unittest.py: Moved to webkitcorepy.
* Scripts/webkitpy/port/factory_unittest.py: Use Version from webkitcorepy.
* Scripts/webkitpy/port/ios.py: Use Version from webkitcorepy, remove unneeded imports.
* Scripts/webkitpy/port/ios_device.py: se Version from webkitcorepy.
* Scripts/webkitpy/port/ios_device_unittest.py: Ditto.
* Scripts/webkitpy/port/ios_simulator.py: Ditto.
* Scripts/webkitpy/port/ios_simulator_unittest.py: Ditto.
* Scripts/webkitpy/port/ios_testcase.py: Ditto.
* Scripts/webkitpy/port/mac.py: Ditto.
* Scripts/webkitpy/port/mac_unittest.py: Ditto.
* Scripts/webkitpy/port/watch.py: Use Version from webkitcorepy, remove unneeded imports.
* Scripts/webkitpy/port/watch_device.py: Use Version from webkitcorepy.
* Scripts/webkitpy/port/watch_simulator.py: Ditto.
* Scripts/webkitpy/port/watch_simulator_unittest.py: Ditto.
* Scripts/webkitpy/port/watch_testcase.py: Ditto.
* Scripts/webkitpy/port/win.py: Use Version from webkitcorepy, remove unneeded imports.
* Scripts/webkitpy/port/win_unittest.py: Use Version from webkitcorepy.
* Scripts/webkitpy/test/main.py:
(main): Include webkitcorepy tests.
* Scripts/webkitpy/xcode/device_type_unittest.py: Use Version from webkitcorepy.
* Scripts/webkitpy/xcode/simulated_device.py: Ditto.
* Scripts/webkitpy/xcode/simulated_device_unittest.py: Use Version from webkitcorepy, fix style for imports.
2020-07-15 Aakash Jain <aakash_jain@apple.com>
[ews] clicking submit for EWS analysis button for patches on closed bug should display error
https://bugs.webkit.org/show_bug.cgi?id=214372
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/common/bugzilla.py:
(Bugzilla._get_bug_json): Method to get bug json.
(Bugzilla.is_bug_closed): Method to check if bug is closed.
* BuildSlaveSupport/ews-app/ews/config.py:
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(BugzillaPatchFetcher.send_patches_to_buildbot):
* BuildSlaveSupport/ews-app/ews/views/submittoews.py:
(SubmitToEWS.post): Display error message on submit for EWS analysis button click for closed bugs.
2020-07-15 Devin Rousso <drousso@apple.com>
should represent `TextPlaceholderElement` as an `NSTextAttachmentCharacter` instead of a `\n`
https://bugs.webkit.org/show_bug.cgi?id=214331
<rdar://problem/64779558>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/ios/UIKitSPI.h:
Add missing SPI declarations.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(-[TestWKWebView synchronouslyInsertTextPlaceholderWithSize:]): Added.
(-[TestWKWebView synchronouslyRemoveTextPlaceholder:willInsertText:]): Added.
(TEST.DocumentEditingContext.RequestBeforeInlinePlaceholder): Added.
(TEST.DocumentEditingContext.RequestAfterInlinePlaceholder): Added.
(TEST.DocumentEditingContext.RequestBeforeBlockPlaceholder): Added.
(TEST.DocumentEditingContext.RequestAfterBlockPlaceholder): Added.
2020-07-15 Jonathan Bedard <jbedard@apple.com>
[run-javascriptcore-tests] nativeArchitecture should never be arm64e
https://bugs.webkit.org/show_bug.cgi?id=214369
<rdar://problem/65364995>
Reviewed by Tim Horton.
* Scripts/webkitdirs.pm:
(determineNativeArchitecture):
(determineArchitecture):
2020-07-15 Ryan Haddad <ryanhaddad@apple.com>
Flaky API Test: TestWebKitAPI.SleepDisabler.NavigateBack
https://bugs.webkit.org/show_bug.cgi?id=213513#c9
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
(TEST_F): Disable the test to speed up EWS.
2020-07-15 Carlos Alberto Lopez Perez <clopez@igalia.com>
build-webkit script tries to execute command xcodebuild on Linux
https://bugs.webkit.org/show_bug.cgi?id=214353
Reviewed by Jonathan Bedard.
Recently, when running the script build-webkit on Linux the following warning is printed:
Can't exec "xcodebuild": No such file or directory at Tools/Scripts/webkitdirs.pm line 602
To fix this, change the code to only call the function determineXcodeSDK() when
building for an Apple/Cocoa platform.
* Scripts/webkitdirs.pm:
(determineArchitecture):
2020-07-15 Jim Mason <jmason@ibinx.com>
[WTF] Fix PackedAlignedPtr for X86_64 canonical addresses
https://bugs.webkit.org/show_bug.cgi?id=214142
Reviewed by Mark Lam
Revised test cases in TEST(WTF_Packed, AssignAndGet)
* TestWebKitAPI/Tests/WTF/Packed.cpp:
2020-07-15 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add timeout to network requests
https://bugs.webkit.org/show_bug.cgi?id=214355
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/common/util.py:
(fetch_data_from_url): Add tiemout as recommended in https://requests.readthedocs.io/en/master/user/quickstart/#timeouts
2020-07-15 Aakash Jain <aakash_jain@apple.com>
Make ews django app robust against network issues
https://bugs.webkit.org/show_bug.cgi?id=214351
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/common/buildbot.py:
(Buildbot.fetch_pending_and_inprogress_builds): Re-fetch builder_name_to_id_mapping if required.
2020-07-15 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Support Rosetta testing
https://bugs.webkit.org/show_bug.cgi?id=214016
<rdar://problem/65153804>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.__init__): Emulate architecture if native and specified architectures do not match.
* Scripts/webkitpy/port/server_process_unittest.py:
(TrivialMockPort.architecture):
2020-07-15 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Introduce JSCTEST_hardTimeout
https://bugs.webkit.org/show_bug.cgi?id=214343
Reviewed by Mark Lam.
* Scripts/run-javascriptcore-tests:
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
* Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
2020-07-15 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] API test /webkit/WebKitWebInspectorServer/test-page-list is flaky
https://bugs.webkit.org/show_bug.cgi?id=188115
Reviewed by Michael Catanzaro.
Stop using DBus to connect to the remote inspector and reload the page until we see the inspectable target.
* TestWebKitAPI/Tests/WebKitGtk/TestInspectorServer.cpp:
(connectToInspectorServer):
* TestWebKitAPI/glib/TestExpectations.json:
2020-07-14 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r264101): Sharing a link attaches an image instead of the URL
https://bugs.webkit.org/show_bug.cgi?id=214329
<rdar://problem/65513607>
Reviewed by Tim Horton and Devin Rousso.
Add a new API test to verify that the "share action" for a link shares the URL, rather than a snapshot of the
anchor element.
* TestWebKitAPI/Tests/ios/ShareSheetTests.mm:
2020-07-14 Alex Christensen <achristensen@webkit.org>
REGRESSION(r262341) URL::createCFURL should produce a CFURL that uses UTF-8 to decode its percent-encoded sequences
https://bugs.webkit.org/show_bug.cgi?id=214314
<rdar://problem/65079249>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
Add a direct test and update the Mojave test expectations for the test introduced in r262341 with the change that introduced this regression.
* TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
Update a test from r263475 which fixed another regression from r262341.
The test verified that nothing crashed or timed out, and that is still the case even with this intentional change in behavior.
2020-07-14 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] The completion handler in -handleKeyWebEvent:withCompletionHandler: is sometimes never called
https://bugs.webkit.org/show_bug.cgi?id=214295
<rdar://problem/60539389>
Reviewed by Devin Rousso.
Add API tests to exercise the corner cases described in the WebKit ChangeLog.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2020-07-14 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] watchos should build both arm64_32 and armv7k architectures
https://bugs.webkit.org/show_bug.cgi?id=214310
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2020-07-14 Aakash Jain <aakash_jain@apple.com>
[ews] watchos should build both arm64_32 and armv7k architectures
https://bugs.webkit.org/show_bug.cgi?id=214279
Reviewed by Darin Adler.
* BuildSlaveSupport/ews-build/config.json:
2020-07-14 Kate Cheney <katherine_cheney@apple.com>
[ macOS iOS ] http/tests/resourceLoadStatistics/telemetry-generation-basic-functionality-database.html is a rare flaky failure
https://bugs.webkit.org/show_bug.cgi?id=212165
<rdar://problem/63462045>
Reviewed by Brent Fulgham.
Remove unnecessary call to
testRunner.setStatisticsNotifyPagesWhenTelemetryWasCaptured now that
telemetry reports from the testing SPI will always notify the test
runner.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsNotifyPagesWhenTelemetryWasCaptured): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-07-14 Aakash Jain <aakash_jain@apple.com>
[ews] Do not upload archives for tvOS and watchOS
https://bugs.webkit.org/show_bug.cgi?id=214305
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(BuildFactory):
(BuildFactory.__init__):
(watchOSBuildFactory):
(tvOSBuildFactory):
2020-07-14 Karl Rackler <rackler@apple.com>
Add myself to contributors.json.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2020-07-14 Aakash Jain <aakash_jain@apple.com>
Add tvOS and watchOS support to built-product-archive
https://bugs.webkit.org/show_bug.cgi?id=214214
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/built-product-archive:
(webkitBuildDirectoryForConfigurationAndPlatform):
(determineWebKitBuildDirectories):
(minifyDirectory):
(archiveBuiltProduct):
(extractBuiltProduct):
2020-07-13 Aakash Jain <aakash_jain@apple.com>
Add EWS queues for tvOS and watchOS builders (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=214147
<rdar://problem/65290635>
Unreviewed follow-up fix.
* BuildSlaveSupport/ews-build/steps.py:
(CompileWebKit.start): Added tvos and watchos.
2020-07-13 Geoffrey Garen <ggaren@apple.com>
Unreviewed, re-landing r264242 with crash fixed.
Re-landed changeset:
"JSRunLoopTimer should use WTF::RunLoop rather than custom CF
code"
https://bugs.webkit.org/show_bug.cgi?id=214102
https://trac.webkit.org/changeset/264242
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm: Added.
(-[TestObject dealloc]):
(TestWebKitAPI::TEST):
2020-07-13 Sam Weinig <weinig@apple.com>
Replace single argument makeSimpleColor uses with their implementation
https://bugs.webkit.org/show_bug.cgi?id=214240
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Replace makeSimpleColor with convertToComponentBytes.
2020-07-13 Sihui Liu <sihui_liu@appe.com>
Text manipulation does not observe manipulated text after update
https://bugs.webkit.org/show_bug.cgi?id=213318
<rdar://problem/63766703>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-07-13 Zan Dobersek <zdobersek@igalia.com>
[WPE] Stick to default Glib source priorities in HeadlessViewBackend, WindowViewBackend
https://bugs.webkit.org/show_bug.cgi?id=214249
Reviewed by Carlos Garcia Campos.
The -70 GLib source priority was a magic baseline used to align other
GLib source priorities throughout the WPE stack. We moved to the
G_PRIORITY_DEFAULT value since then, so that's the value that should
be used in the two in-tree view backend implementations as well.
* wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
* wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WindowViewBackend::WindowViewBackend):
2020-07-12 Said Abou-Hallawa <sabouhallawa@apple.com>
[macOS]: A HEIF image, selected from the OpenPanel, should be converted to an accepted MIME type
https://bugs.webkit.org/show_bug.cgi?id=213347
<rdar://problem/57258464>
Reviewed by Darin Adler.
* WebKitTestRunner/TestController.cpp:
(WTR::runOpenPanel):
2020-07-11 Sam Weinig <weinig@apple.com> and Yusuke Suzuki <ysuzuki@apple.com>
Relanding "Make hasher work with tuple-like classes"
https://bugs.webkit.org/show_bug.cgi?id=214224
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/Hasher.cpp:
(TestWebKitAPI::get):
(TestWebKitAPI::HasherAddTupleLikeClass3::get const):
(TestWebKitAPI::TEST):
Update using new Color constructor for extended colors.
2020-07-12 Yusuke Suzuki <ysuzuki@apple.com>
Unreviewed, follow-up after r264210
https://bugs.webkit.org/show_bug.cgi?id=211707
Missing package.json and package-lock.json in the landed patch (while reviewed patch included them).
* WebKitBot/package-lock.json: Added.
* WebKitBot/package.json: Added.
2020-07-11 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r264270.
https://bugs.webkit.org/show_bug.cgi?id=214228
Broke the build
Reverted changeset:
"Make hasher work with tuple-like classes"
https://bugs.webkit.org/show_bug.cgi?id=214224
https://trac.webkit.org/changeset/264270
2020-07-11 Sam Weinig <weinig@apple.com>
Reduce surface area of the ExtendedColor class to a bare minimum
https://bugs.webkit.org/show_bug.cgi?id=214204
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeColor):
Update using new Color constructor for extended colors.
2020-07-11 Sam Weinig <weinig@apple.com>
Make hasher work with tuple-like classes
https://bugs.webkit.org/show_bug.cgi?id=214224
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/Hasher.cpp:
Enable and extend tests for using computeHash() with user defined tuple-like classes, supporting
both the get function as a member and as a ADL-able free function.
2020-07-10 Chris Dumez <cdumez@apple.com>
Unreviewed, reverting r264242.
Caused many crashes on iOS bots
Reverted changeset:
"JSRunLoopTimer should use WTF::RunLoop rather than custom CF
code"
https://bugs.webkit.org/show_bug.cgi?id=214102
https://trac.webkit.org/changeset/264242
2020-07-10 Fujii Hironori <Hironori.Fujii@sony.com>
[TestWebKitAPI][Win] Remove WEBCORE_EXPORT and WEBCORE_TESTSUPPORT_EXPORT definitions in PlatformWin.cmake
https://bugs.webkit.org/show_bug.cgi?id=214212
Reviewed by Don Olmstead.
Those macros should be defined only by WebCore/platform/PlatformExportMacros.h.
* TestWebKitAPI/PlatformWin.cmake: Removed WEBCORE_EXPORT and WEBCORE_TESTSUPPORT_EXPORT.
Added STATICALLY_LINKED_WITH_WebCore=1 to TestWebCore_DEFINITIONS.
2020-07-10 Aakash Jain <aakash_jain@apple.com>
Add tvOS and watchOS support to built-product-archive
https://bugs.webkit.org/show_bug.cgi?id=214214
Unreviewed infrastructure fix.
* BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):
(extractBuiltProduct):
2020-07-10 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Prevent SPI clients from making the minimum layout height or width negative
https://bugs.webkit.org/show_bug.cgi?id=214199
<rdar://problem/64109242>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/FixedLayoutSize.mm:
2020-07-10 Geoffrey Garen <ggaren@apple.com>
Add some testing for JSRunLoopTimer
https://bugs.webkit.org/show_bug.cgi?id=214193
Reviewed by Darin Adler.
Add some test coverage to JSRunLoopTimer since I'm changing it.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/JavaScriptCore/JSRunLoopTimer.mm: Added.
(-[TestObject dealloc]):
(TestWebKitAPI::TEST):
2020-07-10 Aakash Jain <aakash_jain@apple.com>
[EWS] layout-test results shouldn't be hosted on ews server
https://bugs.webkit.org/show_bug.cgi?id=201937
Rubber-stamped by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/steps.py:
(ExtractTestResults.resultDirectoryURL):
* BuildSlaveSupport/ews-build/steps_unittest.py:
2020-07-10 Xabier Rodriguez Calvar <calvaris@igalia.com>
[GStreamer][EME][OpenCDM] Implement OpenCDM support
https://bugs.webkit.org/show_bug.cgi?id=213550
Reviewed by Philippe Normand.
Added support to build OpenCDM and its dependencies. There is an
opt in env var to get JHBuild building Thunder its Widevine
dependencies. We also include a couple of GStreamer patches needed
to get key IDs in the decryptors.
Widevine is obviously proprietary and as you need to be licensed
to access it, you need credentials to build it.
* Scripts/webkitperl/FeatureList.pm:
* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-bad-0006-mssdemux-parse-protection-data.patch: Added.
* gstreamer/patches/gst-plugins-good-0002-Check-if-an-upstream-demuxer-provided-a-default-kid.patch: Added.
* gtk/install-dependencies:
* jhbuild/jhbuildrc_common.py:
(init):
* wpe/install-dependencies:
2020-07-10 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MiniBrowser: title of back-forward menu items needs to be truncated when it's too large
https://bugs.webkit.org/show_bug.cgi?id=214180
Reviewed by Adrian Perez de Castro.
The popover menu doesn't set ellipsize on the inner label, so we need to do it manually. In the case of GTK4 we
also need to markup escape it.
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowCreateBackForwardMenu):
2020-07-09 Yusuke Suzuki <ysuzuki@apple.com>
Add Slack-aware WebKitBot implementation
https://bugs.webkit.org/show_bug.cgi?id=211707
Reviewed by Devin Rousso and Brian Burg.
This patch adds Slack-aware WebKitBot implementation which supports "ping", "revert", and the other commands.
I decided to implement this feature in chat-bot because of the following reasons.
1. It is the previous way we are familiar with.
2. Creating a revert-patch sometimes takes long time because it involves working-copy clean-up, creating a revert, generating a patch...
So asynchronous request-response is better for developers who do not want to watch whether the patch is created until it is done.
Chat-bot can tell us when it is ready.
3. Requesting a revert-patch in public channel can easily tell the other developers that reverting is going on now.
We reuse python's `webkit-patch create-revert` command as it was in the old webkitbot. We enhance WKR bot to support webkitbot feature.
Once webkitbot app is installed into a channel, it monitors messages in the channel and works when the mention to this bot's user happens.
We use Real Time Message Slack API instead of Event API, because Event API requires public facing HTTPS server which accepts incoming webhook.
Real Time Message Slack API just requires a server app which connects to Slack via WebSocket, so it is easier to deploy for now.
The implementation of webkitbot is client-server model inside one process. There is one AsyncTaskQueue, and there is one async main loop which
takes the task from the queue and replies when it is done. Every time we noticed the request, this request queues the task to this task queue.
This design ensures that only one task is using the working-copy WebKit repository at a time, this is required to make a revert-patch without
conflict.
* WKR/ReadMe.md: Removed.
* WKR/WKR.mjs: Removed.
* WKR/package-lock.json: Removed.
* WKR/package.json: Removed.
* WebKitBot/.eslintrc: Added.
* WebKitBot/.gitignore: Renamed from Tools/WKR/.gitignore.
* WebKitBot/ReadMe.md: Added.
* WebKitBot/data/.gitignore: Renamed from Tools/WKR/data/.gitignore.
* WebKitBot/package-lock.json: Added.
* WebKitBot/package.json: Added.
* WebKitBot/src/AsyncTaskQueue.mjs: Added.
* WebKitBot/src/Commit.mjs: Added.
* WebKitBot/src/Contributors.mjs: Added.
* WebKitBot/src/Utility.mjs: Added.
* WebKitBot/src/WKR.mjs: Added.
* WebKitBot/src/WebKitBot.mjs: Added.
* WebKitBot/src/index.mjs: Added.
* WebKitBot/tests/Commit.test.mjs: Added.
* WebKitBot/tests/WebKitBot.test.mjs: Added.
* WebKitBot/tests/resources/.gitattributes: Added.
* WebKitBot/tests/resources/HaveRadarAndBugzilla.json: Added.
* WebKitBot/tests/resources/HavingBugzilla.json: Added.
* WebKitBot/tests/resources/NoRadarAndBugzilla.json: Added.
2020-07-09 Andres Gonzalez <andresg_22@apple.com>
Make accessibility/Mac/selected-visible-position-range.html time-deterministic.
https://bugs.webkit.org/show_bug.cgi?id=214154
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
Check passed parameter for null.
(WTR::AccessibilityUIElement::selectedTextMarkerRange):
Use attributeValue to run on secondary AX thread.
2020-07-09 Per Arne Vollan <pvollan@apple.com>
Move XPCEndpoint and XPCEndpointClient classes from WebCore to WebKit
https://bugs.webkit.org/show_bug.cgi?id=214099
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit/XPCEndpoint.mm:
2020-07-09 Aakash Jain <aakash_jain@apple.com>
Add EWS queues for tvOS and watchOS builders
https://bugs.webkit.org/show_bug.cgi?id=214147
Reviewed by Stephanie Lewis.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Added status-bubbles for tvos and watchos queues.
* BuildSlaveSupport/ews-build/config.json: Added watchos and tvos builders.
* BuildSlaveSupport/ews-build/factories.py:
(watchOSBuildFactory):
(tvOSBuildFactory):
* BuildSlaveSupport/ews-build/factories_unittest.py: Added unit-tests.
* BuildSlaveSupport/ews-build/loadConfig.py:
* BuildSlaveSupport/ews-build/steps.py:
(appendCustomBuildFlags): Added support for tvos and watchos.
(CompileWebKit.start): Ditto.
(PrintConfiguration.run): Ditto.
2020-07-09 Tim Horton <timothy_horton@apple.com>
Local internal builds fail on Apple Silicon (building yasm)
https://bugs.webkit.org/show_bug.cgi?id=214129
Reviewed by Dan Bernstein.
* Scripts/webkitdirs.pm:
(determineNativeArchitecture):
Build for arm64e when building with the internal SDK.
Importantly, this matches the ARCHS_STANDARD_* build settings, so this way we
won't set an ARCH that isn't in VALID_ARCHS for projects who use ARCHS_STANDARD_*.
(determineXcodeSDK):
Fall back to "macosx", so that other code can correctly identify that we're building for macOS.
This logic needs to be here, instead of in the caller (who could assume undefined means macOS),
because we want the ".internal" search to take place as well.
2020-07-09 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Occasional crash under -[UIView _setViewDelegate:] when presenting date and time pickers
https://bugs.webkit.org/show_bug.cgi?id=214120
<rdar://problem/65246918>
Reviewed by Darin Adler.
Implement additional support for testing date and time pickers presented using context menus on iOS 14.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::isShowingContextMenu const):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _didShowContextMenu]):
(-[TestRunnerWKWebView _didDismissContextMenu]):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::setDidDismissContextMenuCallback):
Call the completion callback with `CallbackTypeDidDismissContextMenu`, rather than
`CallbackTypeDidEndFormControlInteraction`.
(WTR::UIScriptControllerIOS::isShowingContextMenu const):
Add a new script controller to ask whether we're currently presenting a context menu. This is useful in the case
where we want to wait until we're no longer showing a context menu, since we'll either immediately invoke script
completion, or stash a completion callback on `didDismissContextMenuCallback` to invoke script completion after
the context menu is finished dismissing.
2020-07-09 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Unable to build without Internet connection
https://bugs.webkit.org/show_bug.cgi?id=213920
Reviewed by Sergio Villar Senin.
Set the flathub ostree repo url explicitely in order to avoid retrieving it from the
flatpakrepo remote file. This is unlikely to change.
* flatpak/flatpakutils.py:
(WebkitFlatpak._get_packages):
2020-07-09 Xabier Rodriguez Calvar <calvaris@igalia.com>
[WTF] Implement new BoxPtr alias
https://bugs.webkit.org/show_bug.cgi?id=212379
Reviewed by Darin Adler.
Tests for BoxPtr.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/BoxPtr.cpp: Added.
(TestWebKitAPI::BoxPtrLogger::create):
(TestWebKitAPI::BoxPtrLogger::BoxPtrLogger):
(TestWebKitAPI::boxPtrLoggerDeleter):
(TestWebKitAPI::TEST):
2020-07-09 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Add support for HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain
https://bugs.webkit.org/show_bug.cgi?id=213954
Reviewed by Michael Catanzaro.
Update libsoup to version 2.71.0.
* buildstream/elements/sdk/libsoup.bst:
* gtk/jhbuild.modules:
2020-07-08 Stephan Szabo <stephan.szabo@sony.com>
[Windows] Fix errors from calls to uname when not available
https://bugs.webkit.org/show_bug.cgi?id=214101
Reviewed by Darin Adler.
As bare windows doesn't default to having uname, avoid calls
to it for architecture determination.
* Scripts/webkitdirs.pm:
Do not call uname on windows (non-cygwin) perl
* Scripts/webkitpy/common/system/platforminfo.py:
Do not call uname for windows (non-cygwin) python,
os.uname() also doesn't necessarily exist there,
so use platform.uname() instead.
2020-07-08 Chris Dumez <cdumez@apple.com>
ASSERTION FAILURE: Completion handlers not invalidated when WebPage::~WebPage() invoked navigating to docs.google.com and signing in
https://bugs.webkit.org/show_bug.cgi?id=214098
<rdar://problem/64848288>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspension.mm:
(TEST):
2020-07-08 Sam Weinig <weinig@apple.com>
Part 3 of SimpleColor and SRGBA<uint8_t> are essentially the same - let's converge them
https://bugs.webkit.org/show_bug.cgi?id=214082
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Update to account for makeSimpleColor no longer returning an object that has a
asSRGBA<uint8_t>() function (it is already a SRGBA<uint8_t>).
2020-07-08 Per Arne Vollan <pvollan@apple.com>
[Cocoa] Make it possible to establish direct XPC connections between WebKit processes
https://bugs.webkit.org/show_bug.cgi?id=214079
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/XPCEndpoint.mm: Added.
(TEST):
2020-07-08 Aakash Jain <aakash_jain@apple.com>
[ews] Limit layout tests failures to display in the status-bubble tooltip and buildbot summary
https://bugs.webkit.org/show_bug.cgi?id=214085
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/steps.py: Limit NUM_FAILURES_TO_DISPLAY to 10.
(AnalyzeLayoutTestsResults.report_failure):
(AnalyzeLayoutTestsResults.report_pre_existing_failures):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeLayoutTestsResults.test_clean_tree_has_some_failures): Updated as per new behavior.
(TestAnalyzeLayoutTestsResults.test_failure_on_clean_tree): Updated to also test for build_summary.
(TestAnalyzeLayoutTestsResults.test_flaky_and_inconsistent_failures_with_clean_tree_failures): Ditto.
(TestAnalyzeLayoutTestsResults.test_mildly_flaky_patch_with_some_tree_redness_and_flakiness): Ditto.
(TestAnalyzeLayoutTestsResults.test_flaky_failures_in_first_run): Added unit-test.
(TestAnalyzeLayoutTestsResults.test_clean_tree_has_lot_of_failures_and_no_new_failure): Added unit-test.
(TestAnalyzeLayoutTestsResults.test_patch_introduces_lot_of_failures): Added unit-test.
2020-07-08 Sihui Liu <sihui_liu@appe.com>
Text manipulation should ignore white spaces between nodes
https://bugs.webkit.org/show_bug.cgi?id=213907
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-07-08 Andy Estes <aestes@apple.com>
REGRESSION (r207558): [Mac] Context clicks on links sometimes result in navigations
https://bugs.webkit.org/show_bug.cgi?id=213793
<rdar://problem/64294015>
Reviewed by Tim Horton.
Added API tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme:
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuMouseEvents.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKit/mac/ContextMenuControlClick.mm.
(TestWebKitAPI::runTest):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:clickCount:modifierFlags:mouseEventType:]):
(-[TestWKWebViewHostWindow _mouseUpAtPoint:clickCount:modifierFlags:eventType:]):
(-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
(-[TestWKWebView mouseDownAtPoint:simulatePressure:withFlags:eventType:]):
(-[TestWKWebView mouseUpAtPoint:]):
(-[TestWKWebView mouseUpAtPoint:withFlags:eventType:]):
(-[TestWKWebView sendClicksAtPoint:numberOfClicks:]):
(-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:clickCount:modifierFlags:]): Deleted.
(-[TestWKWebViewHostWindow _mouseUpAtPoint:clickCount:modifierFlags:]): Deleted.
(-[TestWKWebView mouseDownAtPoint:simulatePressure:withFlags:]): Deleted.
(-[TestWKWebView mouseUpAtPoint:withFlags:]): Deleted.
2020-07-08 Jer Noble <jer.noble@apple.com>
Flaky API Test: TestWebKitAPI.SleepDisabler.NavigateBack
https://bugs.webkit.org/show_bug.cgi?id=213513
<rdar://problem/64642715>
Reviewed by Eric Carlson.
Make the test less dependent on the specific behavior of restoring the history state by adding code within
the source HTML itself to explicitly play the contained video after state restoration.
* TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
(TEST_F):
* TestWebKitAPI/Tests/WebKitLegacy/ios/video-with-audio.html:
2020-07-07 Antoine Quint <graouts@webkit.org>
[iOS] Sharing an <img> element with a base64-encoded URL shares the URL as raw text instead of an image
https://bugs.webkit.org/show_bug.cgi?id=214042
<rdar://problem/56669102>
Reviewed by Wenson Hsieh.
Add a test that loads a page with an <img> with its data encoded as a base64 URL, brings up the share sheet for it
and checks a single NSURL object is made available in the activity items.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/ShareSheetTests.mm: Added.
(-[ShareSheetObserver _webView:actionsForElement:defaultActions:]):
(-[ShareSheetObserver _webView:willShareActivityItems:]):
(TestWebKitAPI::showShareSheet):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/img-with-base64-url.html: Added.
2020-07-08 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Pre-start sccache server
https://bugs.webkit.org/show_bug.cgi?id=213973
Reviewed by Žan Doberšek.
Pre-start the sccache-dist server when the flatpak sandbox is being invoked for a build.
Usually the first sccache client process would do it but it seems to be racy when a large
number of clients is being started simultaneously.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-07-08 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] install-dependencies should install the gstreamer plugins
https://bugs.webkit.org/show_bug.cgi?id=214045
Reviewed by Adrian Perez de Castro.
When building webkit against system libraries (without flatpak/jhbuild)
its needed to have installed the webkit plugins to play media files.
The install-dependencies script should install them.
gstreamer-plugins-ugly its likely not needed for the majority of the cases,
but it can be required by some ugly media files that require an ugly decoder.
Since we are installing it on the flatpak, let's add it here as well.
* gtk/install-dependencies:
* wpe/install-dependencies:
2020-07-08 Philippe Normand <pnormand@igalia.com>
[webkitpy] run-minibrowser doesn't handle unicode urls
https://bugs.webkit.org/show_bug.cgi?id=214036
Reviewed by Žan Doberšek.
Convert unregistered command-line arguments to utf-8 and append parsed URL. Previously
unrelated arguments (like the platform arg) were passed to the final MiniBrowser app, this
is no longer the case.
* Scripts/webkitpy/minibrowser/run_webkit_app.py:
(main):
2020-07-08 Carlos Alberto Lopez Perez <clopez@igalia.com>
[JHBuild] Add support for using a minimal moduleset
https://bugs.webkit.org/show_bug.cgi?id=213614
Reviewed by Carlos Garcia Campos.
This patch introduces a way of specifying a moduleset other than the default
via the environment variable WEBKIT_JHBUILD_MODULESET and adds a minimal moduleset
that allows building WebKit with it. This minimal moduleset includes the libraries
needed for building WebKit on Ubuntu-18.04, and those libraries are only build if
needed since they include the <pkg-config> entries that tells JHBuild to not build
them if those are already installed system wide. So this minimal moduleset should
work also on newer versions of Ubuntu or even other distributions.
Currently a recipe for newer libsoup than the one shipped by Ubuntu-18.04 is included
since we need this to have support for SameSite cookie support.
The minimal moduleset is shared between WPE and GTK to reduce code duplication.
To use this, you have to export on the build environment:
WEBKIT_JHBUILD=1
WEBKIT_JHBUILD_MODULESET=minimal
* Scripts/update-webkit-libs-jhbuild:
(getJhbuildIncludedFilePaths):
(jhbuildModulesetNameChanged):
(jhbuildConfigurationChanged):
(saveJhbuildMd5):
(saveJhbuildModulesetName):
(saveJhbuildConfig):
(deleteJhbuildMd5):
(deleteJhbuildModulesetName):
(deleteJhbuildConfig):
* Scripts/webkitdirs.pm:
(getJhbuildModulesetName):
* gtk/jhbuild-minimal.modules: Added.
* jhbuild/jhbuild-minimal.modules: Added.
* jhbuild/jhbuildrc_common.py:
(init):
* jhbuild/patches/libsoup-lower-glib-dependency-to-2.38.patch: Added.
* wpe/jhbuild-minimal.modules: Added.
2020-07-08 Philippe Normand <pnormand@igalia.com>
[webkitpy] run-minibrowser doesn't default to mac and stdout/stderr are not displayed
https://bugs.webkit.org/show_bug.cgi?id=214072
Reviewed by Adrian Perez de Castro.
* Scripts/webkitpy/minibrowser/run_webkit_app.py:
(main): Default to mac platform, like in old-run-minibrowser.
* Scripts/webkitpy/port/base.py:
(Port.run_minibrowser): Display MiniBrowser stdout and stderr on the terminal output.
2020-07-08 Diego Pino Garcia <dpino@igalia.com>
[Flatpak] Avoid error message 'error: org.webkit.Sdk/*unspecified*/*unspecified*' not installed
https://bugs.webkit.org/show_bug.cgi?id=213871
Reviewed by Philippe Normand.
The error message happens when requesting a Flatpak SDK version but there's no Flatpak SDK installed yet.
In that case, ignore stderr to filter out the message.
* flatpak/flatpakutils.py:
(run_sanitized):
(FlatpakObject.flatpak):
(FlatpakObject.version):
2020-07-08 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Initial installation with IceCC enabled fails
https://bugs.webkit.org/show_bug.cgi?id=213833
Reviewed by Adrian Perez de Castro.
Avoid attempting to use the IceCC environment during the toolchain
archive update. The initial SDK installation triggers this when
IceCC is enabled on the command-line or via CCACHE_PREFIX, after
resetting the internal toolchain mapping. So the solution is to
opt-out of this runtime configuration setup, which is useless
anyway when the toolchain archive is being generated.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.pack_toolchain):
2020-07-07 Sam Weinig <weinig@apple.com>
Enabled testing of date/time input types for WebKit2 macOS
https://bugs.webkit.org/show_bug.cgi?id=214044
Reviewed by Chris Dumez.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Enable the date/time input types unconditionally for testing when support is compiled in.
2020-07-07 Alex Christensen <achristensen@webkit.org>
Add WebCoreNSURLSession SPI to send HTTP/2 ping
https://bugs.webkit.org/show_bug.cgi?id=214030
<rdar://problem/64495827>
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
(TestWebKitAPI::TEST):
Add a disabled test I used to verify this works correctly.
2020-07-07 Geoffrey Garen <ggaren@apple.com>
Added a test for callOnMainThread
https://bugs.webkit.org/show_bug.cgi?id=214025
Reviewed by Sam Weinig.
This test failed prior to https://trac.webkit.org/changeset/263981.
* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST): Added a test demonstrating why a simple "is the
queue empty?" check doesn't work when you support both re-entrancy and
threads. While the main thread is sleeping in a nested RunLoop, a
secondary thread can see a non-empty queue.
2020-07-07 Philippe Normand <pnormand@igalia.com>
[GStreamer] OGV/VP8 video not playing on minibrowser (neither epiphany)
https://bugs.webkit.org/show_bug.cgi?id=205916
Reviewed by Xabier Rodriguez-Calvar.
* buildstream/elements/sdk/gst-plugins-base.bst: Vendor upstreamed GStreamer patch. It is
merged in the 1.16 branch and scheduled for 1.16.3 release but we don't know when/if it will
happen.
* buildstream/patches/gst-plugins-base-0001-oggstream-Workaround-for-broken-PAR-in-VP8-BOS.patch: Added.
2020-07-07 Yury Semikhatsky <yurys@chromium.org>
[GTK][MiniBrowser] occasional crashes when closing while download in progress
https://bugs.webkit.org/show_bug.cgi?id=214007
Reviewed by Carlos Garcia Campos.
Remove signal handlers from WebKitDownload when BrowserDownload is finalized,
WebKitDownload may emit a signal after the UI item has been destroyed which leads
to a crash.
* MiniBrowser/gtk/BrowserDownloadsBar.c:
(browserDownloadFinalize):
2020-07-06 Wenson Hsieh <wenson_hsieh@apple.com>
Web process sometimes crashes when translating an article on spiegel.de
https://bugs.webkit.org/show_bug.cgi?id=214014
<rdar://problem/65099253>
Reviewed by Tim Horton.
Add a test case that dynamically adds an `object` element, immediately removes it, and then adds a chunk of text
and verifies that the text manipulation delegate method for new content is invoked.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-07-06 Carlos Alberto Lopez Perez <clopez@igalia.com>
svn-apply should use verbose mode when adding files to git
https://bugs.webkit.org/show_bug.cgi?id=214022
Reviewed by Darin Adler.
If a patch contains several copy or add operations it can happen that there is
no output for more than 600 seconds meanwhile the tool is applying the patch.
This can cause a fatal error on the EWS. Pass the verbose flag to git,
so it outputs the name of the file after adding it to the index.
This is consequent how "svn add" works by default (it outputs the name of the file),
or how "git rm" works (it also outputs the name of the file by default as well).
* Scripts/svn-apply:
(scmCopy):
(scmAdd):
(scmCommitQueueAdded):
2020-07-06 Chris Fleizach <cfleizach@apple.com>
AX: Implement user action spec for Escape action
https://bugs.webkit.org/show_bug.cgi?id=213875
<rdar://problem/65022980>
Reviewed by Darin Adler.
* DumpRenderTree/AccessibilityUIElement.cpp:
(dismissCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::dismiss):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::dismiss):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
(WTR::AccessibilityUIElement::dismiss):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::dismiss):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::dismiss):
2020-07-06 Jonathan Bedard <jbedard@apple.com>
[test-webkitpy] Use platform architecture
https://bugs.webkit.org/show_bug.cgi?id=214002
<rdar://problem/65144773>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/test/main.py:
(Tester._run_tests):
2020-07-06 Wenson Hsieh <wenson_hsieh@apple.com>
[iPadOS] Unable to change focus between Google Docs windows by tapping
https://bugs.webkit.org/show_bug.cgi?id=213985
<rdar://problem/57083267>
Reviewed by Darin Adler.
Add WebKitTestRunner support for being able to verify that a web view's window has become the key window.
* DumpRenderTree/CMakeLists.txt:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/UIScriptController.cpp: Added.
(WTR::UIScriptController::setWindowIsKey):
(WTR::UIScriptController::windowIsKey const):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp: Renamed from Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp.
Rename `UIScriptController.cpp` (in TestRunnerShared) to `UIScriptControllerShared.cpp`, and introduce new
DumpRenderTree and WebKitTestRunner versions of `UIScriptController.cpp` to house DumpRenderTree and
WebKitTestRunner-specific UIScriptController method implementations.
For now, these are just `windowIsKey` and `setWindowIsKey` below, which plumb into their respective platform-
agnostic `PlatformWebView` methods in WebKitTestRunner.
* WebKitTestRunner/UIScriptController.cpp: Added.
(WTR::UIScriptController::windowIsKey const):
(WTR::UIScriptController::setWindowIsKey):
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(-[WebKitTestRunnerWindow becomeKeyWindow]):
(-[WebKitTestRunnerWindow resignKeyWindow]):
Update these two methods to update `m_windowIsKey` when the test runner's `UIWindow` becomes the key window (or
stops being the key window). This is invoked when `-[UIWindow makeKeyWindow]` is called (e.g. from within WebKit
code when tapping on an editable element).
(WTR::PlatformWebView::setWindowIsKey):
Avoid infinitely looping when setting windowIsKey to `true`, due to `-becomeKeyWindow` calling back into
`setWindowIsKey`.
2020-07-06 Zhifei Fang <zhifei_fang@apple.com>
[result database] Empty search will return too many tests to display
https://bugs.webkit.org/show_bug.cgi?id=213898
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/js/search.js: Trim the search string before fetching the tests, ingore empty string on paste event
2020-07-06 Geoffrey Garen <ggaren@apple.com>
RunLoop::dispatch should only call wakeUp when needed
https://bugs.webkit.org/show_bug.cgi?id=213705
Reviewed by Brady Eidson.
Added some tests for interesting edge cases.
Now that we have tests, we don't need so many comments.
* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST): Test that re-entry maintiains ordering. Test that
re-entry does not deadlock with cross-thread posting. (This deadlock is
why we can't just use a naive check for an empty queue.)
* TestWebKitAPI/glib/UtilitiesGLib.cpp:
(TestWebKitAPI::Util::run):
(TestWebKitAPI::Util::spinRunLoop):
(TestWebKitAPI::Util::sleep): Try to fix the GLib RunLoop testing code.
GLib fails my two new tests, and seems to fail other RunLoop-y tests.
I think this is because g_idle_add is defined not to work in nested
RunLoops. Let's see if using WTF's RunLoop API instead can help.
2020-07-06 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Enable storageAccess tests
https://bugs.webkit.org/show_bug.cgi?id=213881
Reviewed by Adrian Perez de Castro.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::getAllStorageAccessEntries): Use the right website data store.
2020-07-06 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Change the cookies accept policy when ITP is enabled
https://bugs.webkit.org/show_bug.cgi?id=213502
Reviewed by Michael Catanzaro.
Add tests to check the policy is changed and restored correctly when ITP is enabled and disabled.
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerAcceptPolicy):
2020-07-06 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Misc updates
https://bugs.webkit.org/show_bug.cgi?id=213968
Reviewed by Sergio Villar Senin.
* buildstream/README.rst: ReST format fixes and doc additions.
* buildstream/elements/sdk/perl-term-readkey.bst: Remove perllocal.pod as it can clash with other recipes.
* flatpak/flatpakutils.py:
(run_in_sandbox_if_available): Add --flatpak- option pass-through support. This was lost
after the migration of run-minibrowser to python.
2020-07-05 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r263960.
https://bugs.webkit.org/show_bug.cgi?id=213980
Re-land, because r263959 somehow fixed the build issue caused
by r263953
Reverted changeset:
"Unreviewed, reverting r263953 and r263959."
https://bugs.webkit.org/show_bug.cgi?id=213979
https://trac.webkit.org/changeset/263960
2020-07-05 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r263953 and r263959.
https://bugs.webkit.org/show_bug.cgi?id=213979
Broke internal build
Reverted changesets:
"[Cocoa] Move almost all features from FeatureDefines.xcconfig
to PlatformEnableCocoa.h"
https://bugs.webkit.org/show_bug.cgi?id=212542
https://trac.webkit.org/changeset/263953
"[Cocoa] Remove FEATURE_DEFINES from the Cocoa/Xcode build
system"
https://bugs.webkit.org/show_bug.cgi?id=213976
https://trac.webkit.org/changeset/263959
2020-07-05 Darin Adler <darin@apple.com>
[Cocoa] Remove FEATURE_DEFINES from the Cocoa/Xcode build system
https://bugs.webkit.org/show_bug.cgi?id=213976
Reviewed by Sam Weinig.
* Scripts/webkitpy/style/checkers/featuredefines.py: Removed all FeatureDefines.xcconfig
files except for the two that remain, WebCore and WebKit.
* TestWebKitAPI/Configurations/Base.xcconfig: Removed FEATURE_DEFINES.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed.
* TestWebKitAPI/Configurations/TestWTF.xcconfig: Removed include of FeatureDefines.xcconfig.
* TestWebKitAPI/Configurations/TestWTFLibrary.xcconfig: Ditto.
* TestWebKitAPI/Configurations/TestWebKitAPILibrary.xcconfig: Ditto.
* TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Ditto.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Removed FeatureDefines.xcconfig.
2020-07-05 Sihui Liu <sihui_liu@appe.com>
Text manipulation: add a new heuristic to decide paragraph boundary
https://bugs.webkit.org/show_bug.cgi?id=213918
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-07-05 Darin Adler <darin@apple.com>
[Cocoa] Move almost all features from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212542
Reviewed by Sam Weinig.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Delete everything except
ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Added include of
WebKitTargetConditionals.xcconfig.
2020-07-05 Philippe Normand <pnormand@igalia.com>
[WPE] run-wpe-tests Python3 compatibility
https://bugs.webkit.org/show_bug.cgi?id=213969
Reviewed by Sam Weinig.
* Scripts/run-wpe-tests:
2020-07-05 Said Abou-Hallawa <sabouhallawa@apple.com>
[macOS] Allow selecting HEIF images if the 'accept' attribute includes an image MIME type that the platform can transcode the HEIF to
https://bugs.webkit.org/show_bug.cgi?id=212489
Reviewed by Darin Adler.
The scope of this enhancement will be scaled down. No UI change will be
done for now. Only allow HEIF/HEIC images to be selected if the 'accept'
attribute include a mime type which CG supports transcoding the HEIF/HEIC
images to.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
(-[FileExtensionsPopupTarget initWithOpenPanel:allowedFileExtensions:]): Deleted.
(-[FileExtensionsPopupTarget popupAction:]): Deleted.
(-[FileExtensionsPopupTarget dealloc]): Deleted.
(-[WK2BrowserWindowController createFilterView:popupTarget:]): Deleted.
2020-07-04 Darin Adler <darin@apple.com>
[Cocoa] Remove all features from FeatureDefines.xcconfig that are already mentioned in PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=213962
Reviewed by Sam Weinig.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned
in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.
2020-07-04 Darin Adler <darin@apple.com>
[Cocoa] Remove unconditional features from FeatureDefines.xcconfig, making sure they are covered in PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418
Reviewed by Sam Weinig.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,
or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.
2020-07-04 Sam Weinig <weinig@apple.com>
Part 1 of SimpleColor and SRGBA<uint8_t> are essentially the same - let's converge them
https://bugs.webkit.org/show_bug.cgi?id=213948
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Adapt tests to use templatized toSRGBALossy<float/uint8_t>.
2020-07-04 Sergio Villar Senin <svillar@igalia.com>
[Flatpak SDK] Require OpenXR 1.0.9
https://bugs.webkit.org/show_bug.cgi?id=213930
Reviewed by Philippe Normand.
* buildstream/elements/sdk/openxr.bst:
2020-07-04 Darin Adler <darin@apple.com>
Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
https://bugs.webkit.org/show_bug.cgi?id=212420
* Scripts/generate-unified-sources.sh: Removed --feature-flags from the
arguments passed to generate-unified-source-bundles.rb. Also removed many
unneeded quotes.
2020-07-04 Lauro Moura <lmoura@igalia.com>
[WebDriver][WPE] Allow running Selenium tests with the WPE WebDriver
https://bugs.webkit.org/show_bug.cgi?id=213500
Reviewed by Carlos Garcia Campos.
Add missing method used to discover the selenium name of
the WPE webdriver.
Proper gardening/triaging of failures will come in following commits.
* Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
(WebDriverWPE.selenium_name):
2020-07-04 Darin Adler <darin@apple.com>
Update comment in FeatureDefines.xcconfig since PlatformEnableCocoa.h should be used instead
https://bugs.webkit.org/show_bug.cgi?id=213952
Reviewed by Sam Weinig.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Updated comment.
2020-07-03 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Tests that show system menu popups may fail when run concurrently
https://bugs.webkit.org/show_bug.cgi?id=213950
<rdar://problem/64551566>
Reviewed by Darin Adler.
Make it possible to run tests that present system modal popups simultaneously, without the possibility of these
tests interfering with each other. Examples include context menus, select menus, and the DOM paste popup. To do
this, we swizzle out codepaths for showing and dimissing popups, and instead dispatch notifications and the
appropriate NSMenuDelegate methods ourselves.
This change has the side effect of fixing several layout tests that are currently timing out only on arm64e
macOS, due to reasons detailed in <rdar://problem/65084503>.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::setSwizzledPopUpMenu):
(WTR::swizzledPopUpContextMenu):
(WTR::swizzledPopUpMenu):
(WTR::swizzledCancelTracking):
(WTR::TestController::platformInitialize):
2020-07-03 Sam Weinig <weinig@apple.com>
Remove support for ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
https://bugs.webkit.org/show_bug.cgi?id=213932
Reviewed by Darin Adler.
Removes support for non-standard <input type="datetime">, currently being
guarded by the macro ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. This macro, was
added back in 2013 as a temporary measure to support some engines who shipped
support for <input type="datetime">. It is currently not enabled for any
ports so now seems like as good a time as any to remove it.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-07-03 Sam Weinig <weinig@apple.com>
Split color conversion functions out of ColorUtilities.h/cpp into their own file.
https://bugs.webkit.org/show_bug.cgi?id=213803
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
Update to include ColorConversion.h and ColorTypes.h rather than ColorUtilities.h
2020-07-03 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE][webkitpy] Use headless driver instead of wayland driver
https://bugs.webkit.org/show_bug.cgi?id=213914
Reviewed by Philippe Normand.
WPE now supports running tests completely headless, but we are
still using the webkitpy WaylandDriver to run the tests.
This causes an error if the environment doesn't have defined the
WAYLAND_DISPLAY or WAYLAND_SOCKET environment variables.
Switch the driver to HeadlessDriver.
* Scripts/webkitpy/port/wpe.py:
(WPEPort._driver_class):
2020-07-03 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r261779): [GTK][WPE] http/tests/resourceLoadStatistics/third-party-cookie-blocking-ephemeral.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212017
Reviewed by Michael Catanzaro.
Use the ephemeral data store when useEphemeralSession option is enabled.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::platformInitializeDataStore):
2020-07-02 Alex Christensen <achristensen@webkit.org>
Update Mac CMake build
* DumpRenderTree/PlatformMac.cmake:
* WebKitTestRunner/PlatformMac.cmake:
2020-07-02 Alex Christensen <achristensen@webkit.org>
Add testing infrastructure and SPI declaration for HTTP/2 ping
https://bugs.webkit.org/show_bug.cgi?id=213913
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm:
(-[SessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(TestWebKitAPI::pingPong):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::H2::Frame::Frame):
(TestWebKitAPI::H2::Frame::type const):
(TestWebKitAPI::H2::Frame::flags const):
(TestWebKitAPI::H2::Frame::streamID const):
(TestWebKitAPI::H2::Frame::payload const):
(TestWebKitAPI::H2::Connection::create):
(TestWebKitAPI::H2::Connection::Connection):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::listenerParameters):
(TestWebKitAPI::dataFromVector):
(TestWebKitAPI::vectorFromData):
(TestWebKitAPI::HTTPServer::request const):
(TestWebKitAPI::Connection::receiveBytes const):
(TestWebKitAPI::Connection::receiveHTTPRequest const):
(TestWebKitAPI::Connection::send const):
(TestWebKitAPI::H2::Connection::send const):
(TestWebKitAPI::H2::Connection::receive const):
2020-07-02 Kate Cheney <katherine_cheney@apple.com>
Custom URL schemes should be treated as app-bound
https://bugs.webkit.org/show_bug.cgi?id=213889
<rdar://problem/64804671>
Reviewed by Brent Fulgham.
Added custom schemes to TestWebKitAPI's Info.plist for testing
duplicate values and the max of 10 domains/schemes. Added
two API tests to check that schemes are properly read from the
Info.plist and that content loaded using a specified app-bound scheme
has restricted API use.
* TestWebKitAPI/Info.plist:
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
2020-07-02 Philippe Normand <pnormand@igalia.com>
REGRESSION(r263625): run-minibrowser fails on mac
https://bugs.webkit.org/show_bug.cgi?id=213876
Reviewed by Darin Adler.
* Scripts/webkitpy/port/base.py:
(Port.run_minibrowser): _run_script() expects a string as first argument. Command-line args
are passed through a keyword.
2020-07-02 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK4 build
* MiniBrowser/gtk/BrowserSettingsDialog.c:
(browser_settings_dialog_init):
2020-07-02 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add perl-term-readkey
https://bugs.webkit.org/show_bug.cgi?id=213787
Reviewed by Adrian Perez de Castro.
This is yet another git-svn runtime dependency.
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk/perl-term-readkey.bst: Added.
2020-07-01 Wenson Hsieh <wenson_hsieh@apple.com>
Fix the WebKit build after <rdar://problem/64288191>
https://bugs.webkit.org/show_bug.cgi?id=213832
Reviewed by Tim Horton.
Additionally, fix a naming conflict that will result from `WebArchivePboardType` being declared in both
`<WebKitLegacy/WebArchive.h>` and DumpRenderTree, by making the latter a local variable instead.
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::imageCountInGeneralPasteboard const):
2020-07-01 Daniel Bates <dabates@apple.com>
[iOS] Implement support for UIWKDocumentRequestSpatialAndCurrentSelection
https://bugs.webkit.org/show_bug.cgi?id=213704
<rdar://problem/59738878>
Reviewed by Wenson Hsieh.
Add some tests.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
* TestWebKitAPI/ios/UIKitSPI.h: Define the enumerator using a macro just like what was done for
UIWKDocumentRequestMarkedTextRects. The reason for the macro instead of modifying the enumeration
definition in this file is to 1) avoid breaking the build for Apple engineers that haven't picked
up <rdar://problem/64867540> and to 2) avoid breaking the OpenSource build.
2020-07-01 Kate Cheney <katherine_cheney@apple.com>
WKUserScripts injecting into all frames seem to violate app-bound domains
https://bugs.webkit.org/show_bug.cgi?id=213816
<rdar://problem/64872296>
Reviewed by Brady Eidson.
Added API test coverage. Sets up a tree like so: [app-bound domain,
non-app-bound domain, app-bound domain]. Script injection should only
be successful in the top frame. Since message handlers are disabled for non-
app-bound domains, this test injects script which loads an image using a
custom url scheme. If the load succeeds, we increment a counter, and
expect only one successful script load (the main frame).
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[InAppBrowserSchemeHandler webView:startURLSchemeTask:]):
2020-06-30 Sam Weinig <weinig@apple.com>
Split Color serialization out of Color classes
https://bugs.webkit.org/show_bug.cgi?id=213820
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Update tests to use ColorSerialization.h
2020-06-30 Wenson Hsieh <wenson_hsieh@apple.com>
Several key event tests in fast/events/ios are failing after <rdar://problem/62197116>
https://bugs.webkit.org/show_bug.cgi?id=213821
<rdar://problem/64821309>
Reviewed by Megan Gardner.
After the UIKit changes in <rdar://problem/62197116>, double tapping the Option key now enters dictation mode
by default, and additionally displays a modal popup prompting the user to set up dictation. Both of these
behaviors interfere with layout tests that attempt to press the option key twice in rapid succession, causing
them to time out or fail.
Fix this by setting the default that determines the modifier key to use as the dictation shortcut to -1, which
disables the dictation keyboard shortcut altogether.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
2020-06-30 Geoffrey Garen <ggaren@apple.com>
[Cocoa] [GTK] RunLoop::Timer::isActive() is incorrect for timers while they are firing
https://bugs.webkit.org/show_bug.cgi?id=213771
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::DerivedOneShotTimer::fired):
(TestWebKitAPI::DerivedRepeatingTimer::fired):
2020-06-30 Brady Eidson <beidson@apple.com>
App-bound JavaScript and Navigation failures should have specific error codes.
<rdar://problem/64940268> and https://bugs.webkit.org/show_bug.cgi?id=213808
Reviewed by Tim Hatcher.
(Informally by Kate Cheney)
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
2020-06-30 Peng Liu <peng.liu6@apple.com>
Enable the support of FULLSCREEN_API in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=213774
Reviewed by Youenn Fablet.
Replace the definition of ENABLE_FULLSCREEN_API in FeatureDefines.xcconfig with
the one in PlatformEnableCocoa.h. We have to do that because WebKitTestRunner
does not have a FeatureDefines.xcconfig but it uses "ENABLE(FULLSCREEN_API)"
to conditionally compile code to test the element fullscreen API.
WebKitTestRunner can use the macro defined in PlatformEnableCocoa.h.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-06-30 Alex Christensen <achristensen@webkit.org>
Remove WTF::MD5
https://bugs.webkit.org/show_bug.cgi?id=213766
Reviewed by Youenn Fablet.
* DumpRenderTree/PlatformWin.cmake:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/MD5.cpp: Removed.
* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::computeSHA1HashStringForContext):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
(WTR::computeMD5HashStringForContext): Deleted.
2020-06-30 Jonathan Bedard <jbedard@apple.com>
[TestExpectations] Add architecture for Apple's ports
https://bugs.webkit.org/show_bug.cgi?id=213769
<rdar://problem/64920013>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser): Add architectures for Apple's ports.
2020-06-30 Andy Estes <aestes@apple.com>
[Xcode] Enable the "My Mac (Mac Catalyst)" destination in WebKit Xcode projects
https://bugs.webkit.org/show_bug.cgi?id=213740
Reviewed by Darin Adler.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* ImageDiff/cg/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell
Xcode that these projects support building for Mac Catalyst.
* MiniBrowser/Configurations/MiniBrowser.xcconfig: Excluded all source files on Mac Catalyst
so that schemes that include MiniBrowser can build for Mac Catalyst.
2020-06-30 Philippe Normand <pnormand@igalia.com>
[WPE][GTK] Port API test harness to Python3
https://bugs.webkit.org/show_bug.cgi?id=213784
Reviewed by Carlos Alberto Lopez Perez.
At least now the import chain starting from run-gtk-tests succeeds when the host Python
version is 3. Within the SDK the harness is still executed under Python2 though, for now.
* Scripts/run-gtk-tests:
(GtkTestRunner._setup_testing_environment):
* glib/api_test_runner.py:
(TestRunner._run_test_qt):
* glib/glib_test_runner.py:
(GLibTestRunner._read_from_pipe):
(GLibTestRunner._read_from_stderr):
* jhbuild/jhbuildutils.py:
2020-06-30 Jonathan Bedard <jbedard@apple.com>
[webkitperl] nativeArchitecture() needs to support remote devices
https://bugs.webkit.org/show_bug.cgi?id=213727
<rdar://problem/64892021>
Reviewed by Aakash Jain.
* Scripts/run-javascriptcore-tests: Determine the machine actually running tests and pass
that to nativeArchitecture(...).
(runTest): Pass nativeTarget and nativePort.
(runJSCStressTests): Ditto.
* Scripts/webkitdirs.pm:
(determineNativeArchitecture): Native architecture is dependent on the target device.
(determineArchitecture): Call nativeArchitecture() instead of accessing the variable directly.
(nativeArchitecture): Ensure that we return only the architecture of the specified target.
2020-06-30 Diego Pino Garcia <dpino@igalia.com>
[GTK] Unreviewed API test gardening. Update test expectations after r263738.
* TestWebKitAPI/glib/TestExpectations.json:
2020-06-30 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add libserf
https://bugs.webkit.org/show_bug.cgi?id=213682
Reviewed by Carlos Alberto Lopez Perez.
Subversion depends on SERF, which requires SCons for its build (the SERF CMake support is
incomplete)...
* buildstream/elements/sdk-build-depends/scons.bst: Added.
* buildstream/elements/sdk/libserf.bst: Added.
* buildstream/elements/sdk/subversion.bst:
2020-06-29 Brady Eidson <beidson@apple.com>
JavaScript cannot be injected into iframes
<rdar://problem/54168946> and https://bugs.webkit.org/show_bug.cgi?id=213556
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
(TEST):
(-[FramesMessageHandler userContentController:didReceiveScriptMessage:]):
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView objectByCallingAsyncFunction:withArguments:error:]):
2020-06-29 Jonathan Bedard <jbedard@apple.com>
[TestExpectations] Remove --csv option
https://bugs.webkit.org/show_bug.cgi?id=213762
<rdar://problem/64913762>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationLine.to_csv): Deleted.
* Scripts/webkitpy/tool/commands/queries.py:
(PrintExpectations.__init__): Remove --csv option.
(PrintExpectations._format_lines): Ditto.
(PrintBaselines.__init__): Ditto.
(PrintBaselines.execute): Ditto.
(PrintBaselines._print_baselines): Ditto.
* Scripts/webkitpy/tool/commands/queries_unittest.py:
(PrintExpectationsTest.run_test):
(PrintExpectationsTest.test_include):
(PrintBaselinesTest.test_basic):
(PrintBaselinesTest.test_multiple):
(PrintExpectationsTest.test_csv): Deleted.
(PrintBaselinesTest.test_csv): Deleted.
2020-06-29 Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com>
Remove ENABLE_STREAMS_API compilation flag
https://bugs.webkit.org/show_bug.cgi?id=213728
Reviewed by Sam Weinig.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-06-29 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] editing/selection/ios/select-text-after-changing-focus.html sometimes fails
https://bugs.webkit.org/show_bug.cgi?id=213745
Work towards <rdar://problem/64808138>
Reviewed by Tim Horton.
See WebKit/ChangeLog for more details. If this test happens to be run after another test that has written
something to the pasteboard, it will still fail due to the callout menu showing up with the option to paste.
Mitigate this by clearing the contents of the system pasteboard between tests, such that content copied from
previous tests doesn't change the behavior of subsequent tests.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
2020-06-29 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] run-webkit-tests is failing to run DRT and WTR without --architecture x86_64
https://bugs.webkit.org/show_bug.cgi?id=213688
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/port/win.py:
(WinPort._port_flag_for_scripts):
(WinPort._build_path):
(WinPort._ntsd_location):
Replaced self.get_option('architecture') with self.architecture().
2020-06-29 Jonathan Bedard <jbedard@apple.com>
run-javascriptcore-tests: Support Apple Silicon running x86 processes
https://bugs.webkit.org/show_bug.cgi?id=213487
<rdar://problem/64606667>
Unreviewed infrastructure fix.
* Scripts/webkitdirs.pm:
(architecturesForProducts): Return architecutre(), not determineArchitecture().
2020-06-29 Xabier Rodriguez Calvar <calvaris@igalia.com>
[webkitpy] PHP7.4 support on Debian platforms
https://bugs.webkit.org/show_bug.cgi?id=213721
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/port/base.py:
(Port._debian_php_version):
2020-06-29 Philippe Normand <pnormand@igalia.com>
REGRESSION(r263625): [WPE][GTK] MiniBrowser output no longer includes stderr and stdout
https://bugs.webkit.org/show_bug.cgi?id=213696
Reviewed by Žan Doberšek.
This patch adds a new optional argument to Executive.run_command() to control stdout output.
By default the subprocess.PIPE value is used, to keep backward compatibility. Set the stdout
argument to None to display the output on the terminal tty.
The GTK and WPE run_minibrowser() implementations now use this new argument, along with
setting return_stderr to False to indicate we also want stderr displayed on the terminal
tty.
* Scripts/webkitpy/common/system/abstractexecutive.py:
(AbstractExecutive.run_command):
* Scripts/webkitpy/common/system/executive.py:
(Executive.run_command):
* Scripts/webkitpy/common/system/executive_mock.py:
(MockExecutive.run_command):
* Scripts/webkitpy/port/gtk.py:
(GtkPort.run_minibrowser):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.run_minibrowser):
2020-06-29 Philippe Normand <pnormand@igalia.com>
REGRESSION(r263625): run-minibrowser --debug/--release options gone
https://bugs.webkit.org/show_bug.cgi?id=213697
Reviewed by Žan Doberšek.
* Scripts/webkitpy/minibrowser/run_webkit_app.py:
(main): Explicitely skip the --target option. Previous code was also skipping --release and
--debug options because their `dest` is the same as with the --target option.
2020-06-29 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add webkit_authentication_request_get_security_origin
https://bugs.webkit.org/show_bug.cgi?id=213596
Reviewed by Michael Catanzaro.
Update the unit tests to check the new API.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(testWebViewAuthenticationRequest):
(testWebViewAuthenticationProxy):
(testWebViewAuthenticationProxyHTTPS):
2020-06-28 Geoffrey Garen <ggaren@apple.com>
Rename initializeThreading to initialize
https://bugs.webkit.org/show_bug.cgi?id=213674
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(ApplicationManifestParserTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::ContentExtensionTest::SetUp):
* TestWebKitAPI/Tests/WebCore/StringUtilities.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
2020-06-27 Daniel Bates <dabates@apple.com>
Revert r262654 because it caused <rdar://problem/64664156>.
Moreover it is no longer necessary as the embedding client
changes selection through a different SPI after focusing.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
2020-06-27 Keith Miller <keith_miller@apple.com>
compare-results should be able to parse multiple JSONs at once by merging them
https://bugs.webkit.org/show_bug.cgi?id=213685
Reviewed by Saam Barati.
This patch improves the compare-results script to enable it to
merge JSON output files. This is handy when running scripts by
hand where you'll get many a and b JSONs. To do the merging this
patch moves the logic of merge-result-jsons into a shared library.
compare-results can take multiple files sequentally or by passing
the '-a'/'-b' flags multiple times. e.g. `/compare-results -a
OG-1.json -a OG-2.json -a OG-3.json -a OG-4.json -b MC-1.json
MC-2.json MC-3.json MC-4.json` will behave as you'd expect;
combining all the OG JSONs and the MC JSONs before computing the
result.
Lastly, the benchmark_results script now can handle duplicates of
an aggregator in the aggregator list. This is useful because
otherwise the logic of merging JSONs is significantly more
complicated.
* Scripts/compare-results:
(getOptions):
(main):
* Scripts/merge-result-jsons:
(readJSONFile):
(deepAppend): Deleted.
(mergeJSONs): Deleted.
* Scripts/webkitpy/benchmark_runner/benchmark_json_merge.py: Copied from Tools/Scripts/merge-result-jsons.
(deepAppend):
(mergeJSONs):
* Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults._aggregate_results_for_test):
(BenchmarkResults._lint_subtest_results):
* Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py:
2020-06-27 Jer Noble <jer.noble@apple.com>
iOS Safari incorrectly reports "AppleCoreMedia" as UA string
https://bugs.webkit.org/show_bug.cgi?id=213245
<rdar://problem/64471582>
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm: Added.
(TestWebKitAPI::parseUserAgent):
(TestWebKitAPI::TEST):
2020-06-27 Philippe Normand <pnormand@igalia.com>
Migrate run-minibrowser to webkitpy
https://bugs.webkit.org/show_bug.cgi?id=213431
Reviewed by Jonathan Bedard.
The perl version was renamed to old-run-minibrowser and remains used by the Mac ports.
run-minibrowser is now a Python script hooking into webkitpy and the Port infrastructure.
Both WPE and GTK ports will now use the pure python implementation.
* Scripts/old-run-minibrowser: Copied from Tools/Scripts/run-minibrowser.
* Scripts/run-minibrowser:
* Scripts/webkitpy/minibrowser/run_minibrowser.py: Added.
(main):
(parse_args):
* Scripts/webkitpy/port/base.py:
(Port.run_minibrowser_arguments):
(Port):
(Port.run_minibrowser):
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.environment_for_api_tests):
(DarwinPort):
(DarwinPort.run_minibrowser_arguments):
* Scripts/webkitpy/port/gtk.py:
(GtkPort.show_results_html_file):
(GtkPort.configuration_for_upload):
(GtkPort):
(GtkPort.run_minibrowser):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.show_results_html_file):
(WPEPort.configuration_for_upload):
(WPEPort):
(WPEPort.run_minibrowser):
2020-06-27 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Update test runner for changes to Options and signing
https://bugs.webkit.org/show_bug.cgi?id=213650
Reviewed by Don Olmstead.
* Scripts/webkitdirs.pm: Update extension for PlayStation binary
2020-06-26 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Allow callers to override the reported model (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=213677
<rdar://problem/64834043>
Reviewed by Dewei Zhu.
* Scripts/webkitpy/port/base.py:
(Port.configuration_for_upload): Set the model based on --model.
* Scripts/webkitpy/port/factory.py:
(configuration_options): Add --model option, drive-by fix for --architecture.
* Scripts/webkitpy/port/mac.py:
(MacPort.configuration_for_upload): --model overrides detected model.
2020-06-26 Jonathan Bedard <jbedard@apple.com>
[webkitpy] Automatically detect hw architecture for supporting Apple Silicon
https://bugs.webkit.org/show_bug.cgi?id=213653
<rdar://problem/64817656>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/common/config/ews.json: iOS has the correct defaults, no need to override them.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo):
(PlatformInfo.architecture): Retrieve the current system's architecture.
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.__init__):
(MockPlatformInfo.architecture):
* Scripts/webkitpy/port/base.py:
(Port.__init__): Remove 'did_override_architecture', should be implied by architecture compared with DEFAULT_ARCHITECTURE.
(Port.architecture): Return the architecture specified by the user, if it exists.
(Port.set_architecture): Remove 'did_override_architecture'.
* Scripts/webkitpy/port/factory.py:
(configuration_options): Add --arm and --architecture flags.
* Scripts/webkitpy/port/mac.py:
(MacPort): Add arm64 to supported architectures.
(MacPort.architecture): Convert arm64e to arm64, check the host's architecture.
(MacPort._build_driver_flags): Always specify the build architecture since it may be x86_64 or arm64.
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_64bit):
(MacTest):
(MacTest.test_arm):
(MacTest.test_default):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.run_command): Remove did_override_architecture.
2020-06-26 Jonathan Bedard <jbedard@apple.com>
[Big Sur] Handle baseline search path (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=213639
<rdar://problem/64789480>
Unreviewed follow-up fix.
* Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path): Copy reference version by value, not by reference.
2020-06-26 Geoffrey Garen <ggaren@apple.com>
Initializing the main thread should initialize the main run loop
https://bugs.webkit.org/show_bug.cgi?id=213637
Reviewed by Anders Carlsson.
Updated TestWebKitAPI to stop using RunLoop::initializeMain directly.
* TestWebKitAPI/Tests/WTF/RefPtr.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(ApplicationManifestParserTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::ContentExtensionTest::SetUp):
* TestWebKitAPI/Tests/WebCore/DNS.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(initializeInAppBrowserPrivacyTestSettings):
* TestWebKitAPI/TestsController.cpp:
(TestWebKitAPI::TestsController::TestsController):
* WebKitTestRunner/TestController.cpp:
(TestController::initialize):
2020-06-26 Jonathan Bedard <jbedard@apple.com>
run-javascriptcore-tests: Support Apple Silicon running x86 processes
https://bugs.webkit.org/show_bug.cgi?id=213487
<rdar://problem/64606667>
Reviewed by Saam Barati.
* Scripts/run-javascriptcore-tests:
(configurationForUpload): Add --architecture flag.
(runTest): Run test suite with specific architecture.
(runJSCStressTests): Pass architecture to run-jsc-stress-tests.
* Scripts/run-jsc-stress-tests: Add --force-architecture flag.
* Scripts/webkitdirs.pm:
(determineNativeArchitecture): Add function to determine machine's native architecture.
(determineArchitecture): Leverage the nativeArchitecture instead of hard-coding simulator
architectures.
(architecturesForProducts): Determine the architectures supported by a given build.
(nativeArchitecture): Return nativeArchitecture.
2020-06-26 Sihui Liu <sihui_liu@apple.com>
Text manipulation should observe adjacent elements with new renderer together
https://bugs.webkit.org/show_bug.cgi?id=213333
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-26 Jonathan Bedard <jbedard@apple.com>
[Big Sur] Handle baseline search path
https://bugs.webkit.org/show_bug.cgi?id=213639
<rdar://problem/64789480>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/port/mac.py:
(MacPort):
(MacPort.default_baseline_search_path): Break infinite loop for major version bump.
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_big_sur_baseline_search_path): Test Big Sur baseline search path.
2020-06-26 Carlos Alberto Lopez Perez <clopez@igalia.com>
generate-jsc-bundle should fail if passed an invalid remote-config-file parameter
https://bugs.webkit.org/show_bug.cgi?id=213615
Reviewed by Žan Doberšek.
Raise an exception if the parameter passed as remote-config-file is not a file.
* Scripts/generate-jsc-bundle:
(main):
2020-06-26 Takashi Komori <takashi.komori@sony.com>
Add myself to contributors.json
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2020-06-25 Ryan Haddad <ryanhaddad@apple.com>
[Big Sur] Regression tests fail to run due to failed assert: self._os_version.major == 10
https://bugs.webkit.org/show_bug.cgi?id=213639
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/port/mac.py:
(MacPort.__init__): Remove the assert since it is no longer valid.
2020-06-25 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r263537.
https://bugs.webkit.org/show_bug.cgi?id=213640
Broke watchOS and tvOS builds
Reverted changeset:
"iOS Safari incorrectly reports "AppleCoreMedia" as UA string"
https://bugs.webkit.org/show_bug.cgi?id=213245
https://trac.webkit.org/changeset/263537
2020-06-25 Alex Christensen <achristensen@webkit.org>
REGRESSION(r256166, r260596) WKNavigationAction.request.allHTTPHeaderFields needs to contain User-Agent and Accept
https://bugs.webkit.org/show_bug.cgi?id=213626
<rdar://problem/62374208>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
2020-06-25 Jer Noble <jer.noble@apple.com>
iOS Safari incorrectly reports "AppleCoreMedia" as UA string
https://bugs.webkit.org/show_bug.cgi?id=213245
<rdar://problem/64471582>
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm: Added.
(TestWebKitAPI::parseUserAgent):
(TestWebKitAPI::TEST):
2020-06-25 Daniel Bates <dabates@apple.com>
[iOS] -_requestTextInputContextsInRect cannot find empty Quip spreadsheet title
https://bugs.webkit.org/show_bug.cgi?id=213564
<rdar://problem/59355847>
Reviewed by Simon Fraser.
Add some tests.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
2020-06-25 Sam Weinig <weinig@apple.com>
Add a new templated string type to help write more idiomatic parsing code
https://bugs.webkit.org/show_bug.cgi?id=213588
Reviewed by Darin Adler.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/StringParsingBuffer.cpp: Added.
(TestWebKitAPI::TEST):
Added new tests for new class.
2020-06-25 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation should exclude text rendered using icon-only fonts
https://bugs.webkit.org/show_bug.cgi?id=213446
<rdar://problem/63734298>
Reviewed by Myles Maxfield.
Add a new API test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/Ahem.ttf: Added.
* TestWebKitAPI/Tests/WebKitCocoa/SpaceOnly.otf: Added.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-25 Aakash Jain <aakash_jain@apple.com>
[ews] Share more bots between EWS builder and testers
https://bugs.webkit.org/show_bug.cgi?id=213521
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json:
2020-06-25 Aakash Jain <aakash_jain@apple.com>
[ews] Improve handling of invalid changelog
https://bugs.webkit.org/show_bug.cgi?id=213609
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/tool/steps/validatereviewer.py:
(ValidateReviewer.run):
2020-06-24 Alexey Proskuryakov <ap@apple.com>
macOS Big Sur build fix.
Remove long obsolete checks for Mac OS X 10.6 that didn't respect the major version.
* MiniBrowser/Makefile:
* TestWebKitAPI/Makefile:
* WebKitTestRunner/Makefile:
2020-06-24 Alex Christensen <achristensen@webkit.org>
REGRESSION(r262341) Use UTF-8 to decode CFURLRefs from IPC
https://bugs.webkit.org/show_bug.cgi?id=213565
<rdar://problem/64408924>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
(TestWebKitAPI::TEST):
2020-06-24 Umar Iqbal <uiqbal@apple.com>
We should resurrect the older patch that collects some statistics of web API calls
https://bugs.webkit.org/show_bug.cgi?id=213319
Reviewed by Brent Fulgham.
+ Enabled ENABLE_WEB_API_STATISTICS flag.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-06-24 Andy Estes <aestes@apple.com>
[iOS] Open element actions sometimes result in a hover instead of a click
https://bugs.webkit.org/show_bug.cgi?id=213530
<rdar://problem/64176707>
Reviewed by Darin Adler.
Added an API test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/ElementActionTests.mm: Added.
* TestWebKitAPI/Tests/ios/link-with-hover-menu.html: Added.
2020-06-24 Caitlin Potter <caitp@igalia.com>
[JSC] add microbenchmark for op_get_private_name
https://bugs.webkit.org/show_bug.cgi?id=213544
Reviewed by Yusuke Suzuki.
Add machinery to add --usePrivateClassFields flag in a family of
microbenchmarks.
* Scripts/run-jsc-benchmarks:
2020-06-24 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to allow applications to handle the HTTP authentication credential storage
https://bugs.webkit.org/show_bug.cgi?id=213177
Reviewed by Michael Catanzaro.
Update the authentication tests to check the new API.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(testWebViewAuthenticationCancel):
(testWebViewAuthenticationLoadCancelled):
(testWebViewAuthenticationFailure):
(testWebViewAuthenticationNoCredential):
(testWebViewAuthenticationEphemeral):
(testWebViewAuthenticationStorage):
(testWebViewAuthenticationSuccess):
(testWebViewAuthenticationEmptyRealm):
(serverCallback):
(beforeAll):
2020-06-23 Alex Christensen <achristensen@webkit.org>
Make HTTP/3 experimental feature work on iOS and only create storage directory if enabled
https://bugs.webkit.org/show_bug.cgi?id=213527
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2020-06-23 Jonathan Bedard <jbedard@apple.com>
[Big Sur] Add 11.0 version to scripts
https://bugs.webkit.org/show_bug.cgi?id=213532
<rdar://problem/64663032>
Reviewed by Tim Horton.
* Scripts/run-javascriptcore-tests:
(configurationForUpload): Make version checks more explicit, add Big Sur.
* Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.__init__): Add Big Sur.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser): Ditto.
2020-06-23 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r244633): Mail flashes when copying text in an email
https://bugs.webkit.org/show_bug.cgi?id=213529
<rdar://problem/55025522>
Reviewed by Tim Horton.
Add an API test to verify that temporarily changing the height of the document before restoring it to the
original value does not cause intrinsic content size to be invalidated.
* TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
(-[AutoLayoutWKWebView invalidateIntrinsicContentSize]):
(-[AutoLayoutWKWebView setInvalidatedIntrinsicContentSizeBlock:]):
(-[AutoLayoutWKWebView invalidatedIntrinsicContentSizeBlock]):
2020-06-23 Diego Pino Garcia <dpino@igalia.com>
[ews] Allow archiving 'jsc' product
https://bugs.webkit.org/show_bug.cgi?id=213518
Reviewed by Aakash Jain.
* BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):
2020-06-23 Alex Christensen <achristensen@webkit.org>
Expose already-available WKNavigationAction.request.HTTPBody through the API
https://bugs.webkit.org/show_bug.cgi?id=179077
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(TEST):
2020-06-23 Alicia Boya García <aboya@igalia.com>
[GStreamer] Add GStreamer patch to fix EWS glupload racy crash
https://bugs.webkit.org/show_bug.cgi?id=210498
Reviewed by Philippe Normand.
This WebKit patch backports a patch from GStreamer 1.17 that prevents
the crashes in the attached bug to our flatpak build.
* buildstream/elements/sdk/gst-plugins-base.bst:
* buildstream/patches/gst-plugins-base-0003-glbasefilter-add-support-for-changing-the-display.patch: Added.
2020-06-23 Alicia Boya García <aboya@igalia.com>
[flatpak] Ensure en_US.UTF-8 locale
https://bugs.webkit.org/show_bug.cgi?id=212459
Reviewed by Philippe Normand.
When developing WebKit we want as few system differences as possible
to make tests reproducible.
en_US.UTF-8 is indeed the only locale installed in our development
flatpak, but our scripts were not correctly clearing most locale
environment variables, which resulted in warnings when running some
tools (notably perl) when the user OS has a different locale.
This patch ensures all locale environment variables are cleared and
LANG is set to en_US.UTF-8. It also removes now redundant code from
flatpakutils.py.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap:
2020-06-23 Simon Fraser <simon.fraser@apple.com>
[ Catalina Debug WK2 ] fast/events/platform-wheelevent-in-scrolling-div.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213351
<rdar://problem/64502429>
Reviewed by Tim Horton.
The variadic CGEventCreateScrollWheelEvent() seems to have an issue that causes the resulting event
to rarely put the x value into the deltaY. Change to the non-variadic CGEventCreateScrollWheelEvent2()
to avoid this.
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController mouseScrollByX:andY:continuously:]):
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
2020-06-23 Diego Pino Garcia <dpino@igalia.com>
[ews] Rename 'JSCTestsFactory' to 'JSCBuildAndTestsFactory'
https://bugs.webkit.org/show_bug.cgi?id=213503
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/config.json:
* BuildSlaveSupport/ews-build/factories.py:
(JSCBuildAndTestsFactory):
(JSCTestsFactory): Deleted.
(JSCTestsFactory.__init__): Deleted.
* BuildSlaveSupport/ews-build/loadConfig.py:
2020-06-23 Aakash Jain <aakash_jain@apple.com>
[ews] Add JSC-Only builders for MIPS and ARMv7 architectures (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=213366
Unreviewed follow-up fix.
Remove unused runTests parameter.
* BuildSlaveSupport/ews-build/factories.py:
2020-06-23 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] relax restriction on build-webkit script name
https://bugs.webkit.org/show_bug.cgi?id=213432
Reviewed by Žan Doberšek.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Match the build-webkit string in the whole command-line
argument and thus allow alternative implementations of build-webkit. Also let the
MAX_CPU_LOAD env var in the sandbox.
2020-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MiniBrowser: set a base directory for website data and cache
https://bugs.webkit.org/show_bug.cgi?id=213368
Reviewed by Michael Catanzaro.
Stop using the default ones.
* MiniBrowser/gtk/main.c:
(activate):
2020-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to configure and handle DOM cache to WebKitWebsiteDataManager
https://bugs.webkit.org/show_bug.cgi?id=213337
Reviewed by Adrian Perez de Castro.
Handle new website data in MiniBrowser and add a unit test.
* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataConfiguration):
(testWebsiteDataDOMCache):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
2020-06-22 Diego Pino Garcia <dpino@igalia.com>
[ews] Add JSC-Only builders for MIPS and ARMv7 architectures
https://bugs.webkit.org/show_bug.cgi?id=213366
Reviewed by Aakash Jain.
In a follow-up patch the built product of these bots will be consumed
by the EWS JSC-Only testing bots.
* BuildSlaveSupport/ews-build/config.json:
* BuildSlaveSupport/ews-build/factories.py:
(JSCBuildFactory):
(JSCBuildFactory.__init__):
* BuildSlaveSupport/ews-build/factories_unittest.py:
(TestBuildFactory):
(TestBuildFactory.test_jsc_mipsel_factory):
(TestBuildFactory.test_jsc_armv7_factory):
* BuildSlaveSupport/ews-build/loadConfig.py:
2020-06-22 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] fast/dom/Window/alert-with-unmatched-utf16-surrogate-should-not-crash.html is failing
https://bugs.webkit.org/show_bug.cgi?id=213452
Reviewed by Yusuke Suzuki.
If window.alert() was given an invalid UTF-16 sequence, Windows
DumpRenderTree output it without any conversions. It should output
"(null)" to match with WebKitTestRunner behavior.
* DumpRenderTree/win/UIDelegate.cpp:
(toMessage): Added
(UIDelegate::runJavaScriptAlertPanelWithMessage):
(UIDelegate::runJavaScriptConfirmPanelWithMessage):
(UIDelegate::runJavaScriptTextInputPanelWithPrompt):
(UIDelegate::runBeforeUnloadConfirmPanelWithMessage):
(UIDelegate::setStatusText):
2020-06-22 Jer Noble <jer.noble@apple.com>
[ macOS iOS ] (r263321): TestWebKitAPI.SleepDisabler.Load & TestWebKitAPI.SleepDisabler.Reload are constant failures
https://bugs.webkit.org/show_bug.cgi?id=213475
<rdar://problem/64603555>
Reviewed by Eric Carlson.
Looks like the SleepDisabler can come and go while the TestWebKitAPI process is spinning, so make the
Reload and Load tests more deterministic by only checking SleepDisabler after getting a "playing" message
from the WebContent process.
* TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
(SleepDisabler::runAndWaitUntilPlaying):
(SleepDisabler::loadPlayingPage):
(TEST_F):
2020-06-22 Jonathan Bedard <jbedard@apple.com>
resultsdbpy: Make architecture differences explicit
https://bugs.webkit.org/show_bug.cgi?id=213473
<rdar://problem/64602736>
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/configuration.js:
(Configuration.prototype.toString):
2020-06-22 Tim Horton <timothy_horton@apple.com>
Update macOS version macros
https://bugs.webkit.org/show_bug.cgi?id=213484
Reviewed by Alexey Proskuryakov.
* ContentExtensionTester/Configurations/Base.xcconfig:
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* ImageDiff/cg/Configurations/Base.xcconfig:
* ImageDiff/cg/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* WebEditingTester/Configurations/Base.xcconfig:
* WebEditingTester/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* lldb/lldbWebKitTester/Configurations/Base.xcconfig:
* lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
2020-06-22 Tim Horton <timothy_horton@apple.com>
API Test WeakLinking.WeakImport fails on arm64
https://bugs.webkit.org/show_bug.cgi?id=213477
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd:
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS.tbd:
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS-v2.tbd:
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS.tbd:
Add this architecture to the TBD files.
2020-06-22 Jonathan Bedard <jbedard@apple.com>
Bring up watchOS/tvOS on build.webkit.org (Follow-up fix x3)
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): 64 bit is more correct for watchOS embedded builds.
2020-06-22 Aakash Jain <aakash_jain@apple.com>
[ews] Switch contributors.json url from trac to svn server
https://bugs.webkit.org/show_bug.cgi?id=213457
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ValidateCommiterAndReviewer):
(ValidateCommiterAndReviewer.load_contributors_from_trac):
2020-06-22 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Persist sccache auth token across flatpak updates
https://bugs.webkit.org/show_bug.cgi?id=213427
Reviewed by Žan Doberšek.
After a successful flatpak update check if an sccache auth token exists and reuse it when
updating the sccache config file.
* flatpak/flatpakutils.py:
(WebkitFlatpak.save_config):
2020-06-21 Yusuke Suzuki <ysuzuki@apple.com>
[WTF] URL should support dataLog
https://bugs.webkit.org/show_bug.cgi?id=213450
Reviewed by Mark Lam.
Add test for URL::dump.
* TestWebKitAPI/Tests/WTF/URL.cpp:
(TestWebKitAPI::TEST_F):
2020-06-21 Philippe Normand <pnormand@igalia.com>
[Flatpak] Nightly runner fails to extract zip files
https://bugs.webkit.org/show_bug.cgi?id=213445
Reviewed by Darin Adler.
* Scripts/webkit-flatpak-run-nightly: Ensure the buffered zip data is written to disk before
extraction.
2020-06-21 Jer Noble <jer.noble@apple.com>
WebKit fails to leave audio routing arbitration during navigation, closing.
https://bugs.webkit.org/show_bug.cgi?id=213426
<rdar://problem/64395051>
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/AudioRoutingArbitration.mm: Added.
(AudioRoutingArbitration::statusShouldBecomeEqualTo):
(TEST_F):
2020-06-20 Jer Noble <jer.noble@apple.com>
REGRESSION(r259219): Sleep assertion remains active if WKWebView is closed or WebContent process crashes
https://bugs.webkit.org/show_bug.cgi?id=213434
<rdar://problem/57541662>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
(SleepDisabler::loadPlayingPage):
(SleepDisabler::hasSleepDisablerShouldBecomeEqualTo):
(TEST_F):
2020-06-20 Jonathan Bedard <jbedard@apple.com>
Bring up watchOS/tvOS on build.webkit.org (Follow-up fix x2)
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Unreviewed test fix.
* Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Native Macs never
use 32 bit tool binaries.
2020-06-19 Jonathan Bedard <jbedard@apple.com>
Bring up watchOS/tvOS on build.webkit.org (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Unreviewed build-fix.
* BuildSlaveSupport/build.webkit.org-config/config.json: Use arm64_32 to build watchOS device.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): watchOS device should be considered 32 bit.
* Scripts/configure-xcode-for-embedded-development: Force-copy MediaAccessibility.framework.
* Scripts/webkitdirs.pm:
(extractNonMacOSHostConfiguration): Native Macs never use 32 bit tool binaries.
2020-06-19 Aakash Jain <aakash_jain@apple.com>
Delete dead code for old ews api tests
https://bugs.webkit.org/show_bug.cgi?id=213421
Rubber-stamped by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_api_tests_command): Deleted.
* Scripts/webkitpy/common/net/apitestresults.py: Removed.
* Scripts/webkitpy/common/net/apitestresults_unittest.py: Removed.
* Scripts/webkitpy/port/base.py:
(Port.bindings_results_directory):
(Port.api_results_directory): Deleted.
* Scripts/webkitpy/tool/bot/apitestresultsreader.py: Removed.
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests._run_api_tests): Deleted.
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(test_runtests_api_debug): Deleted.
2020-06-19 Jonathan Bedard <jbedard@apple.com>
Bring up watchOS/tvOS on build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Unreviewed infrastructure fix.
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build): Add tvOS and watchOS.
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):
2020-06-19 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Provide a _WKWebAuthenticationPanelUpdatePINInvalid update to UI clients if the returned PIN from the client is not valid
https://bugs.webkit.org/show_bug.cgi?id=213404
<rdar://problem/64543894>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-fake-pin-invalid-error-retry.html: Added.
2020-06-19 Jonathan Bedard <jbedard@apple.com>
Bring up watchOS/tvOS on build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=213402
<rdar://problem/64542588>
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/config.json: Add AppleTV and watchOS builders.
* BuildSlaveSupport/build.webkit.org-config/factories.py:
(BuildFactory.__init__): Support AppleTV and watchOS.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13Simulator.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13Simulator@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOS6.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOS6@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOSSimulator6.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOSSimulator6@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
* BuildSlaveSupport/build.webkit.org-config/steps.py:
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2020-06-19 Saam Barati <sbarati@apple.com>
Have a memory monitor thread in jsc shell when running tests using --memory-limited
https://bugs.webkit.org/show_bug.cgi?id=213389
Reviewed by Mark Lam.
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
* Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
2020-06-19 Chris Fleizach <cfleizach@apple.com>
AX: Make isolated tree enablement status dependent on client preference
https://bugs.webkit.org/show_bug.cgi?id=213355
<rdar://problem/64506577>
Reviewed by Zalan Bujtas.
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate defaultConfiguration]):
2020-06-19 Aakash Jain <aakash_jain@apple.com>
Improve handling of trac downtime by commit-queue
https://bugs.webkit.org/show_bug.cgi?id=213377
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py: Load contributors.json from disk when loading from trac fails.
(ValidateCommiterAndReviewer.load_contributors_from_disk):
(ValidateCommiterAndReviewer.load_contributors_from_trac):
(ValidateCommiterAndReviewer.load_contributors):
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test
2020-06-19 Lauro Moura <lmoura@igalia.com>
[WPE] Warn potential issues when creating WindowViewBackend
https://bugs.webkit.org/show_bug.cgi?id=213326
Reviewed by Philippe Normand.
Make it easier to debug eventual GL issues when starting up MiniBrowser in
windowed mode.
* wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WaylandEGLConnection::singleton):
(WPEToolingBackends::WindowViewBackend::WindowViewBackend):
2020-06-19 Lauro Moura <lmoura@igalia.com>
[webkitpy][WPE] Default to headless if _display_server is xfvb
https://bugs.webkit.org/show_bug.cgi?id=213327
Reviewed by Philippe Normand.
Xvfb is used as the default display server for some scripts, and the
equivalent for WPE is the headless one.
WTR and the API tests already create only HeadlessViewBackends, but the
WebDriver tests create them through MiniBrowser, which requires the
'--headless' parameter.
* Scripts/run-webdriver-tests: Do not override _display_server
* Scripts/webkitpy/port/base.py:
(Port.__init__): Define _display_server for all ports to avoid
eventually needing to override it.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.__init__): Default to 'headless' if _display_server is 'xvfb'
* Scripts/webkitpy/w3c/wpt_runner.py:
(main): Dot not override _display_server
2020-06-19 Carlos Garcia Campos <cgarcia@igalia.com>
Add support for fetching registrable domains with resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=213291
Reviewed by Adrian Perez de Castro.
Update GLib ITP unit test to check also fetch and remove.
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataITP):
2020-06-19 Tomoki Imai <Tomoki.Imai@sony.com>
Change my (Tomoki Imai's) status to committer
Unreviewed, just updating contributors.json for myself.
* Scripts/webkitpy/common/config/contributors.json:
2020-06-18 Jonathan Bedard <jbedard@apple.com>
Add SPI to preconnect to a server (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=213109
<rdar://problem/64184412>
Unreviewed build-fix.
* TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm: HTTPServer does not exist if HAVE(NETWORK_FRAMEWORK) is false.
2020-06-18 Jonathan Bedard <jbedard@apple.com>
[iOS] Two KeyboardInputTests are failing on recent iOS SDK versions (build-fix)
https://bugs.webkit.org/show_bug.cgi?id=213183
<rdar://problem/64273483>
Unreviewed build fix.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(webViewWithAutofocusedInput): bool may not be the same type as BOOL.
2020-06-18 Saam Barati <sbarati@apple.com>
call skip when skipping JetStream2 wasm test
https://bugs.webkit.org/show_bug.cgi?id=213354
Reviewed by Yusuke Suzuki.
So we can see the logging that we're skipping.
* Scripts/run-jsc-stress-tests:
2020-06-18 Joonghun Park <jh718.park@samsung.com>
Unreviewed. Remove the build warning below since r262971.
warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
* WebKitTestRunner/TestController.cpp:
(WTR::getAllStorageAccessEntriesCallback):
2020-06-18 Ross Kirsling <ross.kirsling@sony.com>
[Intl] Enable RelativeTimeFormat and Locale by default
https://bugs.webkit.org/show_bug.cgi?id=213324
Reviewed by Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
Remove feature flags.
2020-06-18 Andy Estes <aestes@apple.com>
Unreviewed build fix after r263194
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues): Guarded code that mentions
UIContextMenuInteraction with USE(UICONTEXTMENU).
2020-06-18 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed infrastructure fix, temporarily remove ews116 due to hardware failure tracked with rdar://64424245
* BuildSlaveSupport/ews-build/config.json:
2020-06-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to configure and handle service worker registrations to WebKitWebsiteDataManager
https://bugs.webkit.org/show_bug.cgi?id=213290
Reviewed by Michael Catanzaro.
Handle new website data in MiniBrowser and add a unit test.
* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(serverCallback):
(testWebsiteDataConfiguration):
(testWebsiteDataEphemeral):
(testWebsiteDataITP):
(testWebsiteDataServiceWorkerRegistrations):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
2020-06-17 Fujii Hironori <Hironori.Fujii@sony.com>
RebaselineServer: "Rebaseline queue" button is placed behind the footer
https://bugs.webkit.org/show_bug.cgi?id=213258
Reviewed by Zalan Bujtas.
* Scripts/webkitpy/tool/servers/data/rebaselineserver/index.html: Moved 'log' and 'queue' elements after 'footer' element.
* Scripts/webkitpy/tool/servers/data/rebaselineserver/main.css:
(#queue): Changed 'bottom' property from 3em to 4em.
2020-06-17 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Shift-tab in a bullet list in Mail Compose jumps back to Subject field
https://bugs.webkit.org/show_bug.cgi?id=213320
<rdar://problem/63831962>
Reviewed by Tim Horton.
Add a new API test to verify that preventing the "keypress" event for shift+tab in an SPI-editable web view
causes us to avoid relinquishing focus.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2020-06-17 Andy Estes <aestes@apple.com>
REGRESSION (r258092): fast/forms/ios/file-upload-panel.html fails when HAVE(UICONTEXTMENU_LOCATION)
https://bugs.webkit.org/show_bug.cgi?id=213314
<rdar://problem/60339129>
Reviewed by Maciej Stachowiak.
fast/forms/ios/file-upload-panel.html sets the shouldHandleRunOpenPanel and
shouldPresentPopovers test options to false so that WKTR will (a) not register a
runOpenPanel UI delegate callback, causing WebKit to create a WKFileUploadPanel instead, and
(b) swizzle two UIKit view controller presentation methods to prevent the document picker
menu from being presented. The test merely wants the WKFileUploadPanel instance to exist in
order to query its available actions, not for it to show UI.
In r258092, WKFileUploadPanel now sometimes uses a UIContextMenuInteraction instance to
present the document picker menu, but -[UIContextMenuInteraction _presentMenuAtLocation:]
fails due to WKTR's above-mentioned swizzling. When this failure occurs,
UIContextMenuInteraction calls -contextMenuInteraction:willEndForConfiguration:animator: on
its delegate (the WKFileUploadPanel), which dismisses the open panel before the test has had
a chance to query the available actions.
Fixed this by swizzling -[UIContextMenuInteraction _presentMenuAtLocation:] when the
shouldPresentPopovers test option is false.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(overridePresentMenuOrPopoverOrViewController): Renamed from
overridePresentViewControllerOrPopover.
(WTR::TestController::platformResetStateToConsistentValues): Swizzled
-[UIContextMenuInteraction _presentMenuAtLocation:] with
overridePresentMenuOrPopoverOrViewController when the shouldPresentPopovers test option is
false.
(overridePresentViewControllerOrPopover): Renamed to
overridePresentMenuOrPopoverOrViewController.
2020-06-17 Sihui Liu <sihui_liu@apple.com>
REGRESSION (r263044): [macOS] TestWebKitAPI.TextManipulation.InsertingContentIntoAlreadyManipulatedContentCreatesTextManipulationItem is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=213311
<rdar://problem/64456413>
Reviewed by Wenson Hsieh.
TextManipulation.InsertingContentIntoAlreadyManipulatedContentCreatesTextManipulationItem does not wait long
enough to make sure TextManipulationController gets notified about the insertion and starts observing.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-17 Aakash Jain <aakash_jain@apple.com>
Delete code for old ews bindings queue
https://bugs.webkit.org/show_bug.cgi?id=213315
Rubber-stamped by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/ews.json:
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_bindings_tests_command): Deleted.
(WinPort.run_bindings_tests_command): Deleted.
* Scripts/webkitpy/common/config/ports_mock.py:
(MockPort.run_bindings_tests_command): Deleted.
* Scripts/webkitpy/common/net/generictestresults.py: Removed.
* Scripts/webkitpy/common/net/generictestresults_unittest.py: Removed.
* Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Removed.
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchAnalysisTask._retry_bindings_tests): Deleted.
* Scripts/webkitpy/tool/bot/retrylogic_unittest.py:
(MockBindingsEarlyWarningSystem): Deleted.
(MockBindingsEarlyWarningSystem.__init__): Deleted.
(MockBindingsEarlyWarningSystem.test_results): Deleted.
(BindingsEarlyWarningSystemTest): Deleted.
(BindingsEarlyWarningSystemTest._results_indicate_all_passed): Deleted.
(BindingsEarlyWarningSystemTest._create_task): Deleted.
(BindingsEarlyWarningSystemTest.test_success_case): Deleted.
(BindingsEarlyWarningSystemTest.test_test_failure): Deleted.
(BindingsEarlyWarningSystemTest.test_fix): Deleted.
(BindingsEarlyWarningSystemTest.test_ineffective_patch): Deleted.
(BindingsEarlyWarningSystemTest.test_partially_effective_patch): Deleted.
(BindingsEarlyWarningSystemTest.test_different_test_failures_in_patch_and_tree): Deleted.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(TestBindingsEWS): Deleted.
(AbstractEarlyWarningSystemTest.test_failing_bindings_tests_message): Deleted.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests._run_bindings_tests): Deleted.
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(test_patch_relevant_bindings): Deleted.
(test_runtests_api): Deleted.
2020-06-17 Aakash Jain <aakash_jain@apple.com>
Delete code for old ews style queue
https://bugs.webkit.org/show_bug.cgi?id=213297
Rubber-stamped by Alexey Proskuryakov.
* Scripts/webkitpy/tool/bot/stylequeuetask.py: Removed.
* Scripts/webkitpy/tool/commands/queues.py:
(StyleQueue): Deleted.
(StyleQueue.__init__): Deleted.
(StyleQueue.review_patch): Deleted.
(StyleQueue.run_command): Deleted.
(StyleQueue.expected_failures): Deleted.
(StyleQueue.refetch_patch): Deleted.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(TestReviewQueue): Deleted.
2020-06-17 Aakash Jain <aakash_jain@apple.com>
Delete code for old ews webkitpy queue
https://bugs.webkit.org/show_bug.cgi?id=213299
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/config/ews.json:
* Scripts/webkitpy/common/net/generictestresults.py:
(WebkitpyTestResults): Deleted.
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
* Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Removed.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(TestWebkitpyEWS): Deleted.
(AbstractEarlyWarningSystemTest.test_failing_webkitpy_tests_message): Deleted.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests._run_webkitpy_tests): Deleted.
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(test_runtests_webkitpy): Deleted.
(test_patch_not_relevant_bindings): Deleted.
(test_runtests_api_debug): Deleted.
2020-06-17 Keith Miller <keith_miller@apple.com>
WebKitTestRunner should not crash on alert with invalid utf16 strings
https://bugs.webkit.org/show_bug.cgi?id=213269
Reviewed by Simon Fraser.
* WebKitTestRunner/StringFunctions.h:
(WTR::toWTFString):
2020-06-17 Aakash Jain <aakash_jain@apple.com>
Delete old ews client side code - part 2
https://bugs.webkit.org/show_bug.cgi?id=213262
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/net/bugzilla/attachment.py:
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchAnalysisTaskDelegate.command_passed): Deleted.
(PatchAnalysisTaskDelegate.command_failed): Deleted.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.command_passed): Deleted.
(AbstractEarlyWarningSystem.command_failed): Deleted.
* Scripts/webkitpy/tool/commands/perfalizer.py:
(PerfalizerTask.command_passed): Deleted.
(PerfalizerTask.command_failed): Deleted.
* Scripts/webkitpy/tool/commands/perfalizer_unittest.py:
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractPatchQueue._next_patch): Deleted.
(AbstractPatchQueue._did_error): Deleted.
(AbstractPatchQueue._did_skip): Deleted.
(AbstractPatchQueue._unlock_patch): Deleted.
(StyleQueue.command_passed): Deleted.
(StyleQueue.command_failed): Deleted.
2020-06-17 Paulo Matos <pmatos@igalia.com>
Add new Igalia EWS workers for ARM/MIPS
https://bugs.webkit.org/show_bug.cgi?id=212803
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/config.json:
2020-06-16 Mark Lam <mark.lam@apple.com>
TestWebKitAPI.WebCore.WildcardStringMatching needs to initialize Options before accessing them.
https://bugs.webkit.org/show_bug.cgi?id=213270
<rdar://problem/64427499>
Reviewed by Yusuke Suzuki.
* TestWebKitAPI/Tests/WebCore/StringUtilities.mm:
(TestWebKitAPI::TEST):
2020-06-16 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation should not re-extract elements whose children have been manipulated
https://bugs.webkit.org/show_bug.cgi?id=213276
<rdar://problem/64193446>
Reviewed by Tim Horton.
Add a new API test where we start and complete text manipulation, and then hide and show the manipulated
element. This test verifies that the new item callbacks are *not* called after element is shown again.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-16 Saam Barati <sbarati@apple.com>
Fix two typos "signifcant" and "signficance". Should be "significant" and "significance"
* Scripts/compare-results:
(displayStr):
(computeMultipleHypothesesSignificance):
(dumpBreakdowns):
(writeCSV):
(computeMultipleHypothesesSignficance): Deleted.
2020-06-16 Andres Gonzalez <andresg_22@apple.com>
Fix for accessibility/textarea-selected-text-range.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=213257
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::setAttributeValue):
(WTR::AccessibilityUIElement::selectedTextRange): Dispatch call into
WebAccessibilityWrapper onto AX secondary thread to simulate isolated
tree mode.
2020-06-16 Saam Barati <sbarati@apple.com>
Multiple hypothesis testing should use False Discovery Rate instead of Bonferroni
https://bugs.webkit.org/show_bug.cgi?id=213219
Reviewed by Mark Lam.
My previous patch here used Bonferroni to do multiple hypotheses correction.
Bonferroni does a good job at reducing false positive rate (type I error,
saying something is significant when it's not, e.g, rejecting the null
hypothesis when we shouldn't), but at the expense of also having a high
false negative rate (type II error, saying something is not significant when
it is, e.g, not rejecting the null hypothesis when we should).
After doing a bit more reading, it seems like using a technique called False
Discovery Rate (FDR) is better. It still does a good job at controlling type
I error rate, but without sacrificing a high type II error rate. FDR is based
on a technique for "estimating the proportion of wrongly rejected null hypotheses" [2].
This patch uses Benjamini and Hochberg estimation of FDR, which relies
on hypotheses being independent. We know subtests in a benchmark aren't
fully independent variables, but it's a good enough approximation.
You can read more about FDR:
1. https://www.stat.berkeley.edu/~mgoldman/Section0402.pdf
2. https://besjournals.onlinelibrary.wiley.com/doi/10.1111/j.2041-210X.2010.00061.x
3. https://en.wikipedia.org/wiki/False_discovery_rate
* Scripts/compare-results:
(displayStr):
(computeMultipleHypothesesSignficance):
(dumpBreakdowns):
(writeCSV):
2020-06-16 David Kilzer <ddkilzer@apple.com>
REGRESSION (r262994): Web Inspector is killed when context-clicking anywhere
<https://webkit.org/b/213224>
<rdar://problem/64383320>
Reviewed by Darin Adler.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Add ContextMenuAction.cpp to build systems.
* TestWebKitAPI/Tests/WebCore/ContextMenuAction.cpp: Add.
(TestWebKitAPI::TEST):
- Add TestWebKitAPI.WebCore.ContextMenuAction_IsValidEnum.
2020-06-16 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] Mouse dragging tests are failing because WebKitTestRunner dispatches WM_MOUSELEAVE to the hidden WebView
https://bugs.webkit.org/show_bug.cgi?id=213239
Reviewed by Don Olmstead.
There are two problems:
1. Windows EventSenderProxy::mouseMoveTo doesn't set WPARAM of WM_MOUSEMOVE
2. Unexpected WM_MOUSELEAVE discontinues the mouse dragging events
WPARAM of WM_MOUSEMOVE should represent pressed mouse buttons while dragging.
WM_MOUSELEAVE is unexpectedly dispatched because the mouse cursor
is always out of the hidden WebView. The unexpected WM_MOUSELEAVE
discontinues dragging events. WM_MOUSELEAVE shouldn't be
dispatched in WebKitTestRunner. Ignore it.
* WebKitTestRunner/win/EventSenderProxyWin.cpp:
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo): Set MK_LBUTTON to WPARAM of
WM_MOUSEMOVE while dragging.
* WebKitTestRunner/win/TestControllerWin.cpp:
(WTR::runRunLoopUntil): Ignore WM_MOUSELEAVE.
2020-06-16 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation should handle nested item boundary elements
https://bugs.webkit.org/show_bug.cgi?id=213251
<rdar://problem/63371514>
Reviewed by Sihui Liu.
Add a new API test to exercise this scenario.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-06-16 Charlie Turner <cturner@igalia.com>
[GTK] Disable video autoplay
https://bugs.webkit.org/show_bug.cgi?id=184845
Reviewed by Carlos Garcia Campos.
Update the various callsites for constructing a view to take into
account the default policies. I chose the default as autoplay
allow without sound, which is in keeping with WebCore's choice.
* MiniBrowser/gtk/BrowserWindow.c:
(webViewDecidePolicy):
(newTabCallback):
(openPrivateWindow):
(browser_window_get_or_create_web_view_for_automation):
(browser_window_create_web_view_in_new_tab_for_automation):
* MiniBrowser/gtk/main.c:
(createBrowserTab):
(main):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp: Add
autoplay policy tests, and use modern class initializers.
(testAutoplayPolicy):
(beforeAll):
2020-06-16 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Subversion perl bindings unusable
https://bugs.webkit.org/show_bug.cgi?id=213241
Reviewed by Sergio Villar Senin.
* buildstream/elements/sdk/subversion.bst: The svn swig perl library wasn't correctly
installed, leading to undefined symbols when importing it from the bindings. A new
integration command now tests this.
2020-06-16 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Update to Qt 5.15
https://bugs.webkit.org/show_bug.cgi?id=213192
Reviewed by Sergio Villar Senin.
The new patch comes from the upstream KDE SDK: https://github.com/KDE/flatpak-kde-runtime/tree/qt5.15lts/patch
* buildstream/elements/qt5/qtbase.bst:
* buildstream/elements/qt5/qtdeclarative.bst:
* buildstream/elements/qt5/qtquickcontrols.bst:
* buildstream/elements/qt5/qtquickcontrols2.bst:
* buildstream/elements/qt5/qtwayland.bst:
* buildstream/elements/qt5/qtx11extras.bst:
* buildstream/patches/qtbase-make-sure-to-correctly-construct-base-platform-theme.patch: Added.
* buildstream/patches/qtwayland-use-gnome-platform-theme-on-gnome-based-desktops.patch: Removed.
* buildstream/project.conf:
2020-06-16 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to configure and enable resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=177943
Reviewed by Michael Catanzaro.
Add --enable-itp command line version to MiniBrowser and unit tests to check the new API.
* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
(activate):
* MiniBrowser/wpe/main.cpp:
(main):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(serverCallback):
(testWebsiteDataConfiguration):
(testWebsiteDataEphemeral):
(testWebsiteDataITP):
(beforeAll):
* TestWebKitAPI/glib/TestExpectations.json:
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(directoryChangedCallback):
(WebViewTest::waitUntilFileChanged):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2020-06-16 Philippe Normand <pnormand@igalia.com>
REGRESSION(r263029): [Flatpak SDK] Broke initial SDK installation
Rubber-stamped by Žan Doberšek.
* flatpak/flatpakutils.py:
(FlatpakObject.version): Gracefully return an empty version when the flatpak info command
fails. This usually means the app has not been installed yet.
2020-06-15 Megan Gardner <megan_gardner@apple.com>
Text form controls can scroll by 1px when value is the same length as size. No scrolling should happen.
https://bugs.webkit.org/show_bug.cgi?id=212856
<rdar://problem/63541707>
Reviewed by Zalan Bujtas.
Rebased to reflect new sizes.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
2020-06-15 Jonathan Bedard <jbedard@apple.com>
Follow-up fix: Make API tests tolerant of our relatively new use of WebPageProxy::preconnectTo
https://bugs.webkit.org/show_bug.cgi?id=213144
<rdar://problem/64316743>
Unreviewed build fix.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: Guard didFinishNavigation declaration with HAVE(NETWORK_FRAMEWORK).
2020-06-15 Alex Christensen <achristensen@webkit.org>
Provide alternatively-named SPI for user style sheets and scripts
https://bugs.webkit.org/show_bug.cgi?id=213206
Reviewed by Brady Eidson.
* DumpRenderTree/mac/DumpRenderTree.mm:
(fontAllowList):
(createWebViewAndOffscreenWindow):
(resetWebViewToConsistentStateBeforeTesting):
(fontWhitelist): Deleted.
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::addOriginAccessWhitelistEntry):
(TestRunner::removeOriginAccessWhitelistEntry):
(TestRunner::addUserScript):
(TestRunner::addUserStyleSheet):
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm:
(TEST):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::generateFontAllowList):
(WTR::TestController::platformInitializeContext):
(WTR::generateWhitelist): Deleted.
2020-06-15 Alex Christensen <achristensen@webkit.org>
Add SPI to preconnect to a server
https://bugs.webkit.org/show_bug.cgi?id=213109
<rdar://problem/64184412>
Reviewed by Geoff Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2020-06-15 Keith Miller <keith_miller@apple.com>
Signal handlers should have a two phase installation.
https://bugs.webkit.org/show_bug.cgi?id=213160
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/Signals.cpp:
(TEST):
2020-06-15 Sihui Liu <sihui_liu@apple.com>
Text manipulation does not observe newly displayed element inside previously observed content
https://bugs.webkit.org/show_bug.cgi?id=213156
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-15 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Bump Subversion and enable Perl bindings
https://bugs.webkit.org/show_bug.cgi?id=213189
Reviewed by Žan Doberšek.
* buildstream/elements/sdk-build-depends/swig.bst: Added.
* buildstream/elements/sdk/subversion.bst: Enable Perl bindings so that git svn can be used within the sandbox.
2020-06-15 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] flatpak update still not displayed
https://bugs.webkit.org/show_bug.cgi?id=213180
Reviewed by Žan Doberšek.
Added a new --version option to the script. We no longer gather the flatpak update command
output to know if something was updated or not. Instead we get the version of the SDK prior
to the update operation and compare that with the version after the update.
* flatpak/flatpakutils.py:
(FlatpakObject.version):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.main):
2020-06-15 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to expose UIClient::requestStorageAccessConfirm
https://bugs.webkit.org/show_bug.cgi?id=210422
Reviewed by Michael Catanzaro.
Handle WebKitWebsiteDataAccessPermissionRequest in MiniBrowser.
* MiniBrowser/gtk/BrowserTab.c:
(decidePermissionRequest):
2020-06-15 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add libavif
https://bugs.webkit.org/show_bug.cgi?id=212964
<rdar://problem/64291035>
Reviewed by Žan Doberšek.
Because of the ABI bump of dav1d, which ffmpeg depends on, ffmpeg needs to be rebuilt. So
this is a good opportunity to include it in the SDK and not rely on the ffmpeg-full
extension anymore, because it doesn't provide debug symbols.
* buildstream/elements/flatpak/platform.bst:
* buildstream/elements/flatpak/sdk.bst:
* buildstream/elements/freedesktop-sdk.bst:
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk/ffmpeg.bst: Added.
* buildstream/elements/sdk/gst-libav.bst:
* buildstream/elements/sdk/libavif.bst: Added.
* buildstream/elements/sdk/ruby-highline.bst: Remove the spec source, un-needed.
* buildstream/patches/fdo/0001-dav1d-Bump-to-0.7.0.patch: Added.
* buildstream/patches/fdo/0001-ffmpeg-Add-MS-MPEG-DivX-variants.patch: Removed.
* buildstream/patches/fdo/0002-ffmpeg-Add-VP6-and-Sorenson-Spark-video-codecs.patch: Removed.
* buildstream/patches/fdo/0003-ffmpeg-Add-Intel-Indeo-and-Cinepak-video-support.patch: Removed.
* buildstream/patches/fdo/0004-ffmpeg-Add-MPEG-2-video-decoder.patch: Removed.
* buildstream/patches/fdo/0005-ffmpeg-Add-msmpeg4v3-support.patch: Removed.
* buildstream/project.conf:
* flatpak/flatpakutils.py:
(WebkitFlatpak._get_packages):
2020-06-15 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Remove webkit-build-directory dependency from flatpakutils
https://bugs.webkit.org/show_bug.cgi?id=213179
Reviewed by Žan Doberšek.
This makes webkit-flatpak usable without installing additional perl modules (version) on the host OS.
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args): Make --release and --debug mutually exclusive, and default to Release builds.
(WebkitFlatpak.__init__):
(WebkitFlatpak.clean_args): No need to pull in webkitpy which pulls webkitdirs.pm only to
determine the default configuration. Assume we use Release by default.
2020-06-15 Paulo Matos <pmatos@igalia.com>
Properly propagate TZ to the remote test devices
https://bugs.webkit.org/show_bug.cgi?id=212816
Reviewed by Philippe Normand.
* Scripts/run-jsc-stress-tests:
2020-06-14 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Two KeyboardInputTests are failing on recent iOS SDK versions
https://bugs.webkit.org/show_bug.cgi?id=213183
<rdar://problem/64273483>
Reviewed by Tim Horton.
On recent versions of the iOS SDK, iOS simulators that are not shown on-screen are treated as if the hardware
keyboard is not available (that is, `+[UIIKeyboard isInHardwareKeyboardMode]` returns `NO`). When running API
tests while `Simulator.app` is already launched, an iOS simulator is presented on-screen, whereas the simulator
is not visible when running API tests without launching `Simulator.app` beforehand.
This discrepancy causes two iOS API tests to fail (i.e. `CaretSelectionRectAfterRestoringFirstResponder` and
`RangedSelectionRectAfterRestoringFirstResponder`), due to the fact that `-[WKWebView becomeFirstResponder]` no
longer causes an input session to begin.
Interestingly, these tests already attempt to circumvent this by using `webViewWithAutofocusedInput()`, which
creates and loads a `WKWebView` with a single autofocusing input element, with a `_WKInputDelegate` that
unconditionally allows input sessions to begin. However, this doesn't work as intended in these tests, because
nothing keeps the delegate (a `TestInputDelegate`) alive past the scope of the call to
`webViewWithAutofocusedInput()`. Since `[WKWebView _inputDelegate]` is a weak property, the input delegate
simply disappears after we finish waiting for the load to finish (and the autofocused input element begins its
input session). This causes us to erroneously fall back to default behavior (i.e.
`_WKFocusStartsInputSessionPolicyAuto`) for subsequent calls to show the keyboard for the focused element, as is
the case when these two API tests call `-becomeFirstResponder`. The end result is that the keyboard doesn't
appear and text selection views are not created and laid out, but only when API tests are run without having
launched the Simulator app beforehand.
To fix this, refactor `webViewWithAutofocusedInput()` into `webViewAndInputDelegateWithAutofocusedInput()`,
which returns both the new `WKWebView` as well as the `TestInputDelegate` of the web view. The call site is then
responsible for keeping the input delegate around for as long as it needs.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(webViewWithAutofocusedInput):
Drive-by fix: fix a potential stack smasher by using an Objective-C block when setting the input delegate's
policy handler, and by using `__block` for the `doneWaiting` boolean flag. This is now a problem becuase this
block may be invoked multiple times.
(webViewAndInputDelegateWithAutofocusedInput):
2020-06-13 Saam Barati <sbarati@apple.com>
compare-results should have an option to print a breakdown and to save the breakdown as csv file
https://bugs.webkit.org/show_bug.cgi?id=213140
Reviewed by Filip Pizlo.
In this patch, compare-results has a new --breakdown feature which will
break down the results for -a and -b per subtest. It will also show you
p values with a significance threshold determined using the Bonferroni
correction for testing multiple hypotheses:
https://en.wikipedia.org/wiki/Bonferroni_correction
And there is also now a --csv option to generate a csv file containing
the same per subtest breakdown.
--breakdown will print out results like:
------------------------------------------------------------------------------------------------------------
| subtest | ms | ms | b / a | pValue, alpha = 0.003125 |
------------------------------------------------------------------------------------------------------------
| Elm-TodoMVC |616.625000 |583.625000 |0.946483 | 0.065002 |
| VueJS-TodoMVC |89.425000 |83.225000 |0.930668 | 0.039102 |
| EmberJS-TodoMVC |695.875000 |664.000000 |0.954194 | 0.088901 |
| Flight-TodoMVC |263.600000 |257.600000 |0.977238 | 0.249259 |
| BackboneJS-TodoMVC |213.025000 |201.550000 |0.946133 | 0.000636 (significant) |
| Preact-TodoMVC |48.800000 |47.550000 |0.974385 | 0.502768 |
| AngularJS-TodoMVC |745.300000 |704.275000 |0.944955 | 0.011779 |
| Inferno-TodoMVC |607.900000 |354.800000 |0.583649 | 0.000000 (significant) |
| Vanilla-ES2015-TodoMVC |214.950000 |200.575000 |0.933124 | 0.005018 |
| Angular2-TypeScript-TodoMVC |191.575000 |187.025000 |0.976250 | 0.542229 |
| VanillaJS-TodoMVC |162.075000 |160.375000 |0.989511 | 0.747186 |
| jQuery-TodoMVC |855.275000 |833.825000 |0.974920 | 0.103439 |
| EmberJS-Debug-TodoMVC |2056.250000 |1952.050000 |0.949325 | 0.000003 (significant) |
| React-TodoMVC |475.225000 |428.950000 |0.902625 | 0.007566 |
| React-Redux-TodoMVC |791.100000 |736.675000 |0.931203 | 0.066091 |
| Vanilla-ES2015-Babel-Webpack-TodoMVC |208.050000 |202.000000 |0.970920 | 0.152470 |
------------------------------------------------------------------------------------------------------------
* Scripts/compare-results:
(readJSONFile):
(speedometer2Breakdown):
(jetStream2Breakdown):
(motionMarkBreakdown):
(plt5Breakdown):
(displayStr):
(dumpBreakdowns):
(writeCSV):
(detectMotionMark1_1):
(detectMotionMark1_1_1):
(motionMarkResults):
(detectBenchmark):
(getOptions):
(main):
(motionMark1_1Results): Deleted.
2020-06-13 Sam Weinig <weinig@apple.com>
Extended Color: Experiment with strongly typed ColorComponents
https://bugs.webkit.org/show_bug.cgi?id=212396
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Update for changed names (e.g. toSRGBAComponentsLossy() -> toSRGBALossy())
and use of explicit types.
2020-06-13 Diego Pino Garcia <dpino@igalia.com>
Unreviewed, fix configuration setting of WPE Debug (Tests JS) bot
https://bugs.webkit.org/show_bug.cgi?id=213164
The bot was meant to run as Debug.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2020-06-12 Keith Miller <keith_miller@apple.com>
Tests expecting a crash should use a signal handler in the JSC CLI process
https://bugs.webkit.org/show_bug.cgi?id=212479
Reviewed by Yusuke Suzuki.
Crashing tests should now exit with status zero.
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
* Scripts/webkitruby/jsc-stress-test-writer-playstation.rb:
* Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
2020-06-12 Alex Christensen <achristensen@webkit.org>
Make API tests tolerant of our relatively new use of WebPageProxy::preconnectTo
https://bugs.webkit.org/show_bug.cgi?id=213144
Reviewed by Geofferey Garen.
Most changes are straightforward moving to HTTPServer, which is more tolerant of different numbers of connections except these two:
The ResourceLoadDelegate.Challenge API test was checking the output of _WKResourceLoadDelegate.didReceiveChallenge
by using a server trust challenge. Now that preconnecting happens, the server trust evaluation would happen with a
PreconnectTask, not the main resource load. The WKNavigationDelegate still gets the challenge and there is no problem
here, but in order to continue to test _WKResourceLoadDelegate.didReceiveChallenge I use a basic authentication challenge
instead of a server trust evaluation.
The WebKit.FastServerTrust API test now has two failed attempts (one from the preconnect attempt, one from the main resource load attempt),
but only when _strictTrustEvaluate is not available.
* TestWebKitAPI/TCPServer.cpp:
(TestWebKitAPI::TCPServer::TCPServer):
* TestWebKitAPI/TCPServer.h:
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TEST):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/cocoa/HTTPServer.h:
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondWithChallengeThenOK):
2020-06-12 Diego Pino Garcia <dpino@igalia.com>
[buildbot] [GTK][WPE] Move WebDriver test to own bot
https://bugs.webkit.org/show_bug.cgi?id=212527
Reviewed by Carlos Alberto Lopez Perez.
Move 'webdriver-test' step from GTK Release and GTK Debug test bots
to separated bots.
For bots that require a Wayland display (WPE and GTK Wayland),
'webdriver-test' step is run on the corresponding general test bot,
since it's not possible at the moment to run tests that require a
Wayland display in a bot set as a container.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/factories.py:
(TestFactory.__init__):
(TestWebDriverFactory):
(TestWebDriverFactory.__init__):
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2020-06-12 Takashi Komori <Takashi.Komori@sony.com>
[Curl] Implement functions to use ResourceLoadStatistics.
https://bugs.webkit.org/show_bug.cgi?id=207692
Reviewed by Don Olmstead.
Implement functions which are required to implement ResourceLoadStatistics for Curl port.
Tests: http/tests/resourceLoadStatistics/
* WebKitTestRunner/TestController.cpp:
(WTR::GetAllStorageAccessEntriesCallbackContext::GetAllStorageAccessEntriesCallbackContext):
(WTR::getAllStorageAccessEntriesCallback):
(WTR::TestController::getAllStorageAccessEntries):
2020-06-12 Jonathan Bedard <jbedard@apple.com>
Support building test runners for watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=213128
<rdar://problem/64298006>
Reviewed by Tim Horton.
* DumpRenderTree/mac/Configurations/Base.xcconfig: Link against framework stubs.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Apply iOS rules to all embedded sdks.
* WebKitTestRunner/Configurations/Base.xcconfig: Link against framework stubs.
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Apply iOS rules to all embedded sdks.
* WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig: Use watchOS entitlements for tvOS.
2020-06-12 Jonathan Bedard <jbedard@apple.com>
TestWebKitAPI: Build for watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=213127
<rdar://problem/64297979>
Reviewed by Tim Horton.
* TestWebKitAPI/Configurations/Base.xcconfig: Link against framework stubs.
* TestWebKitAPI/Configurations/InjectedBundle.xcconfig: Apply iOS rules to all embedded sdks.
* TestWebKitAPI/Configurations/TestWTF.xcconfig: Ditto.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Link against framework stubs.
* TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Apply iOS rules to all embedded sdks.
* TestWebKitAPI/config.h: WatchOS uses SSL.
2020-06-12 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r262942.
https://bugs.webkit.org/show_bug.cgi?id=213132
Broke gst-libav due to dav1d ABI bump
Reverted changeset:
"[Flatpak SDK] Add libavif"
https://bugs.webkit.org/show_bug.cgi?id=212964
https://trac.webkit.org/changeset/262942
2020-06-12 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK WebDriver tests after r262938
Ensure a valid title for backforward items in MiniBrowser, using the URL when the title is empty.
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowCreateBackForwardMenu):
2020-06-12 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Update GTK4 to 3.98.5
Rubber-stamped by Carlos Alberto Lopez Perez.
* buildstream/elements/sdk/gtk.bst:
2020-06-12 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add libavif
https://bugs.webkit.org/show_bug.cgi?id=212964
Reviewed by Carlos Alberto Lopez Perez.
* buildstream/elements/freedesktop-sdk.bst:
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk/libavif.bst: Added.
* buildstream/patches/fdo/0001-dav1d-Bump-to-0.7.0.patch: Added.
2020-06-12 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add libkate
https://bugs.webkit.org/show_bug.cgi?id=212865
Reviewed by Carlos Alberto Lopez Perez.
The GStreamer kate decoder is required for some media/track tests being re-enabled in bug
120665.
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk/gst-plugins-bad.bst:
* buildstream/elements/sdk/libkate.bst: Added.
2020-06-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Get MiniBrowser ready for GTK4
https://bugs.webkit.org/show_bug.cgi?id=210276
Reviewed by Adrian Perez de Castro.
Port MiniBrowser to GTK4. BrowserSearchBar has been renamed as BrowserSearchBox, because in GTK GtkSearchBar is
final class, so we derive from GtkBox and to be used as contents of a GtkSearchBar.
* MiniBrowser/gtk/BrowserCellRendererVariant.c:
(browserCellRendererVariantCellRendererSnapshot):
(browser_cell_renderer_variant_class_init):
* MiniBrowser/gtk/BrowserCellRendererVariant.h:
* MiniBrowser/gtk/BrowserSearchBar.c: Removed.
* MiniBrowser/gtk/BrowserSearchBox.c: Added.
(setFailedStyleForEntry):
(doSearch):
(searchNext):
(searchPrevious):
(searchEntryMenuIconPressedCallback):
(searchEntryClearIconReleasedCallback):
(searchEntryChangedCallback):
(searchEntryActivatedCallback):
(searchPreviousButtonCallback):
(searchNextButtonCallback):
(searchMenuCheckButtonToggledCallback):
(findControllerFailedToFindTextCallback):
(findControllerFoundTextCallback):
(browserSearchBoxFinalize):
(browserSearchBoxDispose):
(browserSearchBoxSizeAllocate):
(browser_search_box_class_init):
(browser_search_box_new):
(browser_search_box_get_entry):
* MiniBrowser/gtk/BrowserSearchBox.h: Renamed from Tools/MiniBrowser/gtk/BrowserSearchBar.h.
* MiniBrowser/gtk/BrowserSettingsDialog.c:
(browser_settings_dialog_init):
(browser_settings_dialog_new):
* MiniBrowser/gtk/BrowserSettingsDialog.h:
* MiniBrowser/gtk/BrowserTab.c:
(loadChanged):
(createInfoBarQuestionMessage):
(tlsErrorsDialogResponse):
(loadFailedWithTLSerrors):
(permissionRequestDialogResponse):
(decidePermissionRequest):
(colorChooserRequestFinished):
(runColorChooserCallback):
(tabCloseClicked):
(browserTabConstructed):
(browserTabIsSearchBarOpen):
(browser_tab_start_search):
(browser_tab_stop_search):
(browser_tab_enter_fullscreen):
(browser_tab_leave_fullscreen):
* MiniBrowser/gtk/BrowserWindow.c:
(settingsCallback):
(resetEntryProgress):
(webViewLoadProgressChanged):
(browserWindowCreateBackForwardMenu):
(browserWindowUpdateNavigationMenu):
(navigationButtonPressed):
(navigationButtonPressCallback):
(scrollEventCallback):
(webViewIsLoadingChanged):
(searchCallback):
(insertImageDialogResponse):
(insertImageCommandCallback):
(insertLinkDialogResponse):
(insertLinkCommandCallback):
(typingAttributesChanged):
(browserWindowSaveSession):
(browserWindowFinalize):
(browserWindowDispose):
(addToolbarButton):
(browserWindowSwitchTab):
(browserWindowTabAddedOrRemoved):
(browserWindowBuildPopoverMenu):
(browserWindowCloseRequest):
(browserWindowDeleteEvent):
(browser_window_class_init):
(browser_window_append_view):
(browser_window_set_background_color):
* MiniBrowser/gtk/CMakeLists.txt:
2020-06-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MiniBrowser: stop using GtkToolbar
https://bugs.webkit.org/show_bug.cgi?id=212898
Reviewed by Adrian Perez de Castro.
GtkToolbar iss no longer available in GTK4, use a GtkBox with buttons instead. Also use symbolic icons and move
some of the actions to a gear menu.
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowHistoryItemActivated):
(browserWindowCreateBackForwardMenu):
(browserWindowUpdateNavigationMenu):
(navigationButtonPressCallback):
(browserWindowCanZoomDefault):
(browserWindowUpdateZoomActions):
(webViewIsLoadingChanged):
(addToolbarButton):
(browserWindowBuildPopoverMenu):
(resetStatusText): Deleted.
(browserWindowHistoryItemSelected): Deleted.
(browserWindowSetupEditorToolbarItem): Deleted.
2020-06-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MiniBrowser: stop using GtkToolbar for the search bar
https://bugs.webkit.org/show_bug.cgi?id=212817
Reviewed by Adrian Perez de Castro.
Use a GtkSearchBar instead, because GtkToolbar is no longer available in GTK4. Also use a GtkPopover for the
options menu instead of the GtkMenu.
* MiniBrowser/gtk/BrowserSearchBar.c:
(setFailedStyleForEntry):
(doSearch):
(searchEntryMenuIconPressedCallback):
(searchEntryChangedCallback):
(searchMenuCheckButtonToggledCallback):
(browserSearchBarFinalize):
(browser_search_bar_new):
(browser_search_bar_open):
(browser_search_bar_close):
(browser_search_bar_is_open):
(searchCloseButtonClickedCallback): Deleted.
(searchEntryClearIconReleasedCallback): Deleted.
* MiniBrowser/gtk/BrowserSearchBar.h:
* MiniBrowser/gtk/BrowserTab.c:
(browser_tab_start_search):
(browser_tab_stop_search):
2020-06-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Make WebDriver work
https://bugs.webkit.org/show_bug.cgi?id=212316
Reviewed by Adrian Perez de Castro.
Stop connecting to WebKitWebView::close signal twice for newaly created windows.
* MiniBrowser/gtk/BrowserWindow.c:
(webViewCreate):
2020-06-11 Saam Barati <sbarati@apple.com>
Skip wasm-js2 test on memory limited devices
https://bugs.webkit.org/show_bug.cgi?id=213099
Reviewed by Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
2020-06-11 Alex Christensen <achristensen@webkit.org>
Re-enable download resume tests
https://bugs.webkit.org/show_bug.cgi?id=213098
<rdar://problem/63512518>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
2020-06-11 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r262696.
https://bugs.webkit.org/show_bug.cgi?id=213097
It broke running JSC tests on watchOS
Reverted changeset:
"Allow run-jsc-stress-tests still run if some of the remote
hosts are not available"
https://bugs.webkit.org/show_bug.cgi?id=201426
https://trac.webkit.org/changeset/262696
2020-06-11 Sihui Liu <sihui_liu@apple.com>
REGRESSION (r262879): 3 TestWebKitAPI.TextManipulation tests are failing
https://bugs.webkit.org/show_bug.cgi?id=213079
<rdar://problem/64256870>
Reviewed by Wenson Hsieh.
Update a few tests after behavior change in r262879. From r262879, we no longer use visible positions of element
to calculate range to observe. Instead, we use the first and end position in the element to decide the range. In
previous implementation, the range can be extended to outside of the element, like some visible positon before
or after the element.
TextManipulation.StartTextManipulationFindNewlyDisplayedParagraph: Different elements would make separate ranges
because we create range with the boundaries of element. We can consider merging adjacent ranges later.
TextManipulation.StartTextManipulationFindSameParagraphWithNewContent: The newly observing range only includes
the newly inserted element now.
TextManipulation.InsertingContentIntoAlreadyManipulatedContentDoesNotCreateTextManipulationItem: The p element
is not manipulated as it is the common ancestor of manipulated elements. And we want to make sure the newly
inserted element is child of a manipulated element.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-11 Andy Estes <aestes@apple.com>
[iOS] nullptr deref in FileInputType::iconLoaded when the input's type attribute is modified by a change event listener
https://bugs.webkit.org/show_bug.cgi?id=208244
<rdar://problem/41855350>
Reviewed by Wenson Hsieh.
* DumpRenderTree/TestRunner.cpp:
(SetOpenPanelFilesMediaIconCallback):
(TestRunner::staticFunctions):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setOpenPanelFilesMediaIcon):
2020-06-11 Sergio Villar Senin <svillar@igalia.com>
Unreviewed, updated libsoup dependency in jhbuild.
* wpe/jhbuild.modules:
2020-06-10 Said Abou-Hallawa <sabouhallawa@apple.com>
[macOS]: The File Picker of the <input> file element should show the selection filter
https://bugs.webkit.org/show_bug.cgi?id=212485
Reviewed by Darin Adler.
Create a view with an NSPopupButton for the file extensions filter. Set
this view as the AccessoryView of the OpenPanel. Create a customized target
for the NSPopupButton to respond to changing its selection.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[FileExtensionsPopupTarget initWithOpenPanel:allowedFileExtensions:]):
(-[FileExtensionsPopupTarget popupAction:]):
(-[FileExtensionsPopupTarget dealloc]):
(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController createFilterView:popupTarget:]):
(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
2020-06-10 Jonathan Bedard <jbedard@apple.com>
Generalize configure-xcode-for-ios-development (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=207043
<rdar://problem/63946933>
Reviewed by Darin Adler.
* EWSTools/start-queue-mac.sh: Use configure-xcode-for-embedded-development over configure-xcode-for-ios-development.
* Scripts/configure-xcode-for-ios-development: Removed.
2020-06-10 Sihui Liu <sihui_liu@apple.com>
Text manipulation does not observe inserted elements that are invisible
https://bugs.webkit.org/show_bug.cgi?id=213057
<rdar://problem/63768253>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-10 Geoffrey Garen <ggaren@apple.com>
Some style improvements to main thread code
https://bugs.webkit.org/show_bug.cgi?id=213051
Reviewed by Darin Adler.
Updated for rename.
* TestWebKitAPI/Tests/WTF/RefPtr.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(ApplicationManifestParserTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::ContentExtensionTest::SetUp):
* TestWebKitAPI/Tests/WebCore/DNS.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(initializeInAppBrowserPrivacyTestSettings):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
2020-06-10 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Health check should access redis and Cassandra
https://bugs.webkit.org/show_bug.cgi?id=212899
<rdar://problem/64118077>
Reviewed by Stephanie Lewis.
* resultsdbpy/resultsdbpy/example/main.py:
(health): Check the health status of the model.
* resultsdbpy/resultsdbpy/model/model.py:
(Model.HealthTable):
(Model.__init__): Construct a Cassandra table used to check the health of our Cassandra connection.
(Model.healthy): Make both a read and write connection to our two database dependencies so that if
our connection to those databases fails, an instance will be forced to restart.
* resultsdbpy/resultsdbpy/model/model_unittest.py: Added.
(ModelTest):
(ModelTest.init_database):
(ModelTest.test_health):
2020-06-10 Keith Miller <keith_miller@apple.com>
run-jsc-stress-tests should skip tests marked as slow in quick mode.
https://bugs.webkit.org/show_bug.cgi?id=213042
Reviewed by Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
2020-06-10 Antoine Quint <graouts@webkit.org>
Subframes should not autosize independently
https://bugs.webkit.org/show_bug.cgi?id=212984
<rdar://problem/64175493>
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
(TEST): Added test for <object>.
2020-06-09 Ryan Haddad <ryanhaddad@apple.com>
[Mojave] Flaky API Test: TestWebKitAPI.WebKitLegacy.CrossPartitionFileSchemeAccess
https://bugs.webkit.org/show_bug.cgi?id=206956
Unreviewed test gardening.
* TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm: Disable this test for Mojave.
2020-06-10 Alex Christensen <achristensen@webkit.org>
Revert r259770
https://bugs.webkit.org/show_bug.cgi?id=210097
<rdar://problem/64175992>
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
2020-06-10 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r262807.
https://bugs.webkit.org/show_bug.cgi?id=213019
It is breaking JSC queues (Requested by caiolima on #webkit).
Reverted changeset:
"Add a timeout monitor for JSC stress test"
https://bugs.webkit.org/show_bug.cgi?id=211978
https://trac.webkit.org/changeset/262807
2020-06-09 Fujii Hironori <Hironori.Fujii@sony.com>
Unreviewed, reverting r262791.
WinCairo WebKit1 is crashing.
Reverted changeset:
"[Curl] Implement functions to use ResourceLoadStatistics."
https://bugs.webkit.org/show_bug.cgi?id=207692
https://trac.webkit.org/changeset/262791
2020-06-09 Zhifei Fang <zhifei_fang@apple.com>
Add a timeout monitor for JSC stress test
https://bugs.webkit.org/show_bug.cgi?id=211978
Reviewed by Jonathan Bedard.
* Scripts/webkitruby/jsc-stress-test-writer-default.rb: Add timeout monitor inside the jsc stress test runner, it will kill the process in case of jsc timeout handler not working
2020-06-09 Tim Horton <timothy_horton@apple.com>
WebKit.ShrinkToFit is failing on some bots
https://bugs.webkit.org/show_bug.cgi?id=212932
<rdar://problem/60972407>
Reviewed by Simon Fraser.
TestWebKitAPI was failing to stabilize the overlay scrollbar preference,
because the only stabilization attempt was in the injected bundle
initialization code, and most tests (including ShrinkToFit) do not have
an injected bundle.
Because this preference is manually propagated to the Web Content process,
we can set the default in the volatile domain in the UI process at startup.
We can't move other preferences yet, because they are not manually propagated,
and WebKit's NSUserDefault synchronization mechanism ignores defaults in the
volatile domain (and the initial preference load reads from disk, not
from the UI process, so it wouldn't find them anyway).
* TestWebKitAPI/Tests/WebKitCocoa/ShrinkToFit.mm:
(TEST):
Explain why the final value of the test is different than the starting value.
* TestWebKitAPI/mac/InjectedBundleControllerMac.mm:
(TestWebKitAPI::InjectedBundleController::platformInitialize):
Leave a FIXME for future generations.
* TestWebKitAPI/mac/mainMac.mm:
(main):
Override overlay scrollbar preferences in the UI process, so it affects all tests.
* TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
This test is also affected by using non-overlay scrollbars; we now have less space, so take up more pages.
2020-06-09 Youenn Fablet <youenn@apple.com>
BaseAudioSharedUnit should unmute its clients in case of suspension even if not having any audio unit
https://bugs.webkit.org/show_bug.cgi?id=212970
Reviewed by Eric Carlson.
Add an option to capture in UI process so that the same test can run on both MacOS and iOS.
This eases the testing infra to be able to get audio capture unit state in WebProcess as is the case in iOS.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2020-06-09 Takashi Komori <Takashi.Komori@sony.com>
[Curl] Implement functions to use ResourceLoadStatistics.
https://bugs.webkit.org/show_bug.cgi?id=207692
Implement functions which are required to implement ResourceLoadStatistics for Curl port.
Tests: http/tests/resourceLoadStatistics/
Reviewed by Don Olmstead.
* WebKitTestRunner/TestController.cpp:
(WTR::GetAllStorageAccessEntriesCallbackContext::GetAllStorageAccessEntriesCallbackContext):
(WTR::getAllStorageAccessEntriesCallback):
(WTR::TestController::getAllStorageAccessEntries):
2020-06-09 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
[Flatpak][GStreamer] enhance GST_ environment variable passing
https://bugs.webkit.org/show_bug.cgi?id=212905
Reviewed by Philippe Normand.
Handle the passing of several GST environment variables,
particularly GST_DEBUG, which, when using * symbol, python adds
quotes, but they break the parsing in GStreamer.
Also the variables are handled by gst-env.py when using
GST_BUILD_PATH, so they are filtered out when it's exported,
avoiding duplication. But it GST_BUILD_PATH is not defined, the
variables are passed to flatpak.
* flatpak/flatpakutils.py:
(WebkitFlatpak.setup_gstbuild):
(WebkitFlatpak.run_in_sandbox):
2020-06-09 Sihui Liu <sihui_liu@apple.com>
TextManipulationController range of paragraph may be wrong after r262601
https://bugs.webkit.org/show_bug.cgi?id=212874
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-08 Sihui Liu <sihui_liu@apple.com>
TextManipulation should only convert text from Node's text content to tokens
https://bugs.webkit.org/show_bug.cgi?id=212928
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-08 Diego Pino Garcia <dpino@igalia.com>
[webkitpy] Check 'bug-search' returns a non null result before parsing
https://bugs.webkit.org/show_bug.cgi?id=212906
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(BugzillaQueries._parse_result_count): Check quick-search query
response is non-null and a non-empty text.
2020-06-08 Sam Weinig <weinig@apple.com>
Extended Color: Rename Color::lighten() and Color::darken() to Color::lightened() and Color::darkened()
https://bugs.webkit.org/show_bug.cgi?id=212917
Reviewed by Darin Adler.
Addresses feedback from Darin.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
2020-06-08 Sam Weinig <weinig@apple.com>
Fix test results after r262733.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
2020-06-08 David Kilzer <ddkilzer@apple.com>
[IPC] Adopt enum class for DragOperation
<https://webkit.org/b/212870>
<rdar://problem/64069940>
Reviewed by Darin Adler.
* Scripts/do-webcore-rename:
- Do DragOperation renames.
2020-06-08 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r262685.
https://bugs.webkit.org/show_bug.cgi?id=212914
caused flakey crashes in an iOS test
Reverted changeset:
"Clear WebPageProxy event state between tests"
https://bugs.webkit.org/show_bug.cgi?id=212864
https://trac.webkit.org/changeset/262685
2020-06-08 Sam Weinig <weinig@apple.com>
Extended Color: Unify rounding / clamping conversions between 0-1 float components and 0-255 byte components
https://bugs.webkit.org/show_bug.cgi?id=212871
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Switch to using makeSimpleColor(hslToSRGB(...)) directly.
2020-06-08 Sam Weinig <weinig@apple.com>
Extended Color: Replace uses of differenceSquared() with luminance based computations
https://bugs.webkit.org/show_bug.cgi?id=212872
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Add basic tests for Color::luminance(), ensuring white == 1, black == 0, and
darken() and lighten() creat colors with less than / greater than luminance.
2020-06-08 Per Arne Vollan <pvollan@apple.com>
[Cocoa] CFPrefs synchronization does not always work for global preference changes
https://bugs.webkit.org/show_bug.cgi?id=212783
Reviewed by Tim Horton.
Add API test, and add some synchronization to avoid flakiness.
* TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
(-[WKTestPreferenceObserver preferenceDidChange:key:encodedValue:]):
(TEST):
(sharedInstanceMethodOverride):
2020-06-08 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Hit-testing on icloud.com is offset after closing a tab
https://bugs.webkit.org/show_bug.cgi?id=212890
<rdar://problem/58775297>
Reviewed by Simon Fraser.
Add a new API test to verify that the scroll position doesn't get stuck at -30px after shifting both the top
content inset and top obscured inset by 30px. See WebKit ChangeLog for more details.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/overflow-hidden.html: Added.
* TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
(-[ScrollViewDelegate scrollViewDidScroll:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/UIKitSPI.h:
2020-06-08 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add flatpak-run-nightly
https://bugs.webkit.org/show_bug.cgi?id=212882
Reviewed by Carlos Alberto Lopez Perez.
This new script is able to download WPE and GTK builds from the Igalia servers and run the
corresponding binaries (like MiniBrowser, jsc) within the Flatpak SDK.
Unzipped builds will be saved in /tmp and can be reused in further runs (by providing the
path with the -p argument).
Example:
$ webkit-flatpak-run-nightly --wpe MiniBrowser https://webkit.org
<SDK installs to ~/.cache/wk-nightly>
Downloading build release_r262699_b33885.zip from https://wpewebkit-release.igalia.com/built-products/
Extracting build to /tmp/wpewebkit-release-b33885
<MiniBrowser starts>
$ webkit-flatpak-run-nightly --wpe -p /tmp/wpewebkit-release-b33885 jsc
Looking for updates…
Nothing to do.
>>> 2+2
4
* Scripts/webkit-flatpak-run-nightly: Added.
2020-06-08 Diego Pino Garcia <dpino@igalia.com>
[webkitpy] Make 'webkit-path rebaseline' to not update expectations file by default
https://bugs.webkit.org/show_bug.cgi?id=212835
Reviewed by Carlos Alberto Lopez Perez.
`webkit-patch rebaseline` let us add or update a test baseline
from a test bot. By default, the command also updates the
corresponding expectations file. This update is actually a brand-new
generation of an expectations file based on the results of the bot,
which in most cases messes up the current contents of the file.
This patch makes the default to not update the expectations file and
adds a new option '--update-expectations' to explicitly request an
update.
* Scripts/webkitpy/tool/commands/rebaseline.py:
(AbstractRebaseliningCommand):
(RebaselineTest.__init__):
(RebaselineTest._rebaseline_tests):
(RebaselineTest.execute):
(AbstractParallelRebaselineCommand._rebaseline_commands):
(RebaselineExpectations.__init__):
(RebaselineExpectations.execute):
(Rebaseline.__init__):
(RebaselineTest._rebaseline_test_and_update_expectations): Deleted.
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineTest.setUp):
2020-06-08 Youenn Fablet <youenn@apple.com>
File URLs with hostnames are misleading
https://bugs.webkit.org/show_bug.cgi?id=212739
<rdar://problem/63754917>
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/open-window-with-file-url-with-host.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm:
(TEST):
2020-06-07 Caio Lima <ticaiolima@gmail.com>
Allow run-jsc-stress-tests still run if some of the remote hosts are not available
https://bugs.webkit.org/show_bug.cgi?id=201426
Reviewed by Saam Barati.
This patch allows run-jsc-stress-tests to keep on running if some of
the remote hosts are not available. To do this, we created a new
function `checkAndPrepareRemoteHosts` that is responsible to check the
connection and read/write permissions of given remote hosts list. It
filters out every unavailable remote host.
These checks and filter happen in the beginning of the script and is
excuted only once, in the beggining of the script. It means that if
some remote device becomes unavailable after the check and preparation
is done, the script execution will be interupted.
* Scripts/run-jsc-stress-tests:
2020-06-07 Philippe Normand <pnormand@igalia.com>
Remove ENABLE_VIDEO_TRACK ifdef guards
https://bugs.webkit.org/show_bug.cgi?id=212568
Reviewed by Youenn Fablet.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-06-06 Simon Fraser <simon.fraser@apple.com>
Clear WebPageProxy event state between tests
https://bugs.webkit.org/show_bug.cgi?id=212864
Reviewed by Anders Carlsson.
Make sure that event state doesn't leak between tests via events queued in WebPageProxy.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2020-06-06 Peng Liu <peng.liu6@apple.com>
REGRESSION (r262456): [iOS Debug] TestWebKitAPI.WKWebViewCloseAllMediaPresentations.PictureInPicture is frequently timing out
https://bugs.webkit.org/show_bug.cgi?id=212777
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
Disable the PictureInPicture test for old iOS devices.
2020-06-05 Ryan Haddad <ryanhaddad@apple.com>
[iOS] TestWebKitAPI.WKWebsiteDataStore.RemoveAndFetchData is failing
https://bugs.webkit.org/show_bug.cgi?id=208451
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: Disable this test again because it is still failing on certain bots.
2020-06-05 Daniel Bates <dabates@apple.com>
-_focusTextInputContext should reposition the caret if called for an already focused text input context
https://bugs.webkit.org/show_bug.cgi?id=212830
<rdar://problem/64032956>
Reviewed by Wenson Hsieh.
Re-purpose some existing tests to check for the new behavior.
In TextInteraction_FocusingAssistedElementShouldScrollToReveal, keep in mind that the caret position is
changing: on iOS, calling input.focus() places the caret at the end of the field's content.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
2020-06-05 Jonathan Bedard <jbedard@apple.com>
Generalize configure-xcode-for-ios-development (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=207043
Rubber-stamped by David Kilzer.
Patch by Keith Rollin and Jonathan Bedard.
Replace configure-xcode-for-ios-development with a Python script that works for iOS,
watchOS and tvOS.
* Scripts/configure-xcode-for-embedded-development: Added.
2020-06-05 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation should exclude characters outside of the unicode private use area
https://bugs.webkit.org/show_bug.cgi?id=212800
<rdar://problem/63736417>
Reviewed by Sihui Liu.
Add a new API test to verify the new behavior when extracting PUA characters.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-05 Dean Jackson <dino@apple.com>
REGRESSION (r262366): [ Mac wk1 ] webgl/webgl-backing-store-size-update.html is failing
https://bugs.webkit.org/show_bug.cgi?id=212647
<rdar://problem/63882960>
Reviewed by Eric Carlson.
Drive-by comment from Simon. Remove some useless braces.
* TestWebKitAPI/Tests/WebKitLegacy/ios/WebGLPrepareDisplayOnWebThread.mm:
2020-06-05 Saam Barati <sbarati@apple.com>
Try to reduce jetsams further on iOS devices running jsc stress tests
https://bugs.webkit.org/show_bug.cgi?id=212786
Reviewed by Mark Lam.
* Scripts/run-jsc-stress-tests:
2020-06-05 Peng Liu <peng.liu6@apple.com>
REGRESSION (r262456?): [macOS] media/picture-in-picture/picture-in-picture-api tests are flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=212762
Reviewed by Eric Carlson.
Skip the Picture-in-Picture test if Picture-in-Picture is not supported and add playsinline attribute
to the video element.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
(TEST):
2020-06-05 Andy Estes <aestes@apple.com>
[Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
https://bugs.webkit.org/show_bug.cgi?id=212541
<rdar://problem/63781452>
Reviewed by Darin Adler.
APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-06-05 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] MiniBrowser: use GAction API for actions and shortcuts in preparation for GTK4
https://bugs.webkit.org/show_bug.cgi?id=212740
Reviewed by Adrian Perez de Castro.
Make MiniBrowser a GtkApplication and BrowserWindow a GtkApplicationWindow to easily install actions and shortcuts.
* MiniBrowser/gtk/BrowserMain.c: Removed.
* MiniBrowser/gtk/BrowserMain.h: Removed.
* MiniBrowser/gtk/BrowserSearchBar.c:
(searchPreviousButtonCallback):
(searchNextButtonCallback):
* MiniBrowser/gtk/BrowserSearchBar.h:
* MiniBrowser/gtk/BrowserTab.c:
* MiniBrowser/gtk/BrowserTab.h:
* MiniBrowser/gtk/BrowserWindow.c:
(reloadOrStopCallback):
(goBackCallback):
(goForwardCallback):
(settingsCallback):
(browserWindowUpdateNavigationMenu):
(browserWindowTryCloseCurrentWebView):
(browserWindowTryClose):
(webViewCreate):
(browserWindowUpdateZoomActions):
(webViewZoomLevelChanged):
(zoomInCallback):
(zoomOutCallback):
(defaultZoomCallback):
(searchCallback):
(newTabCallback):
(toggleWebInspector):
(openPrivateWindow):
(focusLocationBar):
(reloadPage):
(reloadPageIgnoringCache):
(stopPageLoad):
(loadHomePage):
(toggleFullScreen):
(printPage):
(editingActionCallback):
(typingAttributesChanged):
(browserWindowFinalize):
(browserWindowSetupEditorToolbarItem):
(browserWindowSetupToolbarItem):
(browserWindowDeleteEvent):
(browser_window_new):
(browser_window_append_view):
(browser_window_get_or_create_web_view_for_automation):
(browser_window_create_web_view_in_new_tab_for_automation):
* MiniBrowser/gtk/BrowserWindow.h:
* MiniBrowser/gtk/CMakeLists.txt:
* MiniBrowser/gtk/main.c:
(createWebViewForAutomationInWindowCallback):
(createWebViewForAutomationInTabCallback):
(automationStartedCallback):
(startup):
(activate):
(main):
2020-06-04 Sihui Liu <sihui_liu@apple.com>
Text manipulation: first and last unit in a paragraph should not contain only excluded tokens
https://bugs.webkit.org/show_bug.cgi?id=212759
Reviewed by Wenson Hsieh.
Modify existing test for changed behavior that leading and trailing excluded units are not included in paragraph
now.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-04 Chris Dumez <cdumez@apple.com>
UIProcess may crash after its prewarmed WebProcess gets terminated
https://bugs.webkit.org/show_bug.cgi?id=212790
<rdar://problem/63696191>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:
(TEST):
2020-06-04 Sihui Liu <sihui_liu@apple.com>
REGRESSION: (r262398) Text manipulation crashes when content is added
https://bugs.webkit.org/show_bug.cgi?id=212785
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
Improve watchlist logic for comments on patches touching imported WPT tests.
https://bugs.webkit.org/show_bug.cgi?id=212597
Reviewed by Youenn Fablet.
On r262295 I added a watchlist comment for patches touching the imported WPT tests.
However, this is commenting on patches that are importing WPT tests.
To avoid this situations, this patch adds a new rule to detect if the changes modify
any of the w3c-import.log files, and then changes the logic to make the comment only
for patches that modify the WPT imported tests but not the w3c-import.log files.
In order to support this new logic, watchlist rule parsing is improved to support
the "and" and "not" operators. Previously it only supported the "or" operator.
* Scripts/webkitpy/common/config/watchlist:
* Scripts/webkitpy/common/watchlist/watchlistparser.py:
(WatchListParser._rule_definitions_as_set):
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:
(WatchListParserTest.test_cc_rule_with_undefined_defintion_with_suggestion):
(WatchListParserTest):
(WatchListParserTest.test_cc_rule_with_complex_logic):
* Scripts/webkitpy/common/watchlist/watchlistrule.py:
(WatchListRule.__init__):
(WatchListRule._match_test_definitions):
(WatchListRule.match):
* Scripts/webkitpy/common/watchlist/watchlistrule_unittest.py:
(WatchListRuleTest.test_complex_definition_or):
(WatchListRuleTest):
(WatchListRuleTest.test_complex_definition_and):
(WatchListRuleTest.test_complex_definition_not):
(WatchListRuleTest.test_complex_definition_combined):
2020-06-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
svn-apply command is too slow with big patches
https://bugs.webkit.org/show_bug.cgi?id=212766
Reviewed by Darin Adler.
The script svn-apply was calling a "git add" or "svn add" command
after adding each new file. This caused the git or svn command to
re-check the internal SCM database each time they were called, and
this was really slow when lot of new files are added.
Instead of doing this, we queue the list of new files in memory,
and at the end we call "git add" or "svn add" once (or a few times).
On top of that, another optimization is added for the case of git,
to avoid calling scmKnowsOfFile() inside addDirectoriesIfNeeded(),
which is a slow operation and gets called a lot (once per file).
Doing that for git is totally unneeded, as the only thing we have
to take care about, is of ensuring that the directory is created.
See: https://wkb.ug/86973
This reduces the time spent in the large test patch that caused
this issue (see bug):
- Git: 8 hours (before) -> 8 minutes (now).
- SVN: 25 minutes (before) -> 5 minutes (now).
* Scripts/svn-apply:
(addDirectoriesIfNeeded):
(handleBinaryChange):
(handleGitBinaryChange):
(patch):
(scmRemove):
(scmAddQueued):
(scmCommitQueueAdded):
(scmToggleExecutableBitQueued):
(scmCommitQueueToggledExecutableBit):
2020-06-04 Jonathan Bedard <jbedard@apple.com>
Add watchOS and tvOS to build-webkit
https://bugs.webkit.org/show_bug.cgi?id=212719
<rdar://problem/63951600>
Reviewed by Tim Horton.
* Scripts/build-webkit: Add tvOS and watchOS flags, generalize embedded if statements.
* Scripts/webkitdirs.pm:
(determineArchitecture): Add tvOS and watchOS architectures.
(argumentsForConfiguration): Add tvOS and watchOS flags.
(extractNonMacOSHostConfiguration): Ditto.
2020-06-04 Tim Horton <timothy_horton@apple.com>
Work around broken system version macro
https://bugs.webkit.org/show_bug.cgi?id=212726
Reviewed by Dan Bernstein.
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* ImageDiff/cg/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* WebEditingTester/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
2020-06-04 Andy Estes <aestes@apple.com>
[watchOS] Re-enable content filtering in the simulator build
https://bugs.webkit.org/show_bug.cgi?id=212711
<rdar://problem/63938350>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-06-04 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Update definitions
https://bugs.webkit.org/show_bug.cgi?id=212698
Reviewed by Žan Doberšek.
* buildstream/elements/freedesktop-sdk.bst: Update to FDO 19.08.11
* buildstream/elements/sdk/gtk.bst: Update GTK4
* buildstream/patches/fdo/0001-Pango-Bump-to-1.45-master.patch: Added. Needed for GTK4
* buildstream/patches/fdo/0001-Add-Jack.patch: Removed. This will be used when we update to the 20.08 FDO SDK.
* buildstream/patches/fdo/0001-components-xdg-desktop-portal.bst-Update-to-1.6.0.patch: Removed. Ditto.
* buildstream/patches/fdo/0002-Update-PipeWire-to-0.3.1.patch: Removed. Ditto.
2020-06-03 Tadeu Zagallo <tzagallo@apple.com>
Disable B3 hoistLoopInvariantValues by default
https://bugs.webkit.org/show_bug.cgi?id=212511
<rdar://problem/63813245>
Reviewed by Mark Lam.
Enable the B3 hoistLoopInvariantValues pass in one of our existing configurations to
avoid bit rot since we'd like to re-enable it eventually.
* Scripts/run-jsc-stress-tests:
2020-06-03 Wenson Hsieh <wenson_hsieh@apple.com>
[Text manipulation] Extract the value attribute in inputs of type "text" and "search"
https://bugs.webkit.org/show_bug.cgi?id=212706
<rdar://problem/63876969>
Reviewed by Tim Horton.
Add a new test case (similar to the existing test `StartTextManipulationExtractsValuesFromButtonInputs`) to
verify that we extract text from the `value` of inputs of type "text" and "search".
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-03 Michael Saboff <msaboff@apple.com>
[iOS] TestWTF.WTF_Lock.ContendedShortSection is consistently timing out on debug simulator builds
https://bugs.webkit.org/show_bug.cgi?id=211650
Reviewed by Saam Barati.
The prior change to disable this test for Debug actually enabled it
only for Debug IOS builds of any type, simulator or real HW.
This test has intermittently failed or timed out on Debug simulator
builds for for almost a year. We want to test Release builds as well as
hardware builds. Therefore we should disable Debug simulator builds,
and test all other variants.
* TestWebKitAPI/Tests/WTF/Lock.cpp:
2020-06-03 Wenson Hsieh <wenson_hsieh@apple.com>
dataTransfer.types is empty when handling the "dragstart" event
https://bugs.webkit.org/show_bug.cgi?id=212685
<rdar://problem/61368402>
Reviewed by Andy Estes.
Adds new API tests and test infrastructure to verify that DataTransfer types and data are accessible during
the "dragstart" event. See below for more details.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
(-[TestWKWebView selectElementWithID:]):
(-[DragAndDropSimulator dragFromElementWithID:to:]):
Add a few (very specialized) helper methods to assist with simulating drags over the various elements in the new
drag and drop test harness page below (dragstart-data.html).
(runDragStartDataTestCase):
Test the following scenarios (split between three API tests) by dumping the resulting DataTransfer types and
their data strings, and observing the results:
- Dragging a normal text selection.
- Dragging a normal text selection, and then adding a URL string.
- Dragging a normal text selection, and then adding a custom pasteboard type.
- Dragging a normal text selection, but then replacing the data with just a URL string.
- Dragging a normal text selection, but then replacing the data with just a custom data type.
- Dragging an image element.
- Dragging an image element, and then overriding the plain text data.
- Dragging a link (anchor element).
- Dragging a link, and then adding a custom type.
* TestWebKitAPI/Tests/WebKitCocoa/dragstart-data.html: Added.
Add a new test harness to help test DataTransfer types when starting a drag. This test page can also be used as
a manual test harness, by simply opening the test page, starting drags on the various elements and observing the
output in the textarea.
* TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html:
Tweak this test page to replace the DataTransfer with custom data (rather than simply append it) by calling
`DataTransfer.clearData()` prior to writing the custom types.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebViewHostWindow initWithWebView:contentRect:styleMask:backing:defer:]):
Add a `__weak` reference on TestWKWebViewHostWindow back to the TestWKWebView, so that we can consult
`-eventTimestamp` when synthesizing mouse events on macOS during API tests.
(-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:clickCount:]):
(-[TestWKWebViewHostWindow _mouseUpAtPoint:clickCount:]):
(-[TestWKWebViewHostWindow initWithWebView:frame:]):
(-[TestWKWebView _setUpTestWindow:]):
(-[TestWKWebView setEventTimestampOffset:]):
(-[TestWKWebView eventTimestamp]):
Add a mechanism to offset synthetic event timestamps by a given time interval (i.e. the event timestamp offset).
(-[TestWKWebView mouseMoveToPoint:withFlags:]):
(-[TestWKWebView _mouseEventWithType:atLocation:]):
(-[TestWKWebView typeCharacter:]):
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(-[DragAndDropSimulator runFrom:to:]):
While simulating drag and drop on macOS, use `-setEventTimestampOffset:` to "leap forward" in time, so that the
150 millisecond delay when dragging a text selection doesn't prevent drags from beginning.
2020-06-03 Sihui Liu <sihui_liu@apple.com>
Text manipulation sometimes fails to replace text in attributes
https://bugs.webkit.org/show_bug.cgi?id=212701
Reviewed by Wenson Hsieh.
Modify TextManipulation.CompleteTextManipulationShouldReplaceTextContentWithMultipleTokens to cover text
manipulation for attributes.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-03 Diego Pino Garcia <dpino@igalia.com>
[WPE] lint-test-expectations doesn't work when platform is WPE
https://bugs.webkit.org/show_bug.cgi?id=212700
Reviewed by Carlos Alberto Lopez Perez.
When passing arguments '--wpe' or '--platform=wpe*',
lint-test-expectations does nothing for WPE, despite currently
there are many lint errors in WPE's TestExpectations file.
As a side-effect of this patch, now `Tools/Scripts/webkit-path
rebaseline` lists the WPE Release and Debug bots.
* Scripts/webkitpy/port/builders.py: Add WPE to the list of
exact_matches and fuzzy_matches.
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
2020-06-03 Jonathan Bedard <jbedard@apple.com>
Allow using web processes for service workers even though they loaded about URLs (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=212464
Unreviewed build fix.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: didFinishNavigation is now used unconditionally.
2020-06-02 Keith Rollin <krollin@apple.com>
Revert FEATURES_DEFINES related changes
https://bugs.webkit.org/show_bug.cgi?id=212664
<rdar://problem/63893033>
Reviewed by Andy Estes.
Bug 262310, Bug 262311, Bug 262318, and Bug 262331 involve changes to
FEATURE_DEFINES and how the values there relate to those found in the
Platform*.h files. Those changes break XCBuild (by removing the
.xcfilelist related to UnifiedSources and the process for generating
them), and so are being reverted.
* Scripts/webkitperl/FeatureList.pm:
* Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
(WebCoreGenerator):
(WebCoreGenerator._get_generate_unified_sources_script):
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-06-02 Peng Liu <peng.liu6@apple.com>
Stressing webkitSetPresentationMode leads to wrong inline video dimensions
https://bugs.webkit.org/show_bug.cgi?id=202425
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
(TEST):
2020-06-02 Youenn Fablet <youenn@apple.com>
Allow using web processes for service workers even though they loaded about URLs
https://bugs.webkit.org/show_bug.cgi?id=212464
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2020-06-02 Diego Pino Garcia <dpino@igalia.com>
[buildbot] [GTK][WPE] Move JavaScript related tests to own bot
https://bugs.webkit.org/show_bug.cgi?id=212481
Reviewed by Carlos Alberto Lopez Perez.
Currently GTK and WPE tests bots run too many tests. This makes
the total running time for each build very long.
This patch moves JavaScript related tests (jscore-test and
test262-test) to a separated bot which will be triggered by the
corresponding build bot of each platform.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/factories.py:
(TestFactory.__init__):
(TestJSFactory):
(TestJSFactory.__init__):
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2020-06-02 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Make popup menus work
https://bugs.webkit.org/show_bug.cgi?id=211178
Reviewed by Adrian Perez de Castro.
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::dismissAllPopupMenus):
2020-06-02 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Make it possible to run layout tests
https://bugs.webkit.org/show_bug.cgi?id=212328
Reviewed by Carlos Alberto Lopez Perez.
Build WTR with GTK4.
* PlatformGTK.cmake:
* Scripts/webkitdirs.pm:
(builtDylibPathForName): Try with both 4 and 5 API versions.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::~PlatformWebView):
(WTR::PlatformWebView::setWindowIsKey):
(WTR::PlatformWebView::windowFrame):
(WTR::PlatformWebView::setWindowFrame):
(WTR::PlatformWebView::addToWindow):
(WTR::PlatformWebView::removeFromWindow):
(WTR::PlatformWebView::windowSnapshotImage):
(WTR::PlatformWebView::dismissAllPopupMenus):
* WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
(WTR::UIScriptControllerGtk::copyText):
2020-06-01 Noam Rosenthal <noam@webkit.org>
Make unicode-bidi:isolate the default for an element with a dir attribute (instead of unicode-bidi:embed)
https://bugs.webkit.org/show_bug.cgi?id=134630
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.mm:
(TEST):
Test was expecting unicode-bidi:embed, changed expectation.
2020-06-01 Sihui Liu <sihui_liu@apple.com>
TextManipulationController should put one Node in only one paragraph
https://bugs.webkit.org/show_bug.cgi?id=212548
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-06-01 Alex Christensen <achristensen@webkit.org>
Make CustomDisplayName and DefaultDisplayName API tests fail instead of timing out when something changes
https://bugs.webkit.org/show_bug.cgi?id=212480
This saves time when debugging and running all the tests.
* TestWebKitAPI/Tests/WebKitCocoa/DisplayName.mm:
(TestWebKitAPI::checkUntilDisplayNameIs):
2020-06-01 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Install and update don't provide any terminal output
https://bugs.webkit.org/show_bug.cgi?id=212579
Reviewed by Žan Doberšek.
The `show_output` option was removed from the process execution routines. We now assume the
output will be displayed, unless the call-site asks `gather_output`. This change makes
webkit-flatpak more chatty, which is nice during install/update operations.
* flatpak/flatpakutils.py:
(run_sanitized):
(FlatpakObject.flatpak):
(FlatpakPackage.install):
(FlatpakPackage.update):
(WebkitFlatpak.setup_builddir):
(WebkitFlatpak.run_in_sandbox):
2020-06-01 Chris Dumez <cdumez@apple.com>
ASSERTION FAILURE (r220931): !m_function in ~CompletionHandler() after switch tabs
https://bugs.webkit.org/show_bug.cgi?id=212537
<rdar://problem/63766838>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspension.mm: Added.
(TEST):
2020-06-01 Carlos Alberto Lopez Perez <clopez@igalia.com>
[EWS] Add a special case for running the layout test step without aborting in case of many failures for WPT tests
https://bugs.webkit.org/show_bug.cgi?id=212381
Reviewed by Jonathan Bedard.
Add a special case for patches uploaded by the bugzilla user that would be used
for prototyping a bot that helps automating the import of WPT tests. For patches
uploaded by this user don't pass the parameters that make the step abort early in
case of many errors, and only run the layout tests inside the WPT import directory.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests):
(RunWebKitTests.start):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(test_success):
(test_warnings):
(test_parse_results_json_regression):
(test_parse_results_json_flakes):
(test_parse_results_json_flakes_and_regressions):
(test_parse_results_json_with_newlines):
(test_unexpected_error):
(test_failure):
(test_success_wpt_import_bot):
(TestRunWebKitTestsWithoutPatch.test_success):
(TestRunWebKitTestsWithoutPatch.test_failure):
(TestRunWebKit1Tests.test_success):
(TestRunWebKit1Tests.test_failure):
2020-06-01 Sam Weinig <weinig@apple.com>
Extended Color: Replace Color constructors taking numeric values with type specific factory functions
https://bugs.webkit.org/show_bug.cgi?id=212576
Reviewed by Tim Horton.
Replaces all remaining implicit and explicit uses of the Color constructors taking numeric
values with explicit calls to makeSimpleColor/makeSimpleColorFromFloats/makeExtendedColor,
giving us a consistent way to create colors. Also addes use constexpr SimpleColors where possible.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeColor):
* TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestPDFDocument.mm:
(TestWebKitAPI::TestPDFPage::colorAtPoint const):
2020-05-31 Dean Jackson <dino@apple.com>
AutoTrader crashed while browsing search results
https://bugs.webkit.org/show_bug.cgi?id=212461
rdar://60733185
Reviewed by Sam Weinig.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitLegacy/ios/WebGLPrepareDisplayOnWebThread.mm: Added.
(-[WebGLPrepareDisplayOnWebThreadDelegate webViewDidFinishLoad:]):
(-[WebGLPrepareDisplayOnWebThreadDelegate webView:shouldStartLoadWithRequest:navigationType:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitLegacy/ios/webgl.html: Added.
2020-05-31 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK4 build with current GTK
* MiniBrowser/gtk/BrowserTab.c:
(audioMutedChanged):
2020-05-30 Sam Weinig <weinig@apple.com>
Extended Color: Additional color cleanups
https://bugs.webkit.org/show_bug.cgi?id=212567
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Update for rename from ExtendedColor::channels() to ExtendedColor::components()
2020-05-30 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] WebDriver: stop using GdkEvent API in preparation for GTK4
https://bugs.webkit.org/show_bug.cgi?id=212465
Reviewed by Adrian Perez de Castro.
Update to the new webkitWebViewBaseSynthesizeKeyEvent() API.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::keyDown):
2020-05-29 Alex Christensen <achristensen@webkit.org>
Use correct encoding when converting a WTF::URL to CFURLRef
https://bugs.webkit.org/show_bug.cgi?id=212486
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2020-05-29 Andy Estes <aestes@apple.com>
[Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
https://bugs.webkit.org/show_bug.cgi?id=212541
Reviewed by Darin Adler.
APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-05-29 Jan-Michael Brummer <jan.brummer@tabos.org>
[GTK][WPE] API for WebView audio mute support
https://bugs.webkit.org/show_bug.cgi?id=176119
Reviewed by Michael Catanzaro.
* MiniBrowser/gtk/BrowserTab.c:
(audioClicked):
(audioMutedChanged):
(browserTabConstructed):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewIsAudioMuted):
(beforeAll):
2020-05-29 Darin Adler <darin@apple.com>
Remove things from FeatureDefines.xcconfig that are covered by PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418
Rubber-stamped by Simon Fraser.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Add back ENABLE_CSS_CONIC_GRADIENTS,
removed by accident.
2020-05-29 Pavel <pavel.feldman@gmail.com>
[Win] Allow compiling with the TOUCH_EVENTS enabled
https://bugs.webkit.org/show_bug.cgi?id=212528
Reviewed by Fujii Hironori.
Aligning Win with GTK, adding missing EventSenderProxy stubs.
This allows compiling Win with TOUCH_EVENTS and unlocks event
injection / processing by the automation drivers
* WebKitTestRunner/win/EventSenderProxyWin.cpp:
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::setTouchModifier):
(WTR::EventSenderProxy::setTouchPointRadius):
(WTR::EventSenderProxy::touchStart):
(WTR::EventSenderProxy::touchMove):
(WTR::EventSenderProxy::touchEnd):
(WTR::EventSenderProxy::touchCancel):
(WTR::EventSenderProxy::clearTouchPoints):
(WTR::EventSenderProxy::releaseTouchPoint):
(WTR::EventSenderProxy::cancelTouchPoint):
2020-05-27 Darin Adler <darin@apple.com>
Remove things from FeatureDefines.xcconfig that are covered by PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418
Reviewed by Andy Estes.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed 83 of the 119 things
defined in this file. There are 36 more that are slightly more complex that we can
remove carefully later.
2020-05-29 Darin Adler <darin@apple.com>
Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
https://bugs.webkit.org/show_bug.cgi?id=212420
Reviewed by Andy Estes.
* Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
(WebCoreGenerator._get_generate_derived_sources_script): Removed the code
to generate UnifiedSources-output.xcfilelist.
2020-05-29 Keith Rollin <krollin@apple.com>
Revert switch to XCBuild
https://bugs.webkit.org/show_bug.cgi?id=212530
<rdar://problem/63764632>
Unreviewed build fix.
Bug 209890 enabled the use of XCBuild by default. Since then, some
build issues have shown up. While addressing them, temporarily turn
off the use of XCBuild by default.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* Scripts/build-webkit:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2020-05-29 Philippe Normand <pnormand@igalia.com>
[Flatpak][GStreamer] all commands, except webkit-build, fails if GST_BUILD_PATH is set
https://bugs.webkit.org/show_bug.cgi?id=212408
Reviewed by Žan Doberšek.
Don't run gst-env.py in the sandbox because that can lead to command-line options clashing
with build-webkit and other WebKit scripts. So instead we now parse the output of the
environment variables gst-build requires and we forward those to the sandbox.
* flatpak/flatpakutils.py:
(run_sanitized):
(check_flatpak):
(FlatpakObject.flatpak):
(WebkitFlatpak.execute_command):
(WebkitFlatpak.setup_gstbuild):
(WebkitFlatpak.run_in_sandbox):
(flatpak_run_sanitized): Deleted.
2020-05-29 Carlos Alberto Lopez Perez <clopez@igalia.com>
Add watchlist comment for patches touching imported WPT tests.
https://bugs.webkit.org/show_bug.cgi?id=212362
Reviewed by Youenn Fablet.
Add a watchlist trigger to comment on patches touching imported WPT tests
with a link to documentation about the export process.
* Scripts/webkitpy/common/config/watchlist:
2020-05-29 Lauro Moura <lmoura@igalia.com>
[Flatpak] Fix os.system return code for better signal handling.
Rubber-stamped by Philippe Normand.
The previous fix in r262270 correctly fixed the return code issue
but made signal handling pass through python. For example, when you
ctlr+C running MiniBrowser, you'd get a python stacktrace deep inside
subprocess.call.
So, revert back to os.system but fixing the return code.
* flatpak/webkit-bwrap:
2020-05-29 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Update OpenXR
https://bugs.webkit.org/show_bug.cgi?id=212518
Reviewed by Žan Doberšek.
Upstream now builds fine with GCC 9.3.0. Removing downstream patch.
* buildstream/elements/sdk/openxr.bst:
* buildstream/patches/openxr-0001-cmake-Check-for-C-17-and-conditionally-enable-it.patch: Removed.
2020-05-29 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r261812): editing/async-clipboard/clipboard-item-get-type-basic.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=212281
<rdar://problem/63554912>
Reviewed by Tim Horton.
On some shipping versions of iOS, returning `NO` from `-supportsImagePaste` still results in UIKit keyboard
code pinning temporary items to the general pasteboard, which increments the change count of the pasteboard.
If this happens in the middle of an attempt to read from the pasteboard, we end up falsely denying access to the
contents of the pasteboard, since we believe that the contents of the pasteboard have changed.
This has the potential to affect any test that attempts to read from the pasteboard on iOS, though the titular
layout test seems to trigger the bug more frequently than other tests.
This item pinning was added in support of being able to insert Memojis from the software keyboard, and works by
pretending to copy a temporary PNG image, asking the delegate whether it `-canPerformAction:withSender:`, and
then restoring the items previously on the pasteboard. To work around this in the test runner, we can simply
swizzle out `-[UIKeyboardImpl delegateSupportsImagePaste]` to always return `NO`, which has the same effect as
disabling the Memoji keyboard.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/ios/TestControllerIOS.mm:
(overrideKeyboardDelegateSupportsImagePaste):
(WTR::TestController::platformResetStateToConsistentValues):
2020-05-28 Myles C. Maxfield <mmaxfield@apple.com>
Make fast/text/user-installed-fonts/extended-character.html more robust
https://bugs.webkit.org/show_bug.cgi?id=212487
<rdar://problem/63235370>
Unreviewed.
Update the font to use the new character.
* WebKitTestRunner/fonts/FakeHelvetica-SingleExtendedCharacter.ttf:
2020-05-28 Lauro Moura <lmoura@igalia.com>
[Flatpak] Use subprocess.call instead of os.system to forward the return code correctly.
os.system reports error codes from the child process like wait(),
which seems to not be playing well with flatpak/bwrap.
This was causing flatpak to return 0 to some failed commands (like
build-webkit), making failures show as successes in the bots.
Unreviewed build fix.
* flatpak/webkit-bwrap:
2020-05-28 Tim Horton <timothy_horton@apple.com>
makeValueRefForValue should be robust against the type encoding of a NSNumber backed by a boolean
https://bugs.webkit.org/show_bug.cgi?id=212456
Reviewed by Anders Carlsson.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::makeValueRefForValue):
Apply the fix from r260515 to this second copy of the code too.
2020-05-27 Saam Barati <sbarati@apple.com>
revert logging for detecting failures in run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=212447
Reviewed by Alexey Proskuryakov.
* Scripts/run-jsc-stress-tests:
2020-05-27 Tim Horton <timothy_horton@apple.com>
REGRESSION (PSON): Resizing WKWebView during cross-site navigation results in the page laying out at the wrong size
https://bugs.webkit.org/show_bug.cgi?id=212434
<rdar://problem/51621621>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
Add a test ensuring that we correctly update the view size if it changes
during the provisional phase of the navigation.
2020-05-27 Lauro Moura <lmoura@igalia.com>
Unreviewed. A couple transformations missing from r262214.
Was making fast/events/touch/tap-highlight-color.html to fail.
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::EventSenderProxy::keyDown):
(WTR::EventSenderProxy::addTouchPoint):
2020-05-27 Kenneth Russell <kbr@chromium.org>
Update MobileMiniBrowser project settings to current Xcode
https://bugs.webkit.org/show_bug.cgi?id=212428
Reviewed by Dean Jackson.
Apply suggestions from Dean to automatically switch between the
internal and public SDKs.
* MobileMiniBrowser/Configurations/Base.xcconfig:
2020-05-27 Lauro Moura <lmoura@igalia.com>
[WPE] Avoid possible WTR event timing going back in time and fix conversion from s to ms
https://bugs.webkit.org/show_bug.cgi?id=212338
Reviewed by Michael Catanzaro.
Make sure we cast the double m_time timestamp from seconds to uint32_t
milliseconds expected by WPE input events.
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::secToMsTimestamp):
(WTR::EventSenderProxy::EventSenderProxy): Use monotonic time instead
of zero as the time origin. This is used only in a relative manner,
and we need monotonic behavior so conversion to DOM event timestamps
makes sense.
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::prepareAndDispatchTouchEvent):
(WTR::EventSenderProxy::releaseTouchPoint):
2020-05-27 Kate Cheney <katherine_cheney@apple.com>
Make sure bundle identifier testing override is set in the network process
https://bugs.webkit.org/show_bug.cgi?id=212288
<rdar://problem/63539061>
Reviewed by Chris Dumez.
Set the bundle identifier in the network process if a layout test
updates it. This value usually only gets updated when a new network
process is initialized, which does not happen for every test. So it
should be set/cleared as needed.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::updateBundleIdentifierInNetworkProcess):
* WebKitTestRunner/TestController.h:
2020-05-27 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Support reading "image/png" on ClipboardItem
https://bugs.webkit.org/show_bug.cgi?id=212339
<rdar://problem/63588957>
Reviewed by Tim Horton.
Add a new API test to verify that TIFF images on the system pasteboard on macOS are automatically converted to
PNG data, and is accessible through `ClipboardItem` through the "image/png" type.
* TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm:
2020-05-27 Per Arne Vollan <pvollan@apple.com>
Unreviewed, reverting r260840.
This patch is no longer needed after preferences root cause
has been fixed.
Reverted changeset:
"[Cocoa] Global preferences are not accessible in the
WebContent process when CFPrefs direct mode is enabled"
https://bugs.webkit.org/show_bug.cgi?id=211075
https://trac.webkit.org/changeset/260840
2020-05-27 Devin Rousso <drousso@apple.com>
Web Inspector: replace `featureGuard` and `availability` with a combined `condition` that accepts any macro
https://bugs.webkit.org/show_bug.cgi?id=210014
Reviewed by Brian Burg.
Previously, the generated InspectorBackendCommands.js would include code for things that the
backend doesn't actually support. By using actual macros and preprocessing that file, we can
ensure that the frontend doesn't incorrectly think that something is supported by the page
being inspected:
- the `Canvas` commands and events related to shader programs/pipelines should only exist
when the corresponding context type exists, namely `ENABLE(WEBGL)` and `ENABLE(WEBGPU)`.
- iOS doesn't support showing rulers, so create a variant of `DOM.setInspectModeEnabled`
that only exists for `PLATFORM(IOS_FAMILY)` that doesn't have the `showRulers` optional
parameter, as well as removing `Page.setShowRulers` entirely.
- setting the forced appearance should only be possible if dark mode is supported.
- web archives only exist if CF is used.
* Configurations/FeatureDefines.xcconfig:
Add `ENABLE_WEB_ARCHIVE` since it's always enabled in wtf/PlatformEnableCocoa.h.
* Scripts/webkitpy/inspector/main.py:
(InspectorGeneratorTests.generate_from_json):
(InspectorGeneratorTests.run_tests):
(InspectorGeneratorTests.main):
2020-05-27 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Update openxr recipe
https://bugs.webkit.org/show_bug.cgi?id=212403
Reviewed by Sergio Villar Senin.
* buildstream/elements/sdk/openxr.bst: Explicitely list dependencies and bump to latest git master.
2020-05-27 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WTR] EventSender: stop using GdkEvent API in preparation for GTK4
https://bugs.webkit.org/show_bug.cgi?id=212298
Reviewed by Adrian Perez de Castro.
Use WebKitWebViewBase internal API to synthesize events instead of GdkEvents. The touch events support has been
removed because we are no longer testing touch events, since they need an actual touchscreen.
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::getGDKKeySymForKeyRef):
(WTR::toWebKitGLibAPI):
(WTR::EventSenderProxy::keyDown):
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::continuousMouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
(WTR::EventSenderProxy::leapForward):
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::touchStart):
(WTR::EventSenderProxy::touchMove):
(WTR::EventSenderProxy::touchEnd):
(WTR::EventSenderProxy::touchCancel):
(WTR::EventSenderProxy::clearTouchPoints):
(WTR::EventSenderProxy::releaseTouchPoint):
(WTR::EventSenderProxy::cancelTouchPoint):
(WTR::EventSenderProxy::setTouchPointRadius):
(WTR::EventSenderProxy::setTouchModifier):
2020-05-26 Alex Christensen <achristensen@webkit.org>
UTF-8 encode strings of invalid URLs when converting WTF::URL to NSURL instead of truncating the UTF-16 encoding
https://bugs.webkit.org/show_bug.cgi?id=212393
<rdar://problem/63095503>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2020-05-26 Mark Lam <mark.lam@apple.com>
Enhance Bitmap::setEachNthBit() to also take an end index.
https://bugs.webkit.org/show_bug.cgi?id=212386
<rdar://problem/63643324>
Reviewed by Robin Morisset.
* TestWebKitAPI/Tests/WTF/Bitmap.cpp:
(TestWebKitAPI::testBitmapSetEachNthBitImpl):
2020-05-26 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][WK2] Use GraphicsLayerTextureMapper for Accelerated Compositing mode
https://bugs.webkit.org/show_bug.cgi?id=211883
Reviewed by Don Olmstead.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::setPreference): Call WKPreferencesSet* for
menu items IDM_ACC_COMPOSITING, IDM_COMPOSITING_BORDERS and
IDM_DEBUG_INFO_LAYER.
2020-05-26 Sam Weinig <weinig@apple.com>
Extended Color Cleanup: Remove red()/green()/blue() accessors from ExtendedColor in preperation for supporting non-RGB based ColorSpaces
https://bugs.webkit.org/show_bug.cgi?id=212366
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
Update tests to pull values from the channels rather than from the red()/green()/blue() accessors.
2020-05-26 Peng Liu <peng.liu6@apple.com>
ASSERTION FAILED: m_clientCounts.contains(contextId) - WebKit::VideoFullscreenManagerProxy::removeClientForContext()
https://bugs.webkit.org/show_bug.cgi?id=212308
Disable TestWebKitAPI.PictureInPicture.ExitPiPOnSuspendVideoElement for old iOS versions
due to an issue of AVKit.
In addition, don't run the test if Picture-in-Picture is not supported.
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/ExitPiPOnSuspendVideoElement.mm:
(TestWebKitAPI::TEST):
2020-05-26 Keith Rollin <krollin@apple.com>
Enable the use of XCBuild by default in Apple builds
https://bugs.webkit.org/show_bug.cgi?id=209890
<rdar://problem/44182078>
Reviewed by Darin Adler.
Switch from the "legacy" Xcode build system to the "new" build system
(also known as "XCBuild"). Switching to the new system speeds up
builds by a small percentage, better validates projects for
build-related issues (such as dependency cycles), lets WebKit benefit
from future improvements in XCBuild such as those coming from the
underlying llbuild open source project, and prepares us for any other
tools built for this new ecosystem.
Specific changes:
- Remove Xcode project and workspace settings that selected the Build
system, allowing the default to take hold (which is currently the
New build system).
- Updated webkitdirs.pm with a terser check for Xcode version.
- Update build-webkit and Makefile.shared to be explicit when using
the old build system (no longer treat it as a default or fall-back
configuration).
- Update various xcconfig files similarly to treat the default as
using the new build system.
- Update various post-processing build steps to check for Xcode 11.4
and to no longer treat the default as using the old build system.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(canUseXCBuild):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2020-05-26 Jonathan Bedard <jbedard@apple.com>
webkitpy: simctl list may have stderr logging
https://bugs.webkit.org/show_bug.cgi?id=212376
<rdar://problem/63517635>
Unreviewed infrastructure fix.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.populate_available_devices): Only parse stdout, log error when
json decoding fails.
(SimulatedDevice.is_usable): Only parse stdout.
(SimulatedDevice.launch_app): Ditto.
2020-05-25 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] ActionSheetTests.DataDetectorsLinkIsNotPresentedAsALink is failing consistently
https://bugs.webkit.org/show_bug.cgi?id=212363
<rdar://problem/63508866>
Reviewed by Tim Horton.
This test began to consistently throw an exception after <https://trac.webkit.org/r261157>, due to how
UserInterfaceSwizzler always instantiates the shared UIApplication. This apparently causes -[WKContentView
resizableSnapshotViewFromRect:afterScreenUpdates:withCapInsets:] to return `nil` instead of a replica view. As a
result, we crash under `createFallbackTargetedPreview` as we're attempting to assemble a targeted preview for
the context menu interaction.
Since this seems to only affect this particular API test, work around it by swizzling out
`-resizableSnapshotViewFromRect:afterScreenUpdates:withCapInsets:` in this API test to return a non-null UIView.
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
(TestWebKitAPI::swizzledResizableSnapshotViewFromRect):
(TestWebKitAPI::TEST):
2020-05-24 Sam Weinig <weinig@apple.com>
Extended Color Cleanup: Use the name SimpleColor consistently
https://bugs.webkit.org/show_bug.cgi?id=212337
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Update test for rename of makeRGBAFromHSLA to makeSimpleColorFromHSLA.
2020-05-25 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
[Flatpak][GStreamer] compilation fails when GST_BUILD_PATH is defined
https://bugs.webkit.org/show_bug.cgi?id=212343
Reviewed by Philippe Normand.
Flatpak's command has to be expressed before gst-env declaration.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-05-25 Adrian Perez de Castro <aperez@igalia.com>
[WPE][WKTR] Fix typo in EventSenderProxyWPE
https://bugs.webkit.org/show_bug.cgi?id=212340
Reviewed by Carlos Garcia Campos.
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::wpeKeySymForKeyRef): Fix typo rightArror -> rightArrow.
2020-05-25 Philippe Normand <pnormand@igalia.com>
REGRESSION(r262057): [Flatpak SDK] sccache-dist server no longer starting
https://bugs.webkit.org/show_bug.cgi?id=212326
Reviewed by Žan Doberšek.
A few mount points were missing in the sandbox created by
`flatpak run` preventing the sccache-dist server to start and keep running.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap:
2020-05-25 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Fixup icecc support
https://bugs.webkit.org/show_bug.cgi?id=212301
Reviewed by Žan Doberšek.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Allow homedir access from the
sandbox, this is needed because the icecc toolchains paths refer
to the host environment, not the sandbox.
(WebkitFlatpak.pack_toolchain): Fix byte-string formatting issue, happening in Python3.
2020-05-25 Philippe Normand <pnormand@igalia.com>
[GTK4] SDK contains too old GTK4
https://bugs.webkit.org/show_bug.cgi?id=212334
Reviewed by Adrian Perez de Castro.
* buildstream/elements/sdk/gtk.bst: Update GTK4 to 3.98.4.
2020-05-24 Sam Weinig <weinig@apple.com>
Extended Color Cleanup: Stop allowing direct access to the underlying SimpleColor (it is almost always incorrect with respect to extended colors)
https://bugs.webkit.org/show_bug.cgi?id=212184
Reviewed by Dean Jackson.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Use toSRGBASimpleColorLossy() to get access to color components.
2020-05-22 Alex Christensen <achristensen@webkit.org>
Make download resume workaround forgiving of changes in CFNetwork
https://bugs.webkit.org/show_bug.cgi?id=212273
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
2020-05-22 Paulo Matos <pmatos@igalia.com>
Add support for [no-]use-ccache option in build-jsc
https://bugs.webkit.org/show_bug.cgi?id=212259
Reviewed by Mark Lam.
* Scripts/build-jsc:
2020-05-22 Alex Christensen <achristensen@webkit.org>
Add SPI to unblock third party cookies from WKWebViews with ResourceLoadStatistics turned on
https://bugs.webkit.org/show_bug.cgi?id=212058
<rdar://problem/60595539>
Reviewed by John Wilander.
I also add _test_waitForAlert to make tests less verbose.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::Connection::Connection):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::HTTPServer):
(TestWebKitAPI::dataFromString):
(TestWebKitAPI::nullTerminatedRequest):
(TestWebKitAPI::HTTPServer::request const):
(TestWebKitAPI::Connection::receive const):
(TestWebKitAPI::Connection::send const):
* TestWebKitAPI/cocoa/TestUIDelegate.h:
* TestWebKitAPI/cocoa/TestUIDelegate.mm:
(-[WKWebView _test_waitForAlert]):
2020-05-22 Chris Dumez <cdumez@apple.com>
[WKTR] Make TestController::resetStateToConsistentValues() more robust against failures to navigate to about:blank
https://bugs.webkit.org/show_bug.cgi?id=212268
<rdar://problem/63493074>
Reviewed by Geoffrey Garen.
Make TestController::resetStateToConsistentValues() more robust against failures to navigate to about:blank.
In <rdar://problem/63493074>, we have evidence that TestController::resetStateToConsistentValues() sometimes
fails to load about:blank, likely due to an unresponsive WebProcess. When this happens, WebKitTestRunner
reports the test as timing out and logs this on stderr:
"""
<unknown> - TestController::run - Failed to reset state to consistent values
#PROCESS UNRESPONSIVE - com.apple.WebKit.WebContent.Development (pid 57421)
"""
This is unfortunate because this does not indicate that anything is particularly wrong with the test in
question. Rather, it indicates that the WebProcess is unresponsive (likely due to a hang caused by a
previous test), which prevents WebKitTestRunner to reset the state in order to run the test.
I propose that if we fail to load about:blank once, we log an error message to stderr but then terminate
the WebProcess and try once again, to make WebKitTestRunner more robust.
I have verified the change locally, by injecting a script in resetStateToConsistentValues() that causes
a WebProcess hang. Before my change, the test would time out and the same logging as in
<rdar://problem/63493074> would show. After my change though, the test would pass successfully despite the
WebProcess hang.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2020-05-22 ChangSeok Oh <changseok@webkit.org>
[GTK] jhbuild is broken with GCC 10.0
https://bugs.webkit.org/show_bug.cgi?id=212256
Reviewed by Carlos Alberto Lopez Perez.
GCC 10.0 enables -fno-common as default, so many 'multiple definitions' failures occur
in building dependencies via jhbuild. This patch addresses them by back-porting patches
from corresponding source repositories.
* gstreamer/jhbuild.modules:
* gstreamer/patches/libsrtp-Fix-building-with-gcc-10.patch: Added.
* gstreamer/patches/orc-satisfy-fno-common-under-gcc10.patch: Added.
* gtk/jhbuild.modules:
* gtk/patches/at-spi2-atk-tests-Replace-common-variable-with-usual-external.patch: Added.
* gtk/patches/at-spi2-atk-tests-fix-child_pid-reference.patch: Added.
* gtk/patches/mesa-gallium-build-fix-to-make-gcc-10-happy.patch: Added.
* gtk/patches/xserver-Fix-building-with-fno-common.patch: Added.
2020-05-22 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add bubblewrap ... wrapper
https://bugs.webkit.org/show_bug.cgi?id=212077
Reviewed by Carlos Alberto Lopez Perez.
The bind-mounts are now handled through webkit-bwrap.
* flatpak/flatpakutils.py:
(WebkitFlatpak.execute_command):
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap: Added.
2020-05-22 Javier Fernandez <jfernandez@igalia.com>
[Flatpak SDK] CCACHE_ env vars are not forwarded to the sandbox environment
https://bugs.webkit.org/show_bug.cgi?id=212257
Reviewed by Philippe Normand.
Added the "CCACHE" prefix to the ones the SDK should keep from the
user's environment, and forwarded to the Flatpak sandbox.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-05-22 Tim Horton <timothy_horton@apple.com>
iOS: Pressing tab in the Mail subject field moves focus to the body, but pressing shift tab doesn't move it back
https://bugs.webkit.org/show_bug.cgi?id=212243
<rdar://problem/59127764>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[FocusDelegate _webView:takeFocus:]):
(-[FocusDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2020-05-21 Wenson Hsieh <wenson_hsieh@apple.com>
DataTransfer.files contains multiple files when pasting a single image with multiple representations
https://bugs.webkit.org/show_bug.cgi?id=212245
<rdar://problem/60240436>
Reviewed by Tim Horton.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
(-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
(-[LocalPasteboard writeObjects:]):
(-[LocalPasteboard pasteboardItems]):
Adjust DumpRenderTree's LocalPasteboard so that it lazily populates the pasteboard when constructing
NSPasteboardItems. To do this, we need to make a few adjustments:
1. When reifying NSPasteboardItems from LocalPasteboard, ask the owner (WebHTMLView) to provide pasteboard
data for each pasteboard type that was promised by WebKit, but was not eagerly written to the pasteboard.
2. Cache pasteboard items that were created, so that we don't repeatedly ask WebHTMLView to provide
pasteboard data. WebHTMLView doesn't currently support this, and suffers from a bug where TIFF data may
only be provided once. This was fixed for WebKit2, but not for WebKit1.
3. Maintain a separate hash list of original pasteboard types (which may not be UTIs) that were handed to
LocalPasteboard by WebKit. We use these original types in step (1).
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
Add a new API test to verify that one file is exposed via the DataTranfer when the pasteboard contains a single
image with two image representations, but two files are exposed when the pasteboard contains two images, each
with a single representation.
(writeImageDataToPasteboard):
Overload this helper method with two additional variants: one that takes a dictionary of pasteboard types to
data, and another that takes an array of dictionaries, each representing a single item's types and data.
2020-05-21 Robin Morisset <rmorisset@apple.com>
Various compile-time boolean flags could/should be marked constexpr
https://bugs.webkit.org/show_bug.cgi?id=212244
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/Condition.cpp:
2020-05-21 Mark Lam <mark.lam@apple.com>
Rename some variables in Bitmap API test for consistency and better readability.
https://bugs.webkit.org/show_bug.cgi?id=212235
Reviewed by Saam Barati.
This patch renames the following:
bitmap0 => bitmapZeroes
bitmapFilled => bitmapOnes
bitmap3 => bitmap2Clone
bitmapSmallZeroed => smallBitmapZeroes
bitmapSmallFilled => smallBitmapOnes
bitmapSmall1 => smallBitmap1
bitmapSmall2 => smallBitmap2
Apart from these renamings, there are no other code changes.
* TestWebKitAPI/Tests/WTF/Bitmap.cpp:
(TestWebKitAPI::testBitmapSize):
(TestWebKitAPI::testBitmapConstructedEmpty):
(TestWebKitAPI::testBitmapSetGet):
(TestWebKitAPI::testBitmapTestAndSet):
(TestWebKitAPI::testBitmapTestAndClear):
(TestWebKitAPI::testBitmapConcurrentTestAndSet):
(TestWebKitAPI::testBitmapConcurrentTestAndClear):
(TestWebKitAPI::testBitmapClear):
(TestWebKitAPI::testBitmapClearAll):
(TestWebKitAPI::testBitmapInvert):
(TestWebKitAPI::testBitmapFindRunOfZeros):
(TestWebKitAPI::testBitmapCount):
(TestWebKitAPI::testBitmapIsEmpty):
(TestWebKitAPI::testBitmapIsFull):
(TestWebKitAPI::testBitmapMerge):
(TestWebKitAPI::testBitmapFilter):
(TestWebKitAPI::testBitmapExclude):
(TestWebKitAPI::testBitmapConcurrentFilter):
(TestWebKitAPI::testBitmapSubsumes):
(TestWebKitAPI::testBitmapForEachSetBit):
(TestWebKitAPI::testBitmapFindBit):
(TestWebKitAPI::testBitmapIteration):
(TestWebKitAPI::testBitmapMergeAndClear):
(TestWebKitAPI::testBitmapSetAndClear):
(TestWebKitAPI::testBitmapSetEachNthBit):
(TestWebKitAPI::testBitmapOperatorEqual):
(TestWebKitAPI::testBitmapOperatorNotEqual):
(TestWebKitAPI::testBitmapOperatorAssignment):
(TestWebKitAPI::testBitmapOperatorBitOrAssignment):
(TestWebKitAPI::testBitmapOperatorBitAndAssignment):
(TestWebKitAPI::testBitmapOperatorBitXorAssignment):
(TestWebKitAPI::testBitmapHash):
2020-05-20 Mark Lam <mark.lam@apple.com>
Add more Bitmap methods.
https://bugs.webkit.org/show_bug.cgi?id=212190
<rdar://problem/63481333>
Reviewed by Robin Morisset.
Added test coverage for the new WTF::Bitmap methods.
* TestWebKitAPI/Tests/WTF/Bitmap.cpp:
(TestWebKitAPI::testBitmapSetEachNthBit):
(TestWebKitAPI::testBitmapOperatorAssignment):
(TestWebKitAPI::testBitmapOperatorBitOrAssignment):
(TestWebKitAPI::testBitmapOperatorBitAndAssignment):
(TestWebKitAPI::testBitmapOperatorBitXorAssignment):
(TestWebKitAPI::TEST):
2020-05-21 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Add minimal WKView API to enable TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=211868
Reviewed by Alex Christensen.
Enable TestWebKitAPI
* TestWebKitAPI/PlatformPlayStation.cmake:
* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/playstation/PlatformUtilitiesPlayStation.cpp:
(TestWebKitAPI::Util::createInjectedBundlePath):
(TestWebKitAPI::Util::createURLForResource):
* TestWebKitAPI/playstation/PlatformWebViewPlayStation.cpp:
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
(TestWebKitAPI::PlatformWebView::initialize):
(TestWebKitAPI::PlatformWebView::resizeTo):
(TestWebKitAPI::PlatformWebView::page const):
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
(TestWebKitAPI::PlatformWebView::simulateRightClick):
(TestWebKitAPI::PlatformWebView::simulateButtonClick):
* TestWebKitAPI/playstation/main.cpp:
(loadLibraryOrExit):
(main):
Add PlayStation Platform support.
* TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
(TestWebKitAPI::TEST):
Use the same expected default font preferences as GTK's.
2020-05-21 Alex Christensen <achristensen@webkit.org>
[macOS] TestWebKitAPI.WebKit.HTTPReferer is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=212180
Reviewed by Darin Adler.
Sometimes an HTTP request takes more than one call to nw_connection_receive to receive entirely.
Add a new abstraction Connection that wraps an nw_connection_t and knows how to read an entire request.
Use strnstr instead of null terminating and using strstr.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerTCPServer.h:
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::Connection::receiveHTTPRequest):
(TestWebKitAPI::Connection::Connection):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::HTTPServer):
(TestWebKitAPI::dataFromString):
(TestWebKitAPI::vectorFromData):
(TestWebKitAPI::HTTPServer::respondToRequests):
(TestWebKitAPI::HTTPServer::request const):
(TestWebKitAPI::Connection::receiveHTTPRequest const):
(TestWebKitAPI::Connection::send const):
(TestWebKitAPI::Connection::terminate const):
(TestWebKitAPI::nullTerminatedRequest): Deleted.
2020-05-21 Enrique Ocaña González <eocanha@igalia.com>
[GStreamer][GTK][WPE] Expose and honor the media content types requiring hardware support setting
https://bugs.webkit.org/show_bug.cgi?id=211950
Reviewed by Adrian Perez de Castro.
Exercise the new mediaContentTypesRequiringHardwareSupport setting.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2020-05-20 Simon Fraser <simon.fraser@apple.com>
[macOS] Scrolling synchronization part 1: Have the scrolling thread wait half a frame for the main thread to complete the rendering update
https://bugs.webkit.org/show_bug.cgi?id=212168
Reviewed by Tim Horton.
Some new trace points for scrolling thread activity.
* Tracing/SystemTracePoints.plist:
2020-05-20 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Layout tests in editing/pasteboard sporadically crash
https://bugs.webkit.org/show_bug.cgi?id=212169
<rdar://problem/63361966>
Reviewed by Tim Horton.
Add some missing entitlements.
* TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
* WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
2020-05-20 Sam Weinig <weinig@apple.com>
Replace Color::getHSL() with sRGBToHSL to ensure it at least gives somewhat sensible results for ExtendedColors and reduce code duplication
https://bugs.webkit.org/show_bug.cgi?id=212143
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
(TestWebKitAPI::TEST):
Update tests to use sRGBToHSL instead of Color::getHSL() and add testing of WebCore::lightness() and
round tripping. Update results for hue to be 0->1 rather than 0->6 which allows the round tripping to succeed.
2020-05-20 ChangSeok Oh <changseok@webkit.org>
[GTK] Implement connected and disconnected events of GAMEPAD API with libmanette
https://bugs.webkit.org/show_bug.cgi?id=133854
Reviewed by Carlos Garcia Campos.
This patch brings initial GAMEPAD API support to the gtk port. We use libmanette,
a simple GObject game controller library to handle gamepad connection and input.
In particular, we use libmanette-0.2.4 which is the latest version and minimum
version to build in c++.
* gtk/jhbuild.modules:
2020-05-20 Kate Cheney <katherine_cheney@apple.com>
Support operating dates in ResourceLoadStatisticsDatabaseStore
https://bugs.webkit.org/show_bug.cgi?id=212034
<rdar://problem/63349242>
Reviewed by Brent Fulgham.
Add a testing function to insert an expired statistic.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsExpiredStatistic):
(WTR::TestRunner::statisticsCallDidSetExpiredStatisticCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsExpiredStatistic):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didSetExpiredStatistic):
* WebKitTestRunner/TestInvocation.h:
2020-05-20 Chris Dumez <cdumez@apple.com>
Deprecate WKBundlePageSetPolicyClient() Injected bundle C API
https://bugs.webkit.org/show_bug.cgi?id=212166
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsInvalidScheme_Bundle.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
2020-05-20 Myles C. Maxfield <mmaxfield@apple.com>
[iPadOS] -webkit-text-size-adjust:percentage doesn't work in native apps
https://bugs.webkit.org/show_bug.cgi?id=212122
<rdar://problem/54560875>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/idempotent-mode-autosizing-only-honors-percentages.html: Added.
* TestWebKitAPI/ios/PreferredContentMode.mm:
2020-05-20 Lauro Moura <lmoura@igalia.com>
[WPE][WebDriver] Allow subviews to create new views
https://bugs.webkit.org/show_bug.cgi?id=212118
Reviewed by Carlos Garcia Campos.
Required by some WebDriver tests.
* MiniBrowser/wpe/main.cpp:
(createWebView):
2020-05-20 Philippe Normand <pnormand@igalia.com>
[FlatPak SDK] Missing ruby gems json and highline
https://bugs.webkit.org/show_bug.cgi?id=212086
Reviewed by Žan Doberšek.
Add the json and highline Ruby gems in the Flatpak SDK.
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk/ruby-highline.bst: Added.
* buildstream/elements/sdk/ruby-json.bst: Added.
* buildstream/project.conf:
2020-05-20 Diego Pino Garcia <dpino@igalia.com>
Unreviewed, reverting r261909.
Execution of LayoutTests returns syntax error in the bots (GTK, WPE)
Reverted changeset:
"[Flatpak SDK] Add bubblewrap ... wrapper"
https://bugs.webkit.org/show_bug.cgi?id=212077
https://trac.webkit.org/changeset/261909
2020-05-20 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Bump rr and bst
https://bugs.webkit.org/show_bug.cgi?id=212074
Reviewed by Adrian Perez de Castro.
Update Buildstream to 1.4.3 which is their latest stable release. Also bump rr to their
latest git master commit, which makes it usable in the Flatpak sandbox.
* buildstream/Pipfile:
* buildstream/Pipfile.lock:
* buildstream/elements/sdk/rr.bst:
2020-05-20 Carlos Alberto Lopez Perez <clopez@igalia.com>
update-test-expectations-from-bugzilla tool not working with new EWS
https://bugs.webkit.org/show_bug.cgi?id=210975
Reviewed by Youenn Fablet.
With the new EWS, the layout test archive results are not longer
posted to bugzilla as attachment. Now we need to inspect the EWS
server to get the status of the runs for the patch id, and then
query the EWS builbot server in order to get the details of each
run to finally obtain the URL with the zip file for the results.
The tool now automatically applies platform-specific and generic
results automatically (its not longer needed to specify whether
the result its generic or not). It uses mac-wk2 results as generic.
Also now it updates the test results for tests where the result
is MISSING.
* Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py:
(configure_logging):
(argument_parser):
(TestExpectationUpdater.__init__):
(TestExpectationUpdater._platform_name):
(TestExpectationUpdater):
(TestExpectationUpdater._get_layout_tests_run):
(TestExpectationUpdater._lookup_ews_results):
(TestExpectationUpdater._tests_to_update):
(TestExpectationUpdater._update_for_generic_bot):
(TestExpectationUpdater._update_for_platform_specific_bot):
(TestExpectationUpdater.do_update):
(main):
* Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py:
(MockAttachment.__init__):
(MockAttachment.is_patch):
(MockAttachment):
(MockAttachment.is_obsolete):
(MockBugzilla):
(MockBugzilla.attachments):
(MockRequests):
(MockRequests.__init__):
(MockRequests.get):
(MockRequests.content):
(MockRequests.text):
(MockZip.__init__):
(TestExpectationUpdaterTest.test_update_test_expectations):
2020-05-20 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK4 build with GTK 3.98.4
* MiniBrowser/gtk/BrowserTab.c:
(loadChanged):
(browserTabConstructed):
* MiniBrowser/gtk/BrowserWindow.c:
(webViewClose):
(browserWindowSetupToolbarItem):
(browser_window_init):
2020-05-20 Sam Weinig <weinig@apple.com>
Remove unused Color::getHSV function
https://bugs.webkit.org/show_bug.cgi?id=212119
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
Remove tests for Color::getHSV().
2020-05-20 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Add bubblewrap ... wrapper
https://bugs.webkit.org/show_bug.cgi?id=212077
Reviewed by Carlos Alberto Lopez Perez.
The bind-mounts are now handled through webkit-bwrap.
* flatpak/flatpakutils.py:
(WebkitFlatpak.execute_command):
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap: Added.
2020-05-19 Darin Adler <darin@apple.com>
REGRESSION (r259930): Dictation marker at start of text is removed when added trailing whitespace is collapsed
https://bugs.webkit.org/show_bug.cgi?id=212093
Reviewed by Daniel Bates.
* TestWebKitAPI/Tests/WebKitCocoa/InsertTextAlternatives.mm:
(TestWebKitAPI::TEST): Expect success rather than failure.
2020-05-19 Alex Christensen <achristensen@webkit.org>
Add _WKDownloadDelegate callback including totalBytesWritten
https://bugs.webkit.org/show_bug.cgi?id=212110
<rdar://problem/63358981>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
* TestWebKitAPI/cocoa/TestDownloadDelegate.h:
* TestWebKitAPI/cocoa/TestDownloadDelegate.mm:
(-[TestDownloadDelegate _download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[TestDownloadDelegate _download:didReceiveData:]): Deleted.
2020-05-19 Daniel Bates <dabates@apple.com>
Blue dotted underline with alternatives only shown for last word, gets lost for previous insertions
https://bugs.webkit.org/show_bug.cgi?id=212097
<rdar://problem/61913405>
Reviewed by Darin Adler.
Add tests. As I was writing them I discovered a few bugs in the existing code:
1. <https://webkit.org/b/212093> REGRESSION (r259930): Dictation marker at start of text is removed when added trailing whitespace is collapsed
2. <https://webkit.org/b/212098> Inserting a no-break space before or after a marker removes the marker
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/InsertTextAlternatives.mm: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeNSStringWithCharacter): Added.
2020-05-19 Sergio Villar Senin <svillar@igalia.com>
[WPE] Sync jhbuild to flatpak
https://bugs.webkit.org/show_bug.cgi?id=212087
Reviewed by Adrian Perez de Castro.
* wpe/jhbuild.modules: Updated meson, libwpe and wpebackend-fdo.
2020-05-19 Chris Dumez <cdumez@apple.com>
Turn on ITP in TestController::resetStateToConsistentValues()
https://bugs.webkit.org/show_bug.cgi?id=212076
Reviewed by Darin Adler.
Turn on ITP in TestController::resetStateToConsistentValues(), in a single place
instead of doing it in different places depending on whether or not the session
is ephemeral or not. It is also important to do it in resetStateToConsistentValues()
instead of doing it on data store creation because there is a testRunner method
that allows tests to turn off ITP.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::platformAdjustContext):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
(WTR::TestController::platformInitializeDataStore):
2020-05-19 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Use items instead of iteritems to make Python 3 happier.
Rubber-stamped by Philippe Normand.
* flatpak/flatpakutils.py:
(WebkitFlatpak.pack_toolchain):
2020-05-19 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Drag and drop within a contenteditable area duplicates attachment-backed images
https://bugs.webkit.org/show_bug.cgi?id=212075
<rdar://problem/62434146>
Reviewed by Andy Estes.
Add a new API test to verify that starting a drag on an attachment-backed image in an editable container with
queued mouse move events does not cause the selection to collapse. See Source/WebKit/ChangeLog for more details.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView waitForPendingMouseEvents]):
Move this method from DragAndDropSimulator into TestWKWebView.
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(-[DragAndDropTestWKWebView waitForPendingMouseEvents]): Deleted.
2020-05-19 Carlos Alberto Lopez Perez <clopez@igalia.com>
[buildbot][GTK][WPE] Pass --verbose flag when running JavaScriptCore tests
https://bugs.webkit.org/show_bug.cgi?id=212088
Reviewed by Philippe Normand.
Pass the "--verbose" flag to run-javascriptcore-tests also for GTK and WPE.
Also change the way we are currently passing "--memory-limited" to make
it more obvious that this is needed for all Linux bots (GTK+WPE+JSCOnly).
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunJavaScriptCoreTests.start):
(RunRemoteJavaScriptCoreTests.start):
2020-05-19 Michael Catanzaro <mcatanzaro@gnome.org>
Fixups for r261689 "stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js failing on ppc64le and s390x"
https://bugs.webkit.org/show_bug.cgi?id=211724
<rdar://problem/63227393>
Reviewed by Carlos Alberto Lopez Perez.
Rewrite determineArchitectureFromELFBinary to properly handle big endian architectures.
Also, properly account for 32-bit PowerPC.
* Scripts/run-jsc-stress-tests:
2020-05-19 Michael Catanzaro <mcatanzaro@gnome.org>
[GTK] Add WEBKIT_EDITING_COMMAND_PASTE_AS_PLAIN_TEXT
https://bugs.webkit.org/show_bug.cgi?id=212038
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
(testWebViewEditorCutCopyPasteNonEditable):
(testWebViewEditorCutCopyPasteEditable):
(testWebViewEditorNonEditable):
2020-05-18 Zan Dobersek <zdobersek@igalia.com>
[WPE] HeadlessViewBackend should exclusively use software rasterization mode
https://bugs.webkit.org/show_bug.cgi?id=211982
Reviewed by Carlos Garcia Campos.
Instead of using WPEBackend-fdo's EGL mode that optionally allows the
GL operations to be done through software rasterization, have the
HeadlessViewBackend use the SHM mode which enforces this behavior.
Under the hood, the graphics library will be forced to set up and use
the software rasterization mechanisms, and on our side we are required
to properly handle SHM-backed buffers. This avoids any use of EGL or
GL operations inside HeadlessViewBackend, enabling to use this setup
in systems and environments that don't have GPUs available.
All GL-y things are pushed into the WindowViewBackend class. Inside
HeadlessViewBackend, the whole SHM logic requires WPEBackend-fdo APIs
that are part of the current 1.7 development cycle. When building
against older versions, HeadlessViewBackend itself remains buildable
but is not operational otherwise.
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::windowSnapshotImage):
* wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessInstance::singleton):
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::backend const):
(WPEToolingBackends::HeadlessViewBackend::snapshot):
(WPEToolingBackends::HeadlessViewBackend::updateSnapshot):
(WPEToolingBackends::HeadlessViewBackend::vsync):
(): Deleted.
(WPEToolingBackends::HeadlessEGLConnection::singleton): Deleted.
(WPEToolingBackends::HeadlessViewBackend::createSnapshot): Deleted.
(WPEToolingBackends::HeadlessViewBackend::createEGLSnapshot): Deleted.
(WPEToolingBackends::HeadlessViewBackend::createSHMSnapshot): Deleted.
(WPEToolingBackends::HeadlessViewBackend::performUpdate): Deleted.
(WPEToolingBackends::HeadlessViewBackend::displayBuffer): Deleted.
* wpe/backends/HeadlessViewBackend.h:
* wpe/backends/ViewBackend.cpp:
(WPEToolingBackends::ViewBackend::initialize): Deleted.
(WPEToolingBackends::ViewBackend::deinitialize): Deleted.
(WPEToolingBackends::ViewBackend::backend const): Deleted.
* wpe/backends/ViewBackend.h:
* wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WindowViewBackend::backend const):
(WPEToolingBackends::WindowViewBackend::initialize):
(WPEToolingBackends::WindowViewBackend::deinitialize):
* wpe/backends/WindowViewBackend.h:
2020-05-18 Zan Dobersek <zdobersek@igalia.com>
[WPE] Disable modern media controls for testing
https://bugs.webkit.org/show_bug.cgi?id=212023
Reviewed by Philippe Normand.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
Since using the same Adwaita-based media controls as the GTK port, WPE
too should disable modern media controls during testing by overriding
the default value. This fixes a couple of obscure crashes in text track
tests.
2020-05-18 Christopher Reid <chris.reid@sony.com>
[WinCairo] WKTR WebsiteDataStore is being overwritten by the default one
https://bugs.webkit.org/show_bug.cgi?id=212044
Reviewed by Fujii Hironori.
Ensure TestController::defaultWebSiteDataStore is being used for WinCairo as done in r259705.
Also consolidate platformInitializeDataStore implementations with GTK/WPE since WinCairo WKTR
also started crashing since r261758.
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
2020-05-18 Andy Estes <aestes@apple.com>
http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https.html fails in public SDK builds
https://bugs.webkit.org/show_bug.cgi?id=212000
<rdar://problem/63323082>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-05-18 Wenson Hsieh <wenson_hsieh@apple.com>
Replace uses of +self with +class
https://bugs.webkit.org/show_bug.cgi?id=212041
Reviewed by Darin Adler.
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController monitorWheelEventsWithOptions:]):
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::enclosingScrollViewIncludingSelf):
2020-05-18 Simon Fraser <simon.fraser@apple.com>
Implement conversion between P3 and sRGB color
https://bugs.webkit.org/show_bug.cgi?id=211998
Reviewed by Daniel Bates.
API test for conversions from P3 to sRGB, and linearRGB to sRGB. Values were confirmed
as close to those provided by ColorSync Utility.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
2020-05-18 Mark Lam <mark.lam@apple.com>
Implement a faster findBitInWord() using the hardware ctz instruction.
https://bugs.webkit.org/show_bug.cgi?id=212032
<rdar://problem/63348086>
Reviewed by Saam Barati.
Add tests to make sure that the ctz implementation matches the loop implementation
in behavior.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/StdLibExtras.cpp: Added.
(TestWebKitAPI::testFindBitInWord):
(TestWebKitAPI::TEST):
2020-05-18 Wenson Hsieh <wenson_hsieh@apple.com>
Allow clipboard API access when pasting from a menu item or key binding
https://bugs.webkit.org/show_bug.cgi?id=211990
<rdar://problem/63308916>
Reviewed by Megan Gardner.
Add a UIScriptController method to trigger a paste from the application process.
* DumpRenderTree/cocoa/UIScriptControllerCocoa.h:
* DumpRenderTree/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::paste):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::paste):
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::paste):
2020-05-18 Darin Adler <darin@apple.com>
Add iterator checking to ListHashSet
https://bugs.webkit.org/show_bug.cgi?id=211669
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Removed use of the DID_CREATE_WEAK_PTR_IMPL
and WILL_DESTROY_WEAK_PTR_IMPL, which didn't work consistently because of the
one-definition rule. Instead, this file parameterizes the WeakPtr family of
class templates with a counter class. To avoid having to rewrite test code, used
alias templates to insert these class template into the TestWebKitAPI namespace,
hiding the class templates from the WTF namespace.
2020-05-18 Peng Liu <peng.liu6@apple.com>
[iPad Simulator] TestWebKitAPI.WebKitLegacy.ScrollingDoesNotPauseMedia is timing out
https://bugs.webkit.org/show_bug.cgi?id=211792
Reviewed by Daniel Bates.
Fix deadlocks in two API tests (only reproducible on iPad simulators).
* TestWebKitAPI/Tests/WebKitLegacy/ios/PreemptVideoFullscreen.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
(TestWebKitAPI::TEST):
2020-05-18 Wenson Hsieh <wenson_hsieh@apple.com>
Single selection <select> with <optgroups> shows multiple selected options
https://bugs.webkit.org/show_bug.cgi?id=199485
<rdar://problem/52757531>
Reviewed by Megan Gardner.
Add a new helper method to check whether the currently presented form accessory is a select menu, and has a
checked menu item at the given row.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::selectFormAccessoryHasCheckedItemAtRow const):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::selectFormAccessoryHasCheckedItemAtRow const):
2020-05-18 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Unexpected capitalization of next word after repositioning caret
https://bugs.webkit.org/show_bug.cgi?id=211969
<rdar://problem/62605526>
Reviewed by Alex Christensen.
Add a new UIScriptController hook to query whether or not the software keyboard is in shifted state.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::keyboardIsAutomaticallyShifted const):
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
Adjust a couple of API tests that copy and paste back-to-back, so that they wait for the copy to finish before
attempting to paste.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::keyboardIsAutomaticallyShifted const):
2020-05-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add WebKitContextMenuItemType for paste as plaintext
https://bugs.webkit.org/show_bug.cgi?id=177638
Reviewed by Michael Catanzaro.
Update default context menu test case to also test the context menu for rich editable content.
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(prepareContextMenuTestView):
(testContextMenuDefaultMenu):
2020-05-17 Simon Fraser <simon.fraser@apple.com>
Fix operator== and hash() for ExtendedColor
https://bugs.webkit.org/show_bug.cgi?id=211993
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
(TestWebKitAPI::TEST):
2020-05-16 Simon Fraser <simon.fraser@apple.com>
Rename some API test files
https://bugs.webkit.org/show_bug.cgi?id=211992
Reviewed by Zalan Bujtas.
I'm tired of Quick Open of Color.cpp opening the test file rather than the one I want.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ColorTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/Color.cpp.
* TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/ExtendedColor.cpp.
* TestWebKitAPI/Tests/WebCore/FloatPointTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatPoint.cpp.
* TestWebKitAPI/Tests/WebCore/FloatRectTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatRect.cpp.
* TestWebKitAPI/Tests/WebCore/FloatSizeTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatSize.cpp.
* TestWebKitAPI/Tests/WebCore/IntPointTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntPoint.cpp.
* TestWebKitAPI/Tests/WebCore/IntRectTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntRect.cpp.
* TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntSize.cpp.
* TestWebKitAPI/Tests/WebCore/LayoutUnitTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp.
2020-05-15 Lauro Moura <lmoura@igalia.com>
[GTK][WPE] Add default initialization of WebsiteDataStore to WebKitTestRunner after r261758
https://bugs.webkit.org/show_bug.cgi?id=211977
As GTK/WPE does not explicitly create WebSiteDataStore for the tests,
assign the default one.
Not sure if this is the correct fix, but should allow running tests
again.
Reviewed by Žan Doberšek.
* WebKitTestRunner/TestController.cpp: Add GTK/WPE guards.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformInitializeDataStore): Use default
WebsiteDataStore.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformInitializeDataStore): Use default
websiteDataStore.
2020-05-15 Alex Christensen <achristensen@webkit.org>
Use enum serialization instead of casting to/from uint32_t
https://bugs.webkit.org/show_bug.cgi?id=211885
Reviewed by Geoffrey Garen.
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::increaseTextSelection):
(AccessibilityUIElement::decreaseTextSelection):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::increaseTextSelection):
(WTR::AccessibilityUIElement::decreaseTextSelection):
2020-05-15 Ryan Haddad <ryanhaddad@apple.com>
[iOS EWS] TestWebKitAPI.WKWebsiteDataStore.RemoveAndFetchData is failing
https://bugs.webkit.org/show_bug.cgi?id=208451
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST): Re-enable the test for iOS.
2020-05-15 Geoffrey Garen <ggaren@apple.com>
Update Sihui Liu's status to reviewer
https://bugs.webkit.org/show_bug.cgi?id=211966
Reviewed by Per Arne Vollan.
See email thread on webkit-reviewers on 5/7, "Reviewer nomination:
Sihui Liu".
* Scripts/webkitpy/common/config/contributors.json:
2020-05-15 Alex Christensen <achristensen@webkit.org>
TestWebKitAPI.WKHTTPCookieStore.Basic is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=211752
Reviewed by Geoffrey Garen.
The ordering of cookiesDidChangeInCookieStore callbacks with regard to other callbacks isn't quite deterministic.
No problem. If the number of callbacks isn't what it is expected, wait until it is.
When I reproduce this test failure, I need to spin the run loop at max once to have it succeed, but the bots may take a few more run loop spins.
Spin until the number of callbacks is the expected value.
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(runTestWithWebsiteDataStore):
2020-05-15 Alex Christensen <achristensen@webkit.org>
[iOS Simulator] TestWebKitAPI._WKDownload.Resume is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=211786
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
Add a short sleep (<1/10s) to make this test so it would've almost always failed without this fix.
Checking the file immediately usually succeeded, but waiting a few run loop iterations revealed that CFNetwork
was deleting resumed then finished downloads.
2020-05-15 Alex Christensen <achristensen@webkit.org>
Regression (iOS 13.4, r249142): WKWebView.loading is never reset after a Back navigation in an iframe
https://bugs.webkit.org/show_bug.cgi?id=211449
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(-[LoadingObserver changesObserved]):
(-[LoadingObserver observeValueForKeyPath:ofObject:change:context:]):
(TEST):
2020-05-15 Chris Dumez <cdumez@apple.com>
Make sure we use current data store in WKTR's TestController
https://bugs.webkit.org/show_bug.cgi?id=211920
Reviewed by Alex Christensen.
Make sure we use current data store in WKTR's TestController. Currently, a lot of code
uses defaultDataStore(), even though the test may be using another data store (e.g. an
ephemeral one). I suspect this is contributing to test flakiness.
We now also make sure that TestController::websiteDataStore() returns the actual store
that will be used by the test when resetPreferencesToConsistentValues() is called.
Previously, it would not since it would get the store from the m_mainView and m_mainView
would only get initialized after calling resetPreferencesToConsistentValues(). To support
this, we now initialize a m_websiteDataStore member in platformInitializeDataStore(),
which gets called right before resetPreferencesToConsistentValues(). When
platformCreateWebView() gets called right after resetPreferencesToConsistentValues(),
it now simply relies on m_websiteDataStore instead of creating the data store at this
point.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestController::clearServiceWorkerRegistrations):
(WTR::TestController::clearDOMCache):
(WTR::TestController::clearDOMCaches):
(WTR::TestController::hasDOMCache):
(WTR::TestController::domCacheSize):
(WTR::TestController::clearStatisticsDataForDomain):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-05-15 Diego Pino Garcia <dpino@igalia.com>
[buildbot] Increase blocksize of file transfer in UploadTestResults step
https://bugs.webkit.org/show_bug.cgi?id=211847
Reviewed by Aakash Jain.
All other steps involving file transfer uploads use 256kb as block
size. Make this step in line with others.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(UploadTestResults.__init__):
2020-05-15 Adrian Perez de Castro <aperez@igalia.com>
[GTK3] Bring back usage of GtkMenu for context menus
https://bugs.webkit.org/show_bug.cgi?id=211557
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp: Add preprocessor conditionals
for GTK4 and bring back some bits previously removed in r260889 for GTK3.
2020-05-14 Kate Cheney <katherine_cheney@apple.com>
Attribute non-network loads and loads with html strings as automatically app-bound
https://bugs.webkit.org/show_bug.cgi?id=211913
<rdar://problem/63157801
Reviewed by Brent Fulgham.
Adds new tests to check that WebView loads with HTML strings have
proper behavior.
Some tests need to test behavior on app-bound domains on webviews which do not specify
limitsNavigationsToAppBoundDomains. Since local files now do this
automatically, this patch updates those to use actual app-bound
domains from the WKAppBoundDomains list instead to maintain behavior.
Remove limitsNavigationsToAppBoundDomains for local files to make sure
they are forced into this mode automatically.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[InAppBrowserSchemeHandler webView:startURLSchemeTask:]):
(TEST):
2020-05-14 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Relaxing signature length requirements for U2fRegister
https://bugs.webkit.org/show_bug.cgi?id=209645
<rdar://problem/63204591>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::TEST):
2020-05-14 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests shouldn't need Xcode to run Mac tests
https://bugs.webkit.org/show_bug.cgi?id=211903
<rdar://problem/63205839>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo):
(PlatformInfo.xcode_sdk_version): Memoize SDK version retrieval.
(PlatformInfo.xcode_version): Only run xcodebuild if macosx SDK is present.
(PlatformInfo.available_sdks): Ditto.
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_available_sdks):
2020-05-14 Daniel Bates <dabates@apple.com>
Include LocalOverrides.xcconfig in all Tools projects
https://bugs.webkit.org/show_bug.cgi?id=211789
Reviewed by Dan Bernstein.
Matches what is done for all Source projects so as to support local overriding of configs.
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
2020-05-14 Andres Gonzalez <andresg_22@apple.com>
Fix for crashes in LayoutTests related to TextMarkers in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=211912
Reviewed by Chris Fleizach.
Check for null pointer parameters before dereferencing.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::misspellingSearchParameterizedAttributeForCriteria):
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::textMarkerRangeLength):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute):
(WTR::AccessibilityUIElement::indexForTextMarker):
(WTR::AccessibilityUIElement::isTextMarkerValid):
(WTR::AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::previousWordStartTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::nextWordEndTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker):
(WTR::AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker):
2020-05-14 Michael Catanzaro <mcatanzaro@gnome.org>
stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js failing on ppc64le and s390x
https://bugs.webkit.org/show_bug.cgi?id=211724
Reviewed by Carlos Alberto Lopez Perez.
Add architecture detection for PowerPC and S/390.
* Scripts/run-jsc-stress-tests:
2020-05-14 Philippe Normand <pnormand@igalia.com>
[WPE] Tools/wpe/install-dependencies fails due to missing pipenv
https://bugs.webkit.org/show_bug.cgi?id=211849
Reviewed by Žan Doberšek.
Ubuntu Bionic doesn't ship pipenv. So fallback to the pip3 install path. Also remove the
libpng12-dev fallback, this doesn't seem necessary any longer (tested on a Ubuntu Bionic
docker).
* gtk/install-dependencies:
* wpe/install-dependencies:
2020-05-14 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Path references shouldn't point to the sandbox in compile_commands.json
https://bugs.webkit.org/show_bug.cgi?id=209901
Reviewed by Žan Doberšek.
Add ccls to the SDK. It can then be used through a wrapper script by Emacs's lsp-mode.
* buildstream/elements/sdk-build-depends/rapidjson.bst: Added.
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk/ccls.bst: Added.
2020-05-13 Jer Noble <jer.noble@apple.com>
Replace isNullFunctionPointer with real weak-linking support
https://bugs.webkit.org/show_bug.cgi?id=211751
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd:
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS.tbd:
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS-v2.tbd:
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS.tbd:
2020-05-13 Tim Horton <timothy_horton@apple.com>
Add SPI for reverting to touch events for iPad trackpad interactions
https://bugs.webkit.org/show_bug.cgi?id=211824
<rdar://problem/61363084>
Reviewed by Megan Gardner.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/MacCatalystMouseSupport.mm.
(-[WKTestingEvent locationInView:]):
(-[WKTestingEvent _setButtonMask:]):
(-[WKTestingEvent _buttonMask]):
(-[WKTestingTouch locationInView:]):
(-[WKTestingTouch setTapCount:]):
(-[WKTestingTouch tapCount]):
(mouseGesture):
(TEST):
Rename and enable MacCatalystMouseSupport tests for iOS.
Add a test that ensures that the next load after setting the
WKWebpagePreference causes the WKMouseGestureRecognizer to get disabled.
2020-05-13 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] "Copy" context menu action for attachment element does not work in Mail
https://bugs.webkit.org/show_bug.cgi?id=211817
<rdar://problem/58043110>
Reviewed by Tim Horton.
Add a new iOS API test that simulates the context menu action to "copy" on an attachment element.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2020-05-12 Matt Lewis <jlewis3@apple.com>
Run-webkit-tests should not fail if all tests found to run are skipped.
https://bugs.webkit.org/show_bug.cgi?id=210880
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Added a check to see if we skiped all tests. If so We return a successful exit
code as we performed as expected.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(RunDetails.__init__): Added in an additional class variable to be used as a way to record an
all skipped result check.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main): Added a all test skipped check and we return early with the exit code.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Added a new test and removed the old
ones that no longer test the correct functionality.
(RunTest.test_all_tests_skipped):
(RunTest.test_no_tests_found): Deleted.
(RunTest.test_no_tests_found_2): Deleted.
2020-05-13 Kate Cheney <katherine_cheney@apple.com>
Add test for non-app-bound iframe under app-bound domain
https://bugs.webkit.org/show_bug.cgi?id=211815
<rdar://problem/63159707>
Reviewed by Brent Fulgham.
Clear the main frame app-bound session before loading the iframe so
we can be sure the iframe uses an app-bound session.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearAppBoundSession):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-05-13 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Proper handling of sccache scheduler URL command-line argument
Rubber-stamped by Carlos Alberto Lopez Perez.
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.__init__):
2020-05-13 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Craft a custom sccache config file from SDK toolchains
https://bugs.webkit.org/show_bug.cgi?id=211781
Reviewed by Carlos Alberto Lopez Perez.
Optionally generate a sccache config file and use it when building WebKit.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_toml):
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.__init__):
(WebkitFlatpak.clean_args):
(WebkitFlatpak.host_path_to_sandbox_path):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.save_config):
(WebkitFlatpak):
(WebkitFlatpak.pack_toolchain):
(WebkitFlatpak.setup_icecc): Deleted.
2020-05-13 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
[Flatpak] *PROCESS_CMD_PREFIX are ignored
https://bugs.webkit.org/show_bug.cgi?id=211830
Reviewed by Philippe Normand.
Checking the last slice of the splitted environment variable won't
match with any of the list of suffixes since they are composed by
several slices if they are splitted too.
A new internal function is defined where the suffixes list is
traversed and matched with the end of the passend enviroment
variable.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox.envvar_in_suffixes_to_keep):
(WebkitFlatpak.run_in_sandbox):
2020-05-12 Alex Christensen <achristensen@webkit.org>
[iOS Simulator] TestWebKitAPI._WKDownload.Resume is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=211786
Reviewed by Darin Adler.
This should turn the test crash into a failure, which is a step in the right direction.
Still investigating...
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
2020-05-12 Ryan Haddad <ryanhaddad@apple.com>
[iOS] TestWTF.WTF_Lock.ContendedShortSection is consistently timing out on debug
https://bugs.webkit.org/show_bug.cgi?id=211650
Unreviewed test gardening.
* TestWebKitAPI/Tests/WTF/Lock.cpp: Skip the test for iOS Debug queues.
2020-05-12 Philippe Normand <pnormand@igalia.com>
[FlatPak SDK] Some packages in the SDK have missing debug symbols
https://bugs.webkit.org/show_bug.cgi?id=211621
Reviewed by Carlos Alberto Lopez Perez.
* flatpak/flatpakutils.py:
(WebkitFlatpak._get_packages): Unconditionally install SDK Debug symbols, even for Release
builds. This should help improve the crash reports on the bots.
2020-05-12 Carlos Alberto Lopez Perez <clopez@igalia.com>
WPT test importer fails to update references in <link> tags
https://bugs.webkit.org/show_bug.cgi?id=211762
Reviewed by Youenn Fablet.
When importing WPT test references, ensure relative paths are also
updated for the href attribute in <link> tags.
Also fix a bug that was causing wrong updates on the paths due to
the characters in reference_relpath not escaped when performing
the regex substitution in convert_reference_relpaths(). For example:
"resources/script.js" was changed to "resourcscript.js" when reference_relpath was '../'
Improve also the unit test case to check for the fixes in this patch.
* Scripts/webkitpy/w3c/test_converter.py:
(_W3CTestConverter.convert_reference_relpaths):
(_W3CTestConverter.convert_attributes_if_needed):
* Scripts/webkitpy/w3c/test_converter_unittest.py:
2020-05-12 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Include clang++ and g++ in toolchains
https://bugs.webkit.org/show_bug.cgi?id=211663
Reviewed by Adrian Perez de Castro.
/usr/bin/clang++ wasn't included before. Also a small unrelated drive-by, white-list RUST
env vars, such as RUST_LOG, useful when debugging sccache.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.setup_icecc):
2020-05-11 Simon Fraser <simon.fraser@apple.com>
[ macOS ] scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=211747
Reviewed by Tim Horton.
Add an option to monitorWheelEvents to reset latching.
* DumpRenderTree/mac/EventSendingController.mm:
(+[EventSendingController isSelectorExcludedFromWebScript:]):
(+[EventSendingController webScriptNameForSelector:]):
(-[EventSendingController monitorWheelEventsWithOptions:]):
(-[EventSendingController monitorWheelEvents]): Deleted.
* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::toMonitorWheelEventsOptions): We have to return a pointer to a static, because the generated code
doesn't use smart pointers.
(WTR::EventSendingController::monitorWheelEvents):
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
(WTR::MonitorWheelEventsOptions::MonitorWheelEventsOptions):
2020-05-11 Kate Cheney <katherine_cheney@apple.com>
Fail navigations to non app-bound domains after use of app-bound APIs
https://bugs.webkit.org/show_bug.cgi?id=211647
<rdar://problem/62978159>
Reviewed by Brent Fulgham.
Added a new test to confirm a non-app bound navigation fails after
using script injection.
This fix also required changing any test which uses a restricted API
to confirm behavior of another restricted API. Tests can set
_setNeedsInAppBrowserPrivacyQuirks in the configuration to indicate
APIs should not be blocked, then toggle it to test actual behavior.
Also, we can remove any calls to _setInAppBrowserPrivacyEnabled
now that this is just an internal test flag.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[AppBoundDomainDelegate webView:didFinishNavigation:]):
(-[AppBoundDomainDelegate webView:didFailProvisionalNavigation:withError:]):
(-[AppBoundDomainDelegate waitForDidFinishNavigation]):
(-[AppBoundDomainDelegate waitForDidFailProvisionalNavigationError]):
(TEST):
2020-05-11 Alex Christensen <achristensen@webkit.org>
Add some logs to diagnose why WebKitLegacy.CrossPartitionFileSchemeAccess API test times out in EWS
https://bugs.webkit.org/show_bug.cgi?id=211738
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm:
(TestWebKitAPI::TEST):
I saw an instance of failing to make a partition because the "file" already existed.
Try cleaning up anything left from last time this test timed out to prevent it from timing out again.
2020-05-11 Alex Christensen <achristensen@webkit.org>
Add some logs to diagnose why WebKitLegacy.CrossPartitionFileSchemeAccess API test times out in EWS
https://bugs.webkit.org/show_bug.cgi?id=211738
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm:
(TestWebKitAPI::TEST):
2020-05-11 Andres Gonzalez <andresg_22@apple.com>
Add mechanism to turn on accessibility isolated tree mode from WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=211725
Reviewed by Chris Fleizach.
Turn on isolated tree mode when appropriate.
* WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::updateIsolatedTreeMode):
2020-05-11 Per Arne Vollan <pvollan@apple.com>
Unreviewed, reverting r261296.
Rolling r260769 back in, since this was not causing a
regression.
Reverted changeset:
"Unreviewed, reverting r260769."
https://bugs.webkit.org/show_bug.cgi?id=211578
https://trac.webkit.org/changeset/261296
2020-05-11 Philippe Normand <pnormand@igalia.com>
[GTK] Media and audio permission request unit tests are timing out
https://bugs.webkit.org/show_bug.cgi?id=158257
Reviewed by Carlos Garcia Campos.
Fix getUserMedia glib tests. They require unsecure capture device context.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewUserMediaEnumerateDevicesPermissionCheck):
(testWebViewUserMediaPermissionRequests):
(testWebViewAudioOnlyUserMediaPermissionRequests):
* TestWebKitAPI/glib/TestExpectations.json:
2020-05-11 Paulo Matos <pmatos@igalia.com>
Fix typo 'Detacted' -> 'Detected'
https://bugs.webkit.org/show_bug.cgi?id=211715
Unreviewed.
* Scripts/run-jsc-stress-tests:
2020-05-10 Michael Catanzaro <mcatanzaro@gnome.org>
Update user agent quirk for bankofamerica.com
https://bugs.webkit.org/show_bug.cgi?id=211700
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2020-05-08 Darin Adler <darin@apple.com>
Streamline MarkupAccumulator to improve efficiency a bit
https://bugs.webkit.org/show_bug.cgi?id=211656
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST): Fix spellling error in the word "explicitly".
2020-05-08 David Kilzer <ddkilzer@apple.com>
Remove empty directories from from svn.webkit.org repository
<https://webkit.org/b/211644>
Reviewed by Darin Adler.
* BuildSlaveSupport/gtk: Removed.
* flatpak/files: Removed.
* flatpak/patches: Removed.
2020-05-08 Basuke Suzuki <basuke.suzuki@sony.com>
[WTF] Share Linux's MemoryPressureHandler among other Unix ports
https://bugs.webkit.org/show_bug.cgi?id=208955
Reviewed by Yusuke Suzuki.
Fix unneeded library dependency.
* TestWebKitAPI/CMakeLists.txt:
2020-05-08 Jonathan Bedard <jbedard@apple.com>
webkitpy: 'iPhone SE' should match 'iPhone SE 1st generation'
https://bugs.webkit.org/show_bug.cgi?id=211642
<rdar://problems/62986242>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/xcode/device_type.py:
(DeviceType):
(DeviceType.standardized_hardware_type): Strip '1st generation' from models.
(DeviceType.__eq__): Use standardized hardware type.
(DeviceType.__contains__): Ditto.
(DeviceType.__hash__): Ditto.
* Scripts/webkitpy/xcode/device_type_unittest.py:
(DeviceTypeTest):
(DeviceTypeTest.test_generation_matching):
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._get_device_identifier_for_type): Handle case where the requests model does not
end with '(1st generation)', but the simctl model does.
* Scripts/webkitpy/xcode/simulated_device_unittest.py:
2020-05-08 Ryan Haddad <ryanhaddad@apple.com>
TestWebKitAPI.WebKit.AllowsContentJavaScript fails on iPad simulator
https://bugs.webkit.org/show_bug.cgi?id=207874
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
Disable the test for iOS.
2020-05-08 David Kilzer <ddkilzer@apple.com>
check-webkit-style false positive for [readability/naming/protected] with method declaration
<https://webkit.org/b/210682>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
- Don't check for invalid protector name if the capitalized
protected name is the same as the original protected name,
indicating it's a type name.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_names):
- Add test cases.
2020-05-08 Alex Christensen <achristensen@webkit.org>
Fix build on platforms without network framework.
https://bugs.webkit.org/show_bug.cgi?id=211603
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
Add HAVE(NETWORK_FRAMEWORK) around test that uses network framework.
2020-05-08 Aakash Jain <aakash_jain@apple.com>
Delete old ews client side code
https://bugs.webkit.org/show_bug.cgi?id=211638
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/checkout/changelog_unittest.py:
* Scripts/webkitpy/common/config/urls.py: Removed old ews server url.
* Scripts/webkitpy/common/net/statusserver.py: Removed.
* Scripts/webkitpy/common/net/statusserver_mock.py: Removed.
* Scripts/webkitpy/tool/bot/botinfo.py:
* Scripts/webkitpy/tool/bot/botinfo_unittest.py:
* Scripts/webkitpy/tool/bot/flakytestreporter.py:
* Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
* Scripts/webkitpy/tool/bot/queueengine.py:
* Scripts/webkitpy/tool/bot/queueengine_unittest.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
* Scripts/webkitpy/tool/commands/perfalizer.py:
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractQueue._log_from_script_error_for_upload): Deleted.
(AbstractQueue._update_status_for_script_error): Deleted.
(AbstractPatchQueue._update_status): Deleted.
(AbstractPatchQueue._release_work_item): Deleted.
(AbstractPatchQueue._did_pass): Deleted.
(AbstractPatchQueue._did_fail): Deleted.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(AbstractQueueTest._assert_run_webkit_patch):
(AbstractQueueTest.test_no_iteration_count):
(PatchProcessingQueueTest.test_upload_results_archive_for_patch):
(AbstractQueueTest._assert_log_message): Deleted.
(AbstractQueueTest.test_log_from_script_error_for_upload): Deleted.
(AbstractPatchQueueTest): Deleted.
(NeedsUpdateSequence): Deleted.
(NeedsUpdateSequence._run): Deleted.
(StyleQueueTest): Deleted.
(StyleQueueTest.test_style_queue_with_style_exception): Deleted.
* Scripts/webkitpy/tool/commands/queuestest.py:
(QueuesTest._default_begin_work_queue_logs):
(QueuesTest._default_begin_work_queue_stderr): Deleted.
* Scripts/webkitpy/tool/commands/sheriffbot.py:
* Scripts/webkitpy/tool/main.py:
* Scripts/webkitpy/tool/mocktool.py:
2020-05-08 Alex Christensen <achristensen@webkit.org>
Limit HTTP referer to 4kb
https://bugs.webkit.org/show_bug.cgi?id=211603
<rdar://problem/56768823>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
2020-05-08 Dean Jackson <dino@apple.com>
Allow run-safari to launch an iPad simulator
https://bugs.webkit.org/show_bug.cgi?id=211606
<rdar://problem/63002849>
Reviewed by Jon Lee.
Add an "--ipad-simulator" command line option to run-safari.
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
(determineXcodeSDK): Mark the device idiom depending on the command line argument.
(printHelpAndExitForRunAndDebugWebKitAppIfNeeded):
(findOrCreateSimulatorForIOSDevice): Create an iPad Pro simulator if requested.
2020-05-08 Wenson Hsieh <wenson_hsieh@apple.com>
Preserve character set information when writing to the pasteboard when copying rich text
https://bugs.webkit.org/show_bug.cgi?id=211524
Reviewed by Darin Adler.
Add a new API test to verify that the HTML data written to the pasteboard when copying a rich text selection
can be converted into an `NSAttributedString` that contains correctly encoded non-Latin characters.
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
2020-05-08 Chris Dumez <cdumez@apple.com>
REGRESSION(r259209) Webview's pending URL is null after restoring session state
https://bugs.webkit.org/show_bug.cgi?id=211626
<rdar://problem/62992262>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
(TestWebKitAPI::TEST):
2020-05-08 Alex Christensen <achristensen@webkit.org>
WKWebView.title should be safe browsing warning's title during a safe browsing warning
https://bugs.webkit.org/show_bug.cgi?id=211403
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
2020-05-08 Lauro Moura <lmoura@igalia.com>
[GTK][WPE] Create common glib expectation file
https://bugs.webkit.org/show_bug.cgi?id=211183
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/port/gtk.py:
(GtkPort._search_paths): Add glib to expectations search path
(GtkPort.test_expectations_file_position): Update test
* Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_default_baseline_search_path): Update test
(GtkPortTest.test_port_specific_expectations_files): Update test and
make check-webkit-style happier
* Scripts/webkitpy/port/wpe.py:
(WPEPort._search_paths): Add glib to expectations search path
(WPEPort.test_expectations_file_position): Update test
* Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest.test_default_baseline_search_path): Update test
(WPEPortTest.test_port_specific_expectations_files): Update test and
make check-webkit-style happier
2020-05-08 Paulo Matos <pmatos@igalia.com>
Add myself as committer to contributors.json
* Scripts/webkitpy/common/config/contributors.json:
2020-05-07 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Roll back newly created credentials if an error occurs
https://bugs.webkit.org/show_bug.cgi?id=183530
<rdar://problem/43357305>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la-no-attestation.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la.html:
2020-05-07 Saam Barati <sbarati@apple.com>
run-javascriptcore-tests with remote should be verbose
https://bugs.webkit.org/show_bug.cgi?id=211596
Reviewed by Alexey Proskuryakov.
Our iOS testing bots could use this better output.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
2020-05-07 Jonathan Bedard <jbedard@apple.com>
webkitpy: Use apple_additions certificate path if available
https://bugs.webkit.org/show_bug.cgi?id=211584
Rubber-stamped by Aakash Jain
* Scripts/webkitpy/results/upload.py:
(Upload):
(Upload.certificate_chain): Certificate chain to be used, prefer apple_additions
over certifi.
(Upload.upload): Use Upload.certificate_chain().
(Upload.upload_archive): Ditto.
2020-05-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r260959.
https://bugs.webkit.org/show_bug.cgi?id=211587
"Causes MiniBrowser to crash when closing a window" (Requested
by ddkilzer on #webkit).
Reverted changeset:
"REGRESSION (r176862, r210483): Leaks of
BrowserWindowController in MiniBrowser/mac/AppDelegate.m"
https://bugs.webkit.org/show_bug.cgi?id=211243
https://trac.webkit.org/changeset/260959
2020-05-07 Darin Adler <darin@apple.com>
Remove USE(INSERTION_UNDO_GROUPING) checks in macOS platform code
https://bugs.webkit.org/show_bug.cgi?id=211525
Reviewed by Anders Carlsson.
* DumpRenderTree/mac/TextInputControllerMac.m: Use NSTextInputContextSPI.h.
(-[TextInputController stringWithUndoGroupingInsertion:]): Removed
SUPPORT_INSERTION_UNDO_GROUPING.
* DumpRenderTree/mac/UIScriptControllerMac.mm: Use NSTextInputContextSPI.h.
* TestRunnerShared/spi/AppKitTestSPI.h: Removed
NSTextInputContext_Private.h, clients can use NSTextInputContextSPI.h.
* TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h: Ditto.
* TestWebKitAPI/Tests/mac/CandidateTests.mm: Use NSTextInputContextSPI.h.
* TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm: Ditto.
2020-05-07 Aakash Jain <aakash_jain@apple.com>
Delete code for old commit queue
https://bugs.webkit.org/show_bug.cgi?id=211581
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/committervalidator.py: Removed.
* Scripts/webkitpy/common/config/committervalidator_unittest.py: Removed.
* Scripts/webkitpy/tool/bot/commitqueuetask.py: Removed.
* Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py: Removed.
* Scripts/webkitpy/tool/commands/queues.py:
(PatchProcessingQueue._upload_results_archive_for_patch):
(CommitQueue): Deleted.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(NeedsUpdateSequence._run):
(TestCommitQueue): Deleted.
(AlwaysCommitQueueTool): Deleted.
(SecondThoughtsCommitQueue): Deleted.
(CommitQueueTest): Deleted.
(test_did_pass_testing_ews): Deleted.
* Scripts/webkitpy/tool/steps/validatechangelogs.py:
* Scripts/webkitpy/tool/steps/validatereviewer.py:
2020-05-07 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r261286.
Tests are still crashing / failing
Reverted changeset:
"Unskip the test since it should now be passing"
https://trac.webkit.org/changeset/261286
2020-05-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r260769.
https://bugs.webkit.org/show_bug.cgi?id=211578
Introduced regressions related to sharing (Requested by
perarne on #webkit).
Reverted changeset:
"[Cocoa] After r258891, r255119 can be reverted"
https://bugs.webkit.org/show_bug.cgi?id=211083
https://trac.webkit.org/changeset/260769
2020-05-07 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Fix string.format invocation
Reviewed by Philippe Normand.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-05-07 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Doesn't generate crash logs on the bots
https://bugs.webkit.org/show_bug.cgi?id=211568
Reviewed by Carlos Alberto Lopez Perez.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Bind-mount the
WEBKIT_CORE_DUMPS_DIRECTORY so that the crash-log generator is
able to write crash log reports there.
2020-05-07 Truitt Savell <tsavell@apple.com>
Unskip the test since it should now be passing
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
2020-05-07 Philippe Normand <pnormand@igalia.com>
[GTK] Test failures after Flatpak upgrade
https://bugs.webkit.org/show_bug.cgi?id=211497
Reviewed by Adrian Perez de Castro.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Don't set WEBKIT_TOP_LEVEL. I'm
not sure why it's needed at all. If it needs to be set it should
be /app/webkit/ anyway. Setting it to /app triggers test failures
due to invalid computed paths by internals' pathToLocalResource().
2020-05-07 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK4 build with current GTK
GtkWindow and GtkOverlay aren't a GtkContainer anymore.
* MiniBrowser/gtk/BrowserTab.c:
(browserTabConstructed):
* MiniBrowser/gtk/BrowserWindow.c:
(browser_window_init):
2020-05-07 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Import build definitions
https://bugs.webkit.org/show_bug.cgi?id=211448
Reviewed by Carlos Alberto Lopez Perez.
To build the SDK, run `Tools/Scripts/webkit-flatpak-sdk --build`,
this can take hours and use gigabytes of your hard-drive. To build
a single recipe, use something like:
`Tools/Scripts/bst-wrapper build sdk/gtk.bst`
To enter the Buildstream SDK shell and debug stuff when hacking on
a specific dependency, `Tools/Scripts/bst-wrapper shell sdk/gtk.bst`.
To test your changes in WebKit:
```shell
$ Tools/Scripts/webkit-flatpak -u --repo=Tools/buildstream/repo
$ Tools/Scripts/run-minibrowser --gtk --flatpak-repo=Tools/buildstream/repo <url>
...
```
bst-wrapper has the same options as bst itself, documented on
https://docs.buildstream.build/1.4.2/index.html.
Internally the bst-wrapper will install Buildstream and a few
other python dependencies in a local virtualenv managed by pipenv.
This is all abstracted though, in theory direct access to the
pipenv environment shouldn't be needed.
* Scripts/bst-wrapper: Added.
* Scripts/webkit-flatpak-sdk: Added.
* buildstream/Makefile: Added.
* buildstream/Pipfile: Added.
* buildstream/Pipfile.lock: Added.
* buildstream/elements/filtered-openh264.bst: Added.
* buildstream/elements/filtered.bst: Added.
* buildstream/elements/flatpak-platform-extensions.bst: Added.
* buildstream/elements/flatpak-runtimes.bst: Added.
* buildstream/elements/flatpak/platform-arch-libs-debug.bst: Added.
* buildstream/elements/flatpak/platform-arch-libs.bst: Added.
* buildstream/elements/flatpak/platform-image.bst: Added.
* buildstream/elements/flatpak/platform-locale.bst: Added.
* buildstream/elements/flatpak/platform.bst: Added.
* buildstream/elements/flatpak/sdk-arch-libs-debug.bst: Added.
* buildstream/elements/flatpak/sdk-arch-libs.bst: Added.
* buildstream/elements/flatpak/sdk-debug.bst: Added.
* buildstream/elements/flatpak/sdk-docs.bst: Added.
* buildstream/elements/flatpak/sdk-image.bst: Added.
* buildstream/elements/flatpak/sdk-locale.bst: Added.
* buildstream/elements/flatpak/sdk.bst: Added.
* buildstream/elements/freedesktop-sdk.bst: Added.
* buildstream/elements/manifests/platform-manifest.bst: Added.
* buildstream/elements/manifests/sdk-manifest.bst: Added.
* buildstream/elements/qt5.bst: Added.
* buildstream/elements/qt5/qtbase.bst: Added.
* buildstream/elements/qt5/qtdeclarative.bst: Added.
* buildstream/elements/qt5/qtquickcontrols.bst: Added.
* buildstream/elements/qt5/qtquickcontrols2.bst: Added.
* buildstream/elements/qt5/qtwayland.bst: Added.
* buildstream/elements/qt5/qtx11extras.bst: Added.
* buildstream/elements/sdk-build-depends/libusb.bst: Added.
* buildstream/elements/sdk-build-depends/sassc.bst: Added.
* buildstream/elements/sdk-build-depends/utf8proc.bst: Added.
* buildstream/elements/sdk-depends/libsass.bst: Added.
* buildstream/elements/sdk-platform.bst: Added.
* buildstream/elements/sdk.bst: Added.
* buildstream/elements/sdk/adwaita-icon-theme.bst: Added.
* buildstream/elements/sdk/at-spi2-atk.bst: Added.
* buildstream/elements/sdk/at-spi2-core.bst: Added.
* buildstream/elements/sdk/atk.bst: Added.
* buildstream/elements/sdk/brotli.bst: Added.
* buildstream/elements/sdk/capnp.bst: Added.
* buildstream/elements/sdk/enchant-2.bst: Added.
* buildstream/elements/sdk/glib-networking.bst: Added.
* buildstream/elements/sdk/glib.bst: Added.
* buildstream/elements/sdk/gobject-introspection.bst: Added.
* buildstream/elements/sdk/graphene.bst: Added.
* buildstream/elements/sdk/graphviz.bst: Added.
* buildstream/elements/sdk/gst-libav.bst: Added.
* buildstream/elements/sdk/gst-plugins-bad.bst: Added.
* buildstream/elements/sdk/gst-plugins-base.bst: Added.
* buildstream/elements/sdk/gst-plugins-good.bst: Added.
* buildstream/elements/sdk/gst-plugins-ugly.bst: Added.
* buildstream/elements/sdk/gstreamer.bst: Added.
* buildstream/elements/sdk/gtk+-3.bst: Added.
* buildstream/elements/sdk/gtk.bst: Added.
* buildstream/elements/sdk/icecc.bst: Added.
* buildstream/elements/sdk/intltool.bst: Added.
* buildstream/elements/sdk/krb5.bst: Added.
* buildstream/elements/sdk/libcap-ng.bst: Added.
* buildstream/elements/sdk/libevent.bst: Added.
* buildstream/elements/sdk/libgcrypt.bst: Added.
* buildstream/elements/sdk/libmanette.bst: Added.
* buildstream/elements/sdk/libnotify.bst: Added.
* buildstream/elements/sdk/libopenh264.bst: Added.
* buildstream/elements/sdk/libsecret.bst: Added.
* buildstream/elements/sdk/libsoup.bst: Added.
* buildstream/elements/sdk/libsrtp2.bst: Added.
* buildstream/elements/sdk/libusrsctp.bst: Added.
* buildstream/elements/sdk/libwpe.bst: Added.
* buildstream/elements/sdk/libzstd.bst: Added.
* buildstream/elements/sdk/lzo2.bst: Added.
* buildstream/elements/sdk/openjpeg.bst: Added.
* buildstream/elements/sdk/openxr.bst: Added.
* buildstream/elements/sdk/os-release.bst: Added.
* buildstream/elements/sdk/patchelf.bst: Added.
* buildstream/elements/sdk/psmisc.bst: Added.
* buildstream/elements/sdk/pycairo.bst: Added.
* buildstream/elements/sdk/pygobject.bst: Added.
* buildstream/elements/sdk/python2-pycairo.bst: Added.
* buildstream/elements/sdk/python2-pygobject.bst: Added.
* buildstream/elements/sdk/python2-six.bst: Added.
* buildstream/elements/sdk/python2-subprocess32.bst: Added.
* buildstream/elements/sdk/python2.bst: Added.
* buildstream/elements/sdk/rr.bst: Added.
* buildstream/elements/sdk/sccache.bst: Added.
* buildstream/elements/sdk/shared-mime-info.bst: Added.
* buildstream/elements/sdk/subversion.bst: Added.
* buildstream/elements/sdk/v4lutils.bst: Added.
* buildstream/elements/sdk/woff2.bst: Added.
* buildstream/elements/sdk/wpebackend-fdo.bst: Added.
* buildstream/elements/sdk/x264.bst: Added.
* buildstream/elements/sdk/xorg-server.bst: Added.
* buildstream/elements/test-infra.bst: Added.
* buildstream/elements/test-infra/apr-util.bst: Added.
* buildstream/elements/test-infra/apr.bst: Added.
* buildstream/elements/test-infra/httpd.bst: Added.
* buildstream/elements/test-infra/perl-cgi-pm.bst: Added.
* buildstream/elements/test-infra/perl-http-date-pm.bst: Added.
* buildstream/elements/test-infra/php.bst: Added.
* buildstream/elements/test-infra/webkitgtk-test-dicts.bst: Added.
* buildstream/elements/test-infra/webkitgtk-test-fonts.bst: Added.
* buildstream/files/krb5/krb5.conf: Added.
* buildstream/files/os-release/issue.in: Added.
* buildstream/files/os-release/issue.net.in: Added.
* buildstream/files/os-release/org.webkit.Platform.appdata.xml.in: Added.
* buildstream/files/os-release/org.webkit.Sdk.appdata.xml.in: Added.
* buildstream/files/os-release/os-release.in: Added.
* buildstream/patches/fdo-0001-Update-gcc-to-9.3.0.patch: Added.
* buildstream/patches/fdo/0001-Add-Jack.patch: Added.
* buildstream/patches/fdo/0001-components-xdg-desktop-portal.bst-Update-to-1.6.0.patch: Added.
* buildstream/patches/fdo/0001-ffmpeg-Add-MS-MPEG-DivX-variants.patch: Added.
* buildstream/patches/fdo/0002-Update-PipeWire-to-0.3.1.patch: Added.
* buildstream/patches/fdo/0002-ffmpeg-Add-VP6-and-Sorenson-Spark-video-codecs.patch: Added.
* buildstream/patches/fdo/0003-Add-Bluez.patch: Added.
* buildstream/patches/fdo/0003-ffmpeg-Add-Intel-Indeo-and-Cinepak-video-support.patch: Added.
* buildstream/patches/fdo/0004-ffmpeg-Add-MPEG-2-video-decoder.patch: Added.
* buildstream/patches/fdo/0005-ffmpeg-Add-msmpeg4v3-support.patch: Added.
* buildstream/patches/gst-libav-stop-caching-codecs.patch: Added.
* buildstream/patches/gst-plugins-bad-0001-h264parse-Post-a-WARNING-when-data-is-broken.patch: Added.
* buildstream/patches/gst-plugins-base-0001-glupload-Fix-fallback-from-direct-dmabuf-to-dmabuf-u.patch: Added.
* buildstream/patches/gst-plugins-base-0001-playbin-Handle-error-message-with-redirection-indica.patch: Added.
* buildstream/patches/gst-plugins-base-0002-glupload-fix-segfault.patch: Added.
* buildstream/patches/gst-plugins-good-qtdemux-Specify-REDIRECT-information-in-error-messag.patch: Added.
* buildstream/patches/gtk-meson-Bump-to-latest-version-of-the-3.24-branch.patch: Added.
* buildstream/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
* buildstream/patches/libav-0001-gstavviddec-Limit-default-number-of-decoder-threads.patch: Added.
* buildstream/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Added.
* buildstream/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Added.
* buildstream/patches/libsecret-b53e9876f4611525b7a8f69a3110fbec51dcede0.patch: Added.
* buildstream/patches/nettle-no-debug.diff: Added.
* buildstream/patches/qtbase-avoid-hardcoding-kernel-version.patch: Added.
* buildstream/patches/qtbase-revert-correct-handling-for-xdg-runtime-dir.patch: Added.
* buildstream/patches/qtbase-use-wayland-on-gnome.patch: Added.
* buildstream/patches/qtdeclarative-use-python3.patch: Added.
* buildstream/patches/qtwayland-use-gnome-platform-theme-on-gnome-based-desktops.patch: Added.
* buildstream/patches/sccache-no-selenium.patch: Added.
* buildstream/patches/xserver-search-for-DRI-drivers-at-LIBGL_DRIVERS_PATH-environ.patch: Added.
* buildstream/project.conf: Added.
* buildstream/utils/generate-version: Added.
* gtk/install-dependencies:
* wpe/install-dependencies:
2020-05-07 Mark Lam <mark.lam@apple.com>
Fix broken exceptionFuzz tests.
https://bugs.webkit.org/show_bug.cgi?id=211550
Reviewed by Yusuke Suzuki.
Pass the --useExceptionFuzz=true option from the command line for runExceptionFuzz.
* Scripts/run-jsc-stress-tests:
2020-05-06 Kate Cheney <katherine_cheney@apple.com>
ResourceLoadStatistics data summary call should create a web process pool if one doesn't exist
https://bugs.webkit.org/show_bug.cgi?id=211520
<rdar://problem/59869619>
Reviewed by Chris Dumez.
Added API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
Removed stray comment from previous test.
(TEST):
* TestWebKitAPI/basicITPDatabase.db: Added.
* TestWebKitAPI/basicITPDatabase.db-shm: Added.
* TestWebKitAPI/basicITPDatabase.db-wal: Added.
New database resource with 2 entries: apple.com and webkit.org, with
webkit.org registered as a subframe of apple.com
2020-05-06 Wenson Hsieh <wenson_hsieh@apple.com>
Cut and paste from Google Doc to Notes in several (non-Latin) languages doesn't work
https://bugs.webkit.org/show_bug.cgi?id=211498
<rdar://problem/56675345>
Reviewed by Darin Adler.
Add a test to verify that when writing markup to the clipboard via DOM API, if non-ASCII characters appear in
the written markup, they can still be converted to `NSAttributedString`s containing the expected non-Latin text.
* TestWebKitAPI/Configurations/Base.xcconfig:
Adjust header search paths so that we can import CocoaColor.h in WebKit.
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
(readHTMLDataFromPasteboard):
(readHTMLStringFromPasteboard):
(readHTMLFromPasteboard): Deleted.
2020-05-06 Ryan Haddad <ryanhaddad@apple.com>
REGRESSION (r260278): TestWebKitAPI.Fullscreen.Delegate is timing out on macOS bots
https://bugs.webkit.org/show_bug.cgi?id=210676
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenAlert.mm:
(TestWebKitAPI::TEST): Skip the test to get the bots to green.
2020-05-06 John Wilander <wilander@apple.com>
Exempt app-bound domains from ITP's website data deletion and third-party cookie blocking between themselves
https://bugs.webkit.org/show_bug.cgi?id=210674
<rdar://problem/61950767>
Reviewed by Chris Dumez.
This change adds a new TestRunner function
setAppBoundDomain() which takes an array of origin
strings and sets them to app-bound domains.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setAppBoundDomains):
(WTR::TestRunner::didSetAppBoundDomainsCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::AppBoundDomainsCallbackContext::AppBoundDomainsCallbackContext):
(WTR::didSetAppBoundDomainsCallback):
(WTR::TestController::setAppBoundDomains):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didSetAppBoundDomains):
* WebKitTestRunner/TestInvocation.h:
2020-05-06 Aakash Jain <aakash_jain@apple.com>
Delete code for feeder queue
https://bugs.webkit.org/show_bug.cgi?id=211518
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/tool/bot/feeders.py: Removed.
* Scripts/webkitpy/tool/bot/feeders_unittest.py: Removed.
* Scripts/webkitpy/tool/commands/queues.py:
(FeederQueue): Deleted.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(TestFeederQueue): Deleted.
(FeederQueueTest): Deleted.
(PatchProcessingQueueTest): Deleted.
2020-05-06 Darin Adler <darin@apple.com>
Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code
https://bugs.webkit.org/show_bug.cgi?id=211460
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: Remove USE(DICTATION_ALTERNATIVES).
2020-05-06 Pablo Saavedra <psaavedra@igalia.com>
Python3: Support Python3 in Tools/webkitpy/benchmark_runner
https://bugs.webkit.org/show_bug.cgi?id=211249
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
(BenchmarkBuilder._fetch_remote_archive):
* Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults._format_values):
(BenchmarkResults._subtest_values_by_config_iteration):
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(istext):
(BenchmarkRunner._run_benchmark):
(BenchmarkRunner._merge):
(BenchmarkRunner.show_results):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launch_url):
* Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:
(HTTPServerDriver):
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver._wait_for_http_server):
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(parse_args):
(list_benchmark_plans):
* Scripts/webkitpy/style/checker.py:
(CheckerDispatcher._create_checker):
2020-05-06 Aakash Jain <aakash_jain@apple.com>
Delete code for QueueStatusServer
https://bugs.webkit.org/show_bug.cgi?id=211504
Reviewed by Jonathan Bedard.
* QueueStatusServer: Removed.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Removed QueueStatusServer.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance): Removed QueueStatusServer.
* Scripts/webkitpy/common/net/statusserver.py: Removed implementation of most methods. Will delete it completely
in subsequent patch along-with all its callers.
* Scripts/webkitpy/common/net/statusserver_unittest.py: Removed.
* Scripts/webkitpy/test/main.py:
2020-05-05 Ross Kirsling <ross.kirsling@sony.com>
[ECMA-402] Implement Intl.Locale
https://bugs.webkit.org/show_bug.cgi?id=209772
Reviewed by Darin Adler and Saam Barati.
* Scripts/run-jsc-stress-tests:
Add runIntlLocaleEnabled.
2020-05-05 Saam Barati <sbarati@apple.com>
Don't use the DebugHeap for catalyst
https://bugs.webkit.org/show_bug.cgi?id=211471
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp:
(TEST):
2020-05-05 Daniel Bates <dabates@apple.com>
Should show selection highlight during text interaction
https://bugs.webkit.org/show_bug.cgi?id=211362
<rdar://problem/59191873>
Reviewed by Wenson Hsieh.
Add a test to ensure the selection view has rects after selecting
text during a text interaction. These rects represents the highlight.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
2020-05-05 Aakash Jain <aakash_jain@apple.com>
webkitbot isn't responding properly in irc
https://bugs.webkit.org/show_bug.cgi?id=211458
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractQueue.run_webkit_patch): Removed status-host paramter since old ews server has been decommissioned.
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
2020-05-05 Aakash Jain <aakash_jain@apple.com>
EWS should skip Apple Win build and tests for patches that only change WebKit2 sources
https://bugs.webkit.org/show_bug.cgi?id=211210
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(WindowsFactory.__init__): enabled relevance checking for windows ews.
* BuildSlaveSupport/ews-build/factories_unittest.py: Updated unit-test.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Defined relevance info for windows ews.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestCheckPatchRelevance.test_relevant_windows_wk1_patch): Added unit test.
(TestCheckPatchRelevance.test_queues_without_relevance_info): Fixed unit-test.
2020-05-05 Mark Lam <mark.lam@apple.com>
Allow Bitmap to use up to a UCPURegister word size for internal bit storage.
https://bugs.webkit.org/show_bug.cgi?id=211328
<rdar://problem/62755865>
Reviewed by Yusuke Suzuki.
Added API tests for WTF::Bitmap to make sure that Bitmap is behaving correctly.
Since Bitmap is used in critical infrastructure like the GC, it is important to
ensure that there are no latent bugs.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Bitmap.cpp: Added.
(TestWebKitAPI::countBits):
(TestWebKitAPI::testBitmapSize):
(TestWebKitAPI::testBitmapConstructedEmpty):
(TestWebKitAPI::testBitmapSetGet):
(TestWebKitAPI::testBitmapTestAndSet):
(TestWebKitAPI::testBitmapTestAndClear):
(TestWebKitAPI::testBitmapConcurrentTestAndSet):
(TestWebKitAPI::testBitmapConcurrentTestAndClear):
(TestWebKitAPI::testBitmapClear):
(TestWebKitAPI::testBitmapClearAll):
(TestWebKitAPI::testBitmapInvert):
(TestWebKitAPI::testBitmapFindRunOfZeros):
(TestWebKitAPI::testBitmapCount):
(TestWebKitAPI::testBitmapIsEmpty):
(TestWebKitAPI::testBitmapIsFull):
(TestWebKitAPI::testBitmapMerge):
(TestWebKitAPI::testBitmapFilter):
(TestWebKitAPI::testBitmapExclude):
(TestWebKitAPI::testBitmapConcurrentFilter):
(TestWebKitAPI::testBitmapSubsumes):
(TestWebKitAPI::testBitmapForEachSetBit):
(TestWebKitAPI::testBitmapFindBit):
(TestWebKitAPI::testBitmapIteration):
(TestWebKitAPI::testBitmapMergeAndClear):
(TestWebKitAPI::testBitmapSetAndClear):
(TestWebKitAPI::testBitmapOperatorEqual):
(TestWebKitAPI::testBitmapOperatorNotEqual):
(TestWebKitAPI::testBitmapHash):
(TestWebKitAPI::TEST):
2020-05-05 Alexey Shvayka <shvaikalesh@gmail.com>
Object.prototype.toString is not spec-perfect
https://bugs.webkit.org/show_bug.cgi?id=199138
Reviewed by Darin Adler and Keith Miller.
* TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
2020-05-05 Tim Horton <timothy_horton@apple.com>
Excessive error logging from daemons trying to use WebKit, under -[UIDevice currentDevice]
https://bugs.webkit.org/show_bug.cgi?id=211397
<rdar://problem/61635403>
Reviewed by Simon Fraser.
* TestWebKitAPI/ios/UserInterfaceSwizzler.h:
We need a UIApplication or WebKit won't look at UIDevice.
2020-05-04 Darin Adler <darin@apple.com>
[Mac] Remove __MAC_OS_X_VERSION_MIN_REQUIRED checks for versions older than 10.14
https://bugs.webkit.org/show_bug.cgi?id=211420
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebCore/CtapPinTest.cpp: Remove
__MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
Removed code disabling this test for __MAC_OS_X_VERSION_MIN_REQUIRED < 101400.
* TestWebKitAPI/config.h: Removed __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::installFakeHelvetica): Removed __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
2020-05-04 Darin Adler <darin@apple.com>
Remove now-unneeded HAVE(NETWORK_EXTENSION)
https://bugs.webkit.org/show_bug.cgi?id=211424
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
Remove check of HAVE(NETWORK_EXTENSION).
* TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
(-[ContentFilteringPlugIn checkIfPlatformFrameworksAreLoaded:]): Ditto.
2020-05-04 Ben Nham <nham@apple.com>
IndexedDB WAL file keeps growing while app is in use
https://bugs.webkit.org/show_bug.cgi?id=202137
Reviewed by Brady Eidson.
Add a test to make sure that WAL auto-checkpointing actually works.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/IDBCheckpointWAL.mm: Added.
(-[IDBCheckpointWALMessageHandler userContentController:didReceiveScriptMessage:]):
(fileSizeAtPath):
(TEST):
2020-05-04 Darin Adler <darin@apple.com>
Make __IPHONE_OS_VERSION_MIN_REQUIRED checks against old versions explicit about watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=211402
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
Remove unneeded __IPHONE_OS_VERSION_MIN_REQUIRED check.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
!PLATFORM(WATCHOS) && !PLATFORM(APPLETV).
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
PLATFORM(IOS).
* TestWebKitAPI/Tests/ios/OverflowScrollViewTests.mm:
Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
!PLATFORM(WATCHOS) && !PLATFORM(APPLETV).
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView setOverrideSafeAreaInsets:]): Ditto.
2020-05-04 Darin Adler <darin@apple.com>
[Cocoa] Remove a few unneeded __IPHONE_OS_VERSION_MIN_REQUIRED checks
https://bugs.webkit.org/show_bug.cgi?id=211383
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST): Removed checks against iOS 12 and 13 in code that
uses PLATFORM(IOS), not PLATFORM(IOS_FAMILY).
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Removed a
check against iOS 11 in code using PLATFORM(IOS).
2020-05-04 Darin Adler <darin@apple.com>
Remove HAVE(IOSURFACE) checks in Cocoa-platform-specific code
https://bugs.webkit.org/show_bug.cgi?id=211389
Reviewed by Alexey Proskuryakov.
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView): Remove BEGIN/END_BLOCK_OBJC_EXCEPTIONS
since they are not needed/appropriate in test code. Remove HAVE(IOSURFACE)
since this is Cocoa-specific.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage): Ditto.
2020-05-04 Alexey Proskuryakov <ap@apple.com>
block-spammers tool should hide attachments
https://bugs.webkit.org/show_bug.cgi?id=211406
Reviewed by Darin Adler.
The logic is nearly identical to hiding comments. Just need to limit fields in the
search, so that we don't have to download attachment data.
* Scripts/block-spammers:
(get_comments):
(get_bugs_with_attachments_created_by_user):
(get_attachments):
(hide_comments):
(hide_attachments):
(main):
2020-05-04 Darin Adler <darin@apple.com>
Remove unneeded USE(MEDIAREMOTE)
https://bugs.webkit.org/show_bug.cgi?id=211385
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: Reverse conditional so it's
consistently listing which platforms we do *not* compile the test on.
2020-05-04 Alex Christensen <achristensen@webkit.org>
[Catalina] ASSERTION FAILED: Unsafe to ref/deref from different threads seen with TestWebKitAPI.MultipleClientCertificateConnections.Failure
https://bugs.webkit.org/show_bug.cgi?id=211300
Reviewed by Youenn Fablet.
RequestData references are stored in blocks given to the network framework, which does things on background threads.
To make them safe to ref and deref on non-main threads, make RequestData ThreadSafeRefCounted.
* TestWebKitAPI/cocoa/HTTPServer.mm:
2020-05-04 Darin Adler <darin@apple.com>
Remove now-unneeded HAVE(MEDIA_PLAYER)
https://bugs.webkit.org/show_bug.cgi?id=211378
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST): Removed HAVE(MEDIA_PLAYER) check since it's now always
true in Objective-C source files.
2020-05-04 Michael Catanzaro <mcatanzaro@gnome.org>
[WPE][GTK] Should install python3-secretstorage
https://bugs.webkit.org/show_bug.cgi?id=207473
Reviewed by Adrian Perez de Castro.
If python3-secretstorage is not installed, webkit-patch will use a custom encrypted file
for password storage instead of utilizing the system keyring. This means unnecessary
password prompts to unlock the custom encrypted key storage.
There is no benefit to using custom key storage over the system keyring.
* gtk/install-dependencies:
* wpe/install-dependencies:
2020-05-04 Andres Gonzalez <andresg_22@apple.com>
Add WTR::AccessibilityUIElement::attributeValueAsync to retrieve attribute values in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=211341
Reviewed by Chris Fleizach.
To simulate running WebAccessibilityObjectWrapper methods on the secondary
thread, WTR::AccessibilityUIElement dispatches those calls to the AX
thread. But some WebAccessibilityObjectWrapper calls cannot be fulfilled
on the secondary thread and in turn have to be dispatched to the main
thread. This was causing a thread lock during LayoutTests in isolated
tree mode since the initial dispatch to the secondary thread blocks the
main thread. The solution in this patch is to add an asynchronous
mechanism to retrieve attribute values.
- Added WTR::AccessibilityUIElement::attributeValueAsync.
- Made several fixes consisting of retaining variables in the main
thread whose values are computed on the secondary thread.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::executeOnAXThreadAndWait):
(WTR::AccessibilityController::executeOnAXThread):
(WTR::AccessibilityController::executeOnMainThread):
(WTR::AXThread::dispatchBarrier):
(WTR::AccessibilityController::executeOnAXThreadIfPossible): Renamed executeOnAXThreadAndWait.
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(WTR::webAccessibilityObjectWrapperClass):
(WTR::makeArrayRefForArray):
(WTR::makeObjectRefForDictionary):
(WTR::makeValueRefForValue):
(WTR::searchPredicateParameterizedAttributeForSearchCriteria):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[AccessibilityNotificationHandler startObserving]):
(-[AccessibilityNotificationHandler _notificationReceived:]):
(webAccessibilityObjectWrapperClass): Moved to AccessibilityCommonMac.
(makeValueRefForValue): Moved to AccessibilityCommonMac.
(makeArrayRefForArray): Moved to AccessibilityCommonMac.
(makeObjectRefForDictionary): Moved to AccessibilityCommonMac.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::supportedAttributes):
(WTR::attributeValue):
(WTR::setAttributeValue):
(WTR::attributesOfElement):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::attributeValueAsync):
(WTR::AccessibilityUIElement::selectTextWithCriteria):
2020-05-04 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r261076.
https://bugs.webkit.org/show_bug.cgi?id=211371
Triggers obscure X11 error on GTK bots (Requested by philn on
#webkit).
Reverted changeset:
"[Flatpak SDK] Query the doc portal path with DBus"
https://bugs.webkit.org/show_bug.cgi?id=211281
https://trac.webkit.org/changeset/261076
2020-05-04 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Support for local repository and drive-by fixes
https://bugs.webkit.org/show_bug.cgi?id=211370
Reviewed by Žan Doberšek.
This patch adds a new --repo option to webkit-flatpak, allowing
SDK developers to test local changes made to the SDK. As future
versions of the SDK will depend on the ffmpeg FDO extension,
flatpakutils installs it from now on. One consequence is that the
LD_LIBRARY_PATH set in the GTK layout test driver is no longer
overriden when running in the flatpak SDK, in order to allow the
extension to set it correctly.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* flatpak/flatpakutils.py:
(FlatpakRepos.add):
(FlatpakRepo.repo_file):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.__init__):
(WebkitFlatpak.clean_args):
(WebkitFlatpak._reset_repository):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak._get_packages):
(run_in_sandbox_if_available):
2020-05-04 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Query the doc portal path with DBus
https://bugs.webkit.org/show_bug.cgi?id=211281
Reviewed by Žan Doberšek.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-05-04 Emilio Cobos Álvarez <emilio@crisal.io>
Put lh / rlh units behind a flag until bug 211351 is sorted out.
https://bugs.webkit.org/show_bug.cgi?id=211356
Reviewed by Antti Koivisto.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
2020-05-04 Patrick Griffis <pgriffis@igalia.com>
[Flatpak SDK] Misc flatpakutils.py fixes
https://bugs.webkit.org/show_bug.cgi?id=211032
Reviewed by Philippe Normand.
Pass SSLKEYLOGFILE into sandbox which is useful for debugging with Wireshark.
Sanitize G_MESSAGES_DEBUG env var when checking output of flatpak command.
Fix check for --noninteractive support.
Fix python 3 exception when setting up icecc mixing strings and bytes.
* flatpak/flatpakutils.py:
(Console.warning_message):
(flatpak_check_output):
(check_flatpak):
(FlatpakObject.flatpak):
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-05-03 Daniel Bates <dabates@apple.com>
Attempt to fix the iOS build after r261068
(https://bugs.webkit.org/show_bug.cgi?id=208281)
Wrap TEST()s in namespace TestWebKitAPI so as to not need to qualify IPhoneUserInterfaceSwizzler.
* TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm:
(TEST): Deleted.
2020-05-03 Daniel Bates <dabates@apple.com>
[iPad Simulator] TestWebKitAPI.UIWKInteractionViewProtocol.SelectPositionAtPointAfterBecomingFirstResponder is failing
https://bugs.webkit.org/show_bug.cgi?id=208281
<rdar://problem/59829265>
Reviewed by Wenson Hsieh.
I tried to write the test SelectPositionAtPointAfterBecomingFirstResponder for both iPad and iPhone,
but it turns out that I forgot an impl detail on how form control dismissal works for iPad and fixing
this would require adding more SPI/IPI. This is largely due to differences in form control UI and
conventions for dismissing such UI. This test isn't testing such UI it just needs to ensure that the
view is not first responder before it runs the actual test code. It uses an iPhone specific set of
steps to do this. It's enough to test this functionality on iPhone.
* TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm:
(TEST):
2020-05-03 Daniel Bates <dabates@apple.com>
Update info.
* Scripts/webkitpy/common/config/contributors.json:
2020-05-02 ChangSeok Oh <changseok@webkit.org>
Unreviewed, add myself to some watch lists.
* Scripts/webkitpy/common/config/watchlist:
2020-05-02 Daniel Bates <dabates@apple.com>
Page::editableElementsInRect() should return root editable elements
https://bugs.webkit.org/show_bug.cgi?id=211343
<rdar://problem/60015801>
Reviewed by Simon Fraser.
Add some tests.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
2020-05-02 Diego Pino Garcia <dpino@igalia.com>
[GTK] Gardening, update API test expectations
https://bugs.webkit.org/show_bug.cgi?id=211337
Unreviewed gardening.
Some tests became flaky under Flatpak.
* TestWebKitAPI/glib/TestExpectations.json:
2020-05-01 Tim Horton <timothy_horton@apple.com>
Books sometimes ends up with blank pages, especially after adjusting font size
https://bugs.webkit.org/show_bug.cgi?id=211265
<rdar://problem/59898144>
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ViewExposedRect.mm: Added.
(forceRepaintCallback):
(TEST):
Add a test for the first problem, which would previously attempt to allocate
~90TB of tiles, spinning and exploding, and now happily just allocates a few.
2020-05-01 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation should observe the value attribute of some input elements
https://bugs.webkit.org/show_bug.cgi?id=211307
<rdar://problem/61568528>
Reviewed by Darin Adler.
Add a new API test that covers `<input type="submit">` and `<input type="button">`.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-05-01 Alex Christensen <achristensen@webkit.org>
Add SPI to move localStorage to a different domain
https://bugs.webkit.org/show_bug.cgi?id=209260
<rdar://problem/60285683>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2020-05-01 Wenson Hsieh <wenson_hsieh@apple.com>
Add a test for webkit.org/b/211311
https://bugs.webkit.org/show_bug.cgi?id=211319
<rdar://problem/62663459>
Reviewed by Tim Horton.
Exercise the crash fixed in r261017 with a new API test that loads a page and then uses
`-[WebHTMLView attributedSubstringFromRange:]` to try and grab the contents of the page as an attributed string.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/AttributedString.mm:
(TestWebKitAPI::AttributedStringTest_NewlineAtEndOfDocument::didLoadURL):
(TestWebKitAPI::AttributedStringTest_NewlineAtEndOfDocument::url const):
(TestWebKitAPI::AttributedStringTest_NewlineAtEndOfDocument::runSyncTest):
* TestWebKitAPI/Tests/mac/attributedStringNewlineAtEndOfDocument.html: Added.
2020-05-01 Per Arne Vollan <pvollan@apple.com>
[iOS] Every running WebContent process should be granted access to frontboard services when Accessibility is enabled
https://bugs.webkit.org/show_bug.cgi?id=211238
Reviewed by Daniel Bates.
* TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
(TEST):
2020-05-01 Don Olmstead <don.olmstead@sony.com>
[GTK] Add additional exports to support hidden visibility
https://bugs.webkit.org/show_bug.cgi?id=211246
Reviewed by Michael Catanzaro.
* DumpRenderTree/TestNetscapePlugIn/main.cpp:
* TestWebKitAPI/InjectedBundleMain.cpp:
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(webkit_web_extension_initialize_with_user_data):
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
(webkit_web_extension_initialize):
* WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
2020-05-01 Don Olmstead <don.olmstead@sony.com>
Use export macros on all platforms
https://bugs.webkit.org/show_bug.cgi?id=211293
Reviewed by Michael Catanzaro.
Remove uses of USE_EXPORT_MACROS from the DumpRenderTree xcode project. This
is the only xcode project that had any references to this value.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2020-05-01 Peng Liu <peng.liu6@apple.com>
A PiP window doesn’t actually dismiss after the browser navigates to a different page within the same domain
https://bugs.webkit.org/show_bug.cgi?id=211257
Reviewed by Jer Noble.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/AGXCompilerService.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ExitPiPOnSuspendVideoElement.mm: Added.
(-[ExitPiPOnSuspendVideoElementUIDelegate _webView:hasVideoInPictureInPictureDidChange:]):
(TestWebKitAPI::TEST):
2020-05-01 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Dropped connections when uploading archives shouldn't be fatal
https://bugs.webkit.org/show_bug.cgi?id=211248
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/results/upload.py:
(Upload.upload_archive): Dropping a connection when uploading archives shouldn't
be a fatal error.
* Scripts/webkitpy/results/upload_unittest.py:
(UploadTest.test_archive_upload):
2020-05-01 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] Honor XDG_RUNTIME_DIR when setting the document path
https://bugs.webkit.org/show_bug.cgi?id=211277
Reviewed by Philippe Normand.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Prefer using the value of
$XDG_RUNTIME_DIR instead of the hardcoded path when setting the
document portal path mount.
2020-05-01 Adrian Perez de Castro <aperez@igalia.com>
[GTK] File GtkVersioning.h should be excluded from the style checker
https://bugs.webkit.org/show_bug.cgi?id=211262
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/style/checker.py: Exclude Source/WebCore/platform/gtk/GtkVersioning.h
from style checks.
2020-04-30 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Require user gestures for LocalAuthenticator
https://bugs.webkit.org/show_bug.cgi?id=182893
<rdar://problem/43357293>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-la-no-mock.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la-no-mock.html: Added.
2020-04-30 Alex Christensen <achristensen@webkit.org>
TestWebKitAPI.WebKit.DefaultDisplayName and TestWebKitAPI.WebKit.CustomDisplayName are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=209993
<rdar://problem/61282602>
Reviewed by Chris Dumez.
The display name for the web process is set on a low-priority background queue in WebProcess::updateProcessName()
so sometimes in our test it hasn't executed yet. If it hasn't executed yet, it will soon, so try until it succeeds.
* TestWebKitAPI/Tests/WebKitCocoa/DisplayName.mm:
(TestWebKitAPI::checkUntilDisplayNameIs):
(TestWebKitAPI::TEST):
2020-04-30 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Optimize LocalAuthenticator
https://bugs.webkit.org/show_bug.cgi?id=183534
<rdar://problem/43357408>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]):
(TestWebKitAPI::TEST):
Adds a new test case for the LRU.
2020-04-30 Kate Cheney <katherine_cheney@apple.com>
Change default of "inAppBrowserPrivacyQuirks" testing toggle to use it for tests only
https://bugs.webkit.org/show_bug.cgi?id=211209
<rdar://problem/62619659>
Reviewed by Brent Fulgham.
Manually enable inAppBrowserPrivacyQuirks for certain tests which
need script evaluation to test other aspects of In-App Browser Privacy.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
2020-04-30 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Sort out certificates on Catalina
https://bugs.webkit.org/show_bug.cgi?id=202837
<rdar://problem/56177210>
Reviewed by Alex Christensen.
* Scripts/run-javascriptcore-tests:
(uploadResults): Do not allow insecure requests.
* Scripts/webkitpy/results/upload.py:
(Upload.upload): Verify ssl certificates.
(Upload.upload_archive): Ditto.
2020-04-30 Alex Christensen <achristensen@webkit.org>
Add SPI to change a WKWebView's CORS disabling pattern after initialization
https://bugs.webkit.org/show_bug.cgi?id=211211
<rdar://problem/61837474>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2020-04-30 Alex Christensen <achristensen@webkit.org>
REGRESSION: [ iOS ] http/tests/resourceLoadStatistics/standalone-web-application-exempt-from-website-data-deletion tests are flaky crashing, failing an timing out.
https://bugs.webkit.org/show_bug.cgi?id=211190
Reviewed by Chris Dumez.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories):
In tests that swap out the WebsiteDataStore, don't use the same paths as the other WebsiteDataStore.
2020-04-30 David Kilzer <ddkilzer@apple.com>
REGRESSION (r176862, r210483): Leaks of BrowserWindowController in MiniBrowser/mac/AppDelegate.m
<https://webkit.org/b/211243>
Reviewed by Tim Horton.
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate createBrowserWindowController:]):
- Autorelease return value to fix leak.
(-[BrowserAppDelegate newPrivateWindow:]):
- Release controller to fix leak.
2020-04-30 David Kilzer <ddkilzer@apple.com>
REGRESSION (r247490): Leak of MiniBrowserNSTextFinder._hideInterfaceCallback
<https://webkit.org/b/211242>
Reviewed by Tim Horton.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[MiniBrowserNSTextFinder dealloc]): Add.
- Release _hideInterfaceCallback to fix the leak.
2020-04-30 Daniel Bates <dabates@apple.com>
[iOS] Implement -markedTextRange
https://bugs.webkit.org/show_bug.cgi?id=211148
<rdar://problem/57865890>
Reviewed by Wenson Hsieh.
Add some tests.
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
(TestWebKitAPI::applyAhemStyle): Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView synchronouslyLoadHTMLStringAndWaitUntilAllImmediateChildFramesPaint:]): Added.
2020-04-30 Claudio Saavedra <csaavedra@igalia.com>
[GTK4] Add navigation and reload buttons to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=211231
Reviewed by Adrian Perez de Castro.
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowUpdateNavigationMenu):
(webViewIsLoadingChanged):
(browserWindowSetupToolbarItem):
(browser_window_init):
2020-04-30 Philippe Normand <pnormand@igalia.com>
[SOUP] http/tests/media/video-accept-encoding.html fails
https://bugs.webkit.org/show_bug.cgi?id=211228
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
2020-04-30 Andres Gonzalez <andresg_22@apple.com>
Fix for crashes in accessibility/accessibility-node-memory-management.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=211215
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::executeOnAXThreadIfPossible):
Removed the call CFRunLoopRunInMode and instead we'll use setTimeout in
each of the tests that require to complete a spin of the main run loop.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::accessibleElementById):
Need to retain ObjectiveC object when it is retrieved from the secondary thread.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::getChildrenWithRange): Dito as above.
2020-04-30 Claudio Saavedra <csaavedra@igalia.com>
[GTK4] Bring back the URI entry to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=211186
Reviewed by Carlos Garcia Campos.
GTK4 support for the URI entry added, using a GtkCenterBox
to start layouting a modern version of the toolbar.
* MiniBrowser/gtk/BrowserWindow.c:
(activateUriEntryCallback):
(webViewURIChanged):
(updateUriEntryIcon):
(faviconChanged):
(insertLinkCommandCallback):
(browser_window_init):
2020-04-29 Simon Fraser <simon.fraser@apple.com>
Add a MiniBrowser option to inset the web view so it doesn't fill the window
https://bugs.webkit.org/show_bug.cgi?id=211216
Reviewed by Tim Horton.
Add a menu item, Debug > Inset Web View to MiniBrowser which insets the view from
the edges of the window, making it possible to debug coordinate conversion issues.
The state is stored in Settings, but unlike other Settings this one doesn't
get populated into the Settings menu because it makes more logical sense grouped
with the options to Hide and Remove the web view.
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController toggleFullWindowWebView:]):
(-[BrowserWindowController webViewFillsWindow]):
(-[BrowserWindowController setWebViewFillsWindow:]):
* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController initWithMenu:]):
(-[SettingsController webViewFillsWindow]):
(-[SettingsController setWebViewFillsWindow:]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController didChangeSettings]):
2020-04-29 Chris Dumez <cdumez@apple.com>
REGRESSION(r260791) Network process fails to suspend promptly
https://bugs.webkit.org/show_bug.cgi?id=211207
<rdar://problem/62620454>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2020-04-29 Kate Cheney <katherine_cheney@apple.com>
Add better handling of an uncleared bundle identifier in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=211195
<rdar://problem/62117145>
Reviewed by Alexey Proskuryakov.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
2020-04-29 Saam Barati <sbarati@apple.com>
build-jsc should quote the value of compile flags it forwards
https://bugs.webkit.org/show_bug.cgi?id=211204
Reviewed by Mark Lam.
We should quote outgoing compile flags that have an equal in them. Before,
if build-jsc were invoked like:
$ build-jsc --release ARCHS="x86_64 i386"
It'd invoke make like:
$ make release ARCHS=x86_64 i386
leading us to try to build the "i386" target, which doesn't exist.
This patch makes us invoke make like so:
$ make release ARCHS="x86_64 i386"
* Scripts/build-jsc:
(buildMyProject):
2020-04-29 Alex Christensen <achristensen@webkit.org>
Add WKNavigationDelegate API shouldAllowDeprecatedTLS
https://bugs.webkit.org/show_bug.cgi?id=210981
<rdar://problem/61742976>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(-[TLSNavigationDelegate receivedShouldAllowDeprecatedTLS]):
(-[TLSNavigationDelegate webView:authenticationChallenge:shouldAllowDeprecatedTLS:]):
(TestWebKitAPI::TEST):
(-[TLSNavigationDelegate receivedShouldAllowLegacyTLS]): Deleted.
(-[TLSNavigationDelegate _webView:authenticationChallenge:shouldAllowLegacyTLS:]): Deleted.
* TestWebKitAPI/config.h:
2020-04-29 Kate Cheney <katherine_cheney@apple.com>
Refactor layout tests after updates to In-App Browser Privacy
https://bugs.webkit.org/show_bug.cgi?id=211146
<rdar://problem/62524127>
Reviewed by Brent Fulgham.
Removes two unused functions after updating the test cases.
setInAppBrowserPrivacyEnabled is no longer needed, setting this
in TestOptions is enough. getWebViewCategory is not needed because
this patch deletes the only test which uses it.
Adds a function to clear app-bound sessions between tests now that
multiple tests check for them.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::getWebViewCategory): Deleted.
(WTR::TestRunner::callDidReceiveWebViewCategoryCallback): Deleted.
(WTR::TestRunner::setInAppBrowserPrivacyEnabled): Deleted.
(WTR::TestRunner::callDidSetInAppBrowserPrivacyEnabledCallback): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::resetStateToConsistentValues):
Move the call to clear the bundle id to happen in
resetStateToConsistentValues to make sure the next test can set the
value if needed (otherwise results in a call to exit(1)).
(WTR::updateTestOptionsFromTestHeader):
(WTR::TestController::clearAppBoundSession):
(WTR::TestController::getWebViewCategory): Deleted.
(WTR::TestController::setInAppBrowserPrivacyEnabled): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didSetInAppBrowserPrivacyEnabled): Deleted.
(WTR::TestInvocation::didReceiveWebViewCategory): Deleted.
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
App-bound WebViews now require a special configuration argument. This
patch adds logic to enable that using a new TestOption.
(WTR::TestController::getWebViewCategory): Deleted.
2020-04-29 Aakash Jain <aakash_jain@apple.com>
[ews] Display flaky test names in build summary when ReRunJavaScriptCoreTests passes
https://bugs.webkit.org/show_bug.cgi?id=210855
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ReRunJavaScriptCoreTests.evaluateCommand): Display flaky test names in build summary.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests and removed extra TestReRunJavaScriptCoreTests class.
2020-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK4 build after r260891
* MiniBrowser/gtk/BrowserWindow.c:
2020-04-29 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Remove deprecated GTK API calls from MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=211171
Reviewed by Carlos Garcia Campos.
In preparation to porting MiniBrowser to GTK4, remove
all deprecated API calls. Also get rid of the --geometry
command-line argument and make it a no-op.
* MiniBrowser/gtk/BrowserDownloadsBar.c:
(browser_downloads_bar_init):
(browser_downloads_bar_new):
(actionButtonClicked):
(browser_download_init):
(downloadFinished):
* MiniBrowser/gtk/BrowserSearchBar.c:
(doSearch):
(searchEntryMenuIconPressedCallback):
(browser_search_bar_init):
* MiniBrowser/gtk/BrowserSettingsDialog.c:
(browser_settings_dialog_init):
* MiniBrowser/gtk/BrowserTab.c:
(createInfoBarQuestionMessage):
(browserTabConstructed):
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowHistoryItemSelected):
(browserWindowHistoryItemActivated):
(browserWindowCreateBackForwardMenu):
(browserWindowUpdateNavigationMenu):
(backForwardlistChanged):
(updateUriEntryIcon):
(webViewIsLoadingChanged):
(browserWindowSetupEditorToolbarItem):
(browserWindowSetupEditorToolbar):
(browserWindowSwitchTab):
(browserWindowSetupToolbarItem):
(browser_window_init):
(browserWindowUpdateNavigationActions): Deleted.
* MiniBrowser/gtk/main.c:
(main):
2020-04-29 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup()
https://bugs.webkit.org/show_bug.cgi?id=170553
Minor adaptations needed in the API tests to account for the differences between
GtkMenuShell and GtkPopoverMenu.
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(lookupWidgetsWalkChild): Added.
(lookupWidgets): Added.
2020-04-28 Said Abou-Hallawa <sabouhallawa@apple.com>
Upgrade motionmark1.1.plan to r260656
https://bugs.webkit.org/show_bug.cgi?id=211143
Reviewed by Darin Adler.
r260656 includes a fix for the Multiply test.
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan:
2020-04-28 Wenson Hsieh <wenson_hsieh@apple.com>
[Text manipulation] Add a userInfo dictionary to _WKTextManipulationToken
https://bugs.webkit.org/show_bug.cgi?id=211151
<rdar://problem/62329534>
Reviewed by Darin Adler.
Add a new API test to check the userInfo dictionary on text manipulation tokens.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-04-28 David Kilzer <ddkilzer@apple.com>
check-webkit-style should suggest CheckedSize for Checked<size_t, RecordOverflow>
<https://webkit.org/b/211158>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_wtf_checked_size): Add checker.
(check_style): Call check_wtf_checked_size() to check.
(CppChecker): Add 'runtime/wtf_checked_size'.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_wtf_checked_size): Add tests.
2020-04-28 Lauro Moura <lmoura@igalia.com>
[GTK] update-webkitgtk-libs: TypeError: cannot use a string pattern on a bytes-like object
https://bugs.webkit.org/show_bug.cgi?id=211144
Reviewed by Michael Catanzaro.
Unconditionally decode the output from the 'id' command to make it
work with python3.
Also check if the doc directory exists before passing it to bwrap.
Should avoid errors like these:
bwrap: Can't find source path /run/user/1000/doc: No such file or directory
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-04-28 Kate Cheney <katherine_cheney@apple.com>
Create a mechanism to add missing ITP Database tables when the schema is updated
https://bugs.webkit.org/show_bug.cgi?id=211004
<rdar://problem/62261187>
Reviewed by John Wilander.
Add test case which copies a database schema with a missing table into
the ITP database file, then ensures the pre-seeded data is
migrated over and that the schema now has all tables (including the
previously missing one).
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/missingTopFrameUniqueRedirectSameSiteStrictTableSchema.db: Added.
* TestWebKitAPI/Tests/WebKitCocoa/missingTopFrameUniqueRedirectSameSiteStrictTableSchema.db-shm: Added.
* TestWebKitAPI/Tests/WebKitCocoa/missingTopFrameUniqueRedirectSameSiteStrictTableSchema.db-wal: Added.
2020-04-28 Per Arne Vollan <pvollan@apple.com>
[Cocoa] Global preferences are not accessible in the WebContent process when CFPrefs direct mode is enabled
https://bugs.webkit.org/show_bug.cgi?id=211075
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
(TEST):
2020-04-28 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: A suite running multiple times in a commit for a single configuration may overwrite upload metadata
https://bugs.webkit.org/show_bug.cgi?id=211097
<rdar://problem/62474538>
Rubber-stamped by Aakash Jain.
Create a new table for uploads which is indexed by both uuid and timestamp so that uploads which share
a configuration and uuid but not a timestamp do not collide.
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext):
(UploadContext.UploadsByConfigurationLegacy): Renamed from UploadContext.UploadsByConfiguration.
(UploadContext.UploadsByConfiguration): New database table indexed by both timestamp and uuid.
(UploadContext.UploadsByConfiguration.unpack):
(UploadContext.__init__):
(UploadContext.find_test_results): Search both versions of the UploadsByConfiguration table.
2020-04-28 Claudio Saavedra <csaavedra@igalia.com>
[Linux] Replace --geometry with --fullscreen when using MiniBrowser for WebDriver tests
https://bugs.webkit.org/show_bug.cgi?id=211123
Reviewed by Carlos Alberto Lopez Perez.
MiniBrowser's --geometry is on its way out, so use --fullscreen
instead as it does the job.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py:
(GTKMiniBrowserDriver.launch_url):
2020-04-27 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Add support for motion events
https://bugs.webkit.org/show_bug.cgi?id=211073
Reviewed by Adrian Perez de Castro.
Use the GtkOverlay in GTK4 too so that status label is shown when hovering elements.
* MiniBrowser/gtk/BrowserTab.c:
(browserTabConstructed):
2020-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4][Wayland] Add support for rendering web view contents
https://bugs.webkit.org/show_bug.cgi?id=211021
Reviewed by Adrian Perez de Castro.
Set vertical expand of web view to TRUE.
* MiniBrowser/gtk/BrowserTab.c:
(browserTabConstructed):
2020-04-27 Philippe Normand <pnormand@igalia.com>
[GTK][WebInspector] platformSave broken when running within the Flatpak runtime
https://bugs.webkit.org/show_bug.cgi?id=209473
Reviewed by Adrian Perez de Castro.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): White-list the user document
folder into the sandbox. This seems needed by the file-chooser
popup, somehow.
2020-04-27 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: A suite running multiple times in a commit for a single configuration may pre-empt processing
https://bugs.webkit.org/show_bug.cgi?id=211094
<rdar://problem/62470170>
Reviewed by Aakash Jain.
Hash collision in processing key when results only differ by upload time.
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext.process_test_results): Include upload timestamp in the hashed key.
2020-04-27 Zhifei Fang <zhifei_fang@apple.com>
Add some debug output for run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=210999
<rdar://problem/61353156>
This will help to address where the script get stucked
Reviewed by Jonathan Bedard.
* Scripts/run-jsc-stress-tests:
2020-04-27 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation should not aggregate text from different navigation anchor elements
https://bugs.webkit.org/show_bug.cgi?id=211081
<rdar://problem/59553658>
Reviewed by Megan Gardner.
Add a new API test, and augment an existing test.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-04-27 Jonathan Bedard <jbedard@apple.com>
results.webkit.og: Add investigation endpoint
https://bugs.webkit.org/show_bug.cgi?id=209562
Rubber-stamped by Aakash Jain.
Add an endpoint that allows users to list all test failures given some criteria, and
provide a partial list of failures in the investigation drawer.
* resultsdbpy/resultsdbpy/view/static/js/commit.js:
(CommitTable): Link commit to investigation endpoint.
(_CommitBank.prototype.latest): Populate the CommitBank with the last x commits.
(_CommitBank.prototype.commitsDuringUuid): Renamed commitsDuring.
(_CommitBank.prototype. commitsDuring): Accept a range Uuids instead of a single Uuid.
(_CommitBank.prototype._load): Load a single commit if the before and after uuid match.
* resultsdbpy/resultsdbpy/view/static/js/common.js:
(paramsToQuery): False should be added as a parameter, if provided.
(percentage): Moved from investigate.js.
(elapsedTime): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/configuration.js:
(Configuration.combine): Allow configurations to be combined to a single, more general, configuration.
* resultsdbpy/resultsdbpy/view/static/js/failures.js: Added.
(Failures.prototype.fromEndpoint): Construct a failure object from the failures endpoint.
(Failures.combine): Combine two failure objects together.
(Failures):
(Failures.prototype.toParams): Convert object to parameters for other results database queries.
* resultsdbpy/resultsdbpy/view/static/js/investigate.js:
(elapsed): Used shared time elapsed function.
(percentage): Moved to common.js.
(prioritizedFailures): Return a div with a truncated list of tests which failed.
(resultsForData): Include some number of prioritized test failures based on how many bubbles are
already displayed.
(_InvestigateDrawer.prototype.expand): Dispatch failure request.
(_InvestigateDrawer.prototype.dispatch): Start request to failures endpoint.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(TimelineFromEndpoint.prototype.render.onDotEnterFactory): Add link to investigation endpoint.
(Legend): When search parameters change, we need to re-dispatch failure requests.
* resultsdbpy/resultsdbpy/view/suite_view.py:
(SuiteView._suites_for_investigation): Filter parameters for investigation endpoint.
(SuiteView.investigate): Return investigation endpoint html template.
* resultsdbpy/resultsdbpy/view/templates/investigate.html: Added.
(willFilterExpected): Check if the query parameters indicate that expected failures are to be ignored.
(commitsForRange): Return a list of commits for a uuid range.
(SuiteFailuresView.constructor): Abstraction to hold the investigation data for a single suite.
(SuiteFailuresView.reload): Dispatch requests to the results and failures endpoint to populate
investigation data.
(SuiteFailuresView.select): By default, failures for different configurations are collapsed into a single
view. Allows the user to iterate through each configuration that comprises the view.
(SuiteFailuresView.toString):
(populateRanges): Either convert the provided arguments to a range to search for failures and results
in, or use the most recent commit.
(reload): Force all suite views to re-dispatch results and failures requests.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Add space between suite content and
top bar.
* resultsdbpy/resultsdbpy/view/view_routes.py:
(ViewRoutes.__init__): Add investigate endpoint.
2020-04-27 Tim Horton <timothy_horton@apple.com>
WebKit.ResizeReversePaginatedWebView is failing (21 pages instead of 20)
https://bugs.webkit.org/show_bug.cgi?id=211001
<rdar://problem/60972357>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
* TestWebKitAPI/Tests/WebKit/lots-of-text-vertical-lr.html:
Use Ahem to keep the layout more stable.
2020-04-27 Per Arne Vollan <pvollan@apple.com>
[Cocoa] After r258891, r255119 can be reverted
https://bugs.webkit.org/show_bug.cgi?id=211083
Unreviewed revert of r255119.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/MimeTypes.mm: Removed.
2020-04-27 Daniel Bates <dabates@apple.com>
Caret may be placed in the wrong spot for text input context that is a form control
https://bugs.webkit.org/show_bug.cgi?id=210939
<rdar://problem/61943089>
Reviewed by Darin Adler.
Add a test.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TestWebKitAPI::TEST):
2020-04-27 Alexey Proskuryakov <ap@apple.com>
Make run-safari --ios-simulator work again
https://bugs.webkit.org/show_bug.cgi?id=211008
Reviewed by Darin Adler.
While at it, removed all direct uses of device.plist, and all use of Foundation.
* Scripts/webkitdirs.pm: Stopped exporting unused simulator related functions. New
code should be using webkitpy.
(simulatorDeviceFromJSON): Helper function for parsing simctl output.
(iOSSimulatorDevices): Use simctl instead of reading device.plist.
(createiOSSimulatorDevice): Device creation appears to be synchronous, I couldn't
find any reason for waiting and retrying.
(iosSimulatorApplicationsPath): This is part of the actual fix - runtime path built
here was incorrect; switched to one provided by simctl.
(shutDownIOSSimulatorDevice): Added an early return to avoid stderr spew.
(relaunchIOSSimulator): Another part of the actual fix: open Simulator.app before booting the
simulator to have it visible; CurrentDeviceUDID doesn't work.
(iosSimulatorDeviceByUDID): Stop using device.plist.
(runIOSWebKitAppInSimulator): Stop quitting Simulator.app, we only needed to shut down
the device.
(iOSSimulatorDevicesPath): Deleted.
(quitIOSSimulator): Deleted.
2020-04-27 Daniel Bates <dabates@apple.com>
Text interaction tests should ensure view is not scroll instead of looking for a zoom change
https://bugs.webkit.org/show_bug.cgi?id=211056
Reviewed by Dean Jackson.
For the text interaction sub-tests, override the scroll view's delegate so as to track
whether a scroll occurred or not instead of looking at the zoom scale. As the tests are
written looking at the zoom scale is racy. It is simpler and deterministic to detect
whether the scroll view scrolled.
The purpose of the text interaction sub-tests are to ensure that zooming to reveal
the focused element is suppressed until the interaction completes with a call to
-_didFinishTextInteractionInTextInputContext. I added some more assertions to ensure this.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(-[TextInteractionScrollDelegate scrollViewDidScroll:]):
(TestWebKitAPI::TEST):
2020-04-27 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Make it possible to build with GTK4 without errors
https://bugs.webkit.org/show_bug.cgi?id=210967
Reviewed by Adrian Perez de Castro.
* MiniBrowser/gtk/BrowserCellRendererVariant.c:
* MiniBrowser/gtk/BrowserCellRendererVariant.h:
* MiniBrowser/gtk/BrowserDownloadsBar.c:
* MiniBrowser/gtk/BrowserDownloadsBar.h:
* MiniBrowser/gtk/BrowserMain.c: Added.
(browser_main):
(browser_main_quit):
* MiniBrowser/gtk/BrowserMain.h: Added.
* MiniBrowser/gtk/BrowserSearchBar.c:
* MiniBrowser/gtk/BrowserSearchBar.h:
* MiniBrowser/gtk/BrowserSettingsDialog.c:
* MiniBrowser/gtk/BrowserSettingsDialog.h:
* MiniBrowser/gtk/BrowserTab.c:
(browserTabConstructed):
(browser_tab_start_search):
(browser_tab_stop_search):
(browser_tab_enter_fullscreen):
(browser_tab_leave_fullscreen):
* MiniBrowser/gtk/BrowserTab.h:
* MiniBrowser/gtk/BrowserWindow.c:
(webViewURIChanged):
(resetEntryProgress):
(webViewLoadProgressChanged):
(downloadStarted):
(browserWindowUpdateNavigationActions):
(webViewReadyToShow):
(browserWindowUpdateZoomActions):
(webViewZoomLevelChanged):
(updateUriEntryIcon):
(webViewIsLoadingChanged):
(browserWindowFinalize):
(browserWindowSetupEditorToolbar):
(browserWindowSwitchTab):
(browser_window_init):
(browser_window_class_init):
(browser_window_new):
(browser_window_append_view):
(browser_window_set_background_color):
(browser_window_get_or_create_web_view_for_automation):
* MiniBrowser/gtk/CMakeLists.txt:
* MiniBrowser/gtk/main.c:
(main):
* PlatformGTK.cmake:
* Scripts/webkitpy/style/checker.py:
* TestWebKitAPI/glib/PlatformGTK.cmake:
2020-04-27 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Regenerate toolchains only if new updates were downloaded
https://bugs.webkit.org/show_bug.cgi?id=210804
Reviewed by Žan Doberšek.
The SDK toolchain archives are now regenerated only if an actual
update was downloaded from the Flatpak repository. Some redundant
flatpak calls were removed as well, such as the GL extension and
Debug reinstalls that were happening during webkit-flatpak
updates.
* flatpak/flatpakutils.py:
(FlatpakObject.flatpak):
(FlatpakRepo.__init__):
(WebkitFlatpak.main):
(WebkitFlatpak.setup_dev_env):
2020-04-27 Philippe Normand <pnormand@igalia.com>
unable to build from tot - linux - flatpakutils.py - TypeError: not enough arguments for format string
https://bugs.webkit.org/show_bug.cgi?id=210941
Reviewed by Žan Doberšek.
* flatpak/flatpakutils.py:
(check_flatpak): Fix error message formating.
2020-04-26 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
[PlayStation] Enable TestWTF and TestWebCore
https://bugs.webkit.org/show_bug.cgi?id=208849
Reviewed by Don Olmstead.
* TestWebKitAPI/PlatformPlayStation.cmake:
* TestWebKitAPI/playstation/main.cpp: Added.
(main): Load runtime libraries.
2020-04-26 Yusuke Suzuki <ysuzuki@apple.com>
Warn when NeverDestroyed<Lock> is used
https://bugs.webkit.org/show_bug.cgi?id=211054
Reviewed by Darin Adler.
WTF::Lock and WTF::Condition are designed to be constant-initialize compliant. So NeverDestroyed<> for these types are not necessary,
or rather, introducing race condition issue while `static Lock` doesn't have that issue. This patch adds lint rules which prevent
us from using `NeverDestroyed<Lock>` and `LazyNeverDestroyed<Lock>`.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_wtf_never_destroyed):
(check_style):
(CppChecker):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_wtf_never_destroyed):
2020-04-25 Darin Adler <darin@apple.com>
[Cocoa] Deal with another round of Xcode upgrade checks
https://bugs.webkit.org/show_bug.cgi?id=211027
Reviewed by Alexey Proskuryakov.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Bump the upgrade check version.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Bump the upgrade check version.
Add a harmless base localization; this project contains nothing localized. Also let the
script sort the project.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Bump the upgrade check version.
Add a harmless base localization; this project contains nothing localized. Also let the
script sort the project.
2020-04-25 Darin Adler <darin@apple.com>
Move URL to use StringView when returning substrings of the URL
https://bugs.webkit.org/show_bug.cgi?id=210431
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WTF/URL.cpp: Removed the test for
equalIgnoringQueryAndFragment since we removed that function.
Updated for rename of URL::password from URL::pass.
Updated arguments to isMatchingDomain to pass literals that can be converted
to StringView rather than ASCIILiteral, which StringView doesn't yet support.
* TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:
(TestWebKitAPI::checkURL): Updated for rename of URL::password from URL::pass.
(TestWebKitAPI::checkRelativeURL): Ditto.
(TestWebKitAPI::checkURLDifferences): Ditto.
(TestWebKitAPI::checkRelativeURLDifferences): Ditto.
(TestWebKitAPI::testUserPassword): Ditto.
2020-04-25 Diego Pino Garcia <dpino@igalia.com>
[Flatpak SDK][EWS] Install dependencies step needs configuration as argument
https://bugs.webkit.org/show_bug.cgi?id=210913
Follow-up on r260560. The same change is needed for EWS bots.
Reviewed by Philippe Normand.
* BuildSlaveSupport/ews-build/steps.py:
(InstallGtkDependencies): Pass 'configuration' value (Release, Debug).
(InstallWpeDependencies): Pass 'configuration' value (Release, Debug).
2020-04-24 Alex Christensen <achristensen@webkit.org>
REGRESSION(260485) Payment requests don't do anything
https://bugs.webkit.org/show_bug.cgi?id=210997
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2020-04-24 Wenson Hsieh <wenson_hsieh@apple.com>
Make some more adjustments to TextManipulationController's paragraph boundary heuristic
https://bugs.webkit.org/show_bug.cgi?id=210993
<rdar://problem/61571299>
Reviewed by Tim Horton.
Add a new API test with buttons and links styled with `display: inline-block;`. Additionally, rebaseline an
existing API test that exercises inline-block list items.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-04-24 Chris Dumez <cdumez@apple.com>
[iOS] Always run WKTR's WKWebViews at foreground priority
https://bugs.webkit.org/show_bug.cgi?id=210991
Reviewed by Keith Miller.
Always run WKTR's WKWebViews at foreground priority. This makes sure that they don't suspend and
run at foreground priority on iOS, even if those views are not visible on screen.
This is an issue to address flakiness on the bots.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
2020-04-24 Kate Cheney <katherine_cheney@apple.com>
Removing website data for a domain should delete corresponding ITP entry
https://bugs.webkit.org/show_bug.cgi?id=210864
<rdar://problem/59473193>
Reviewed by John Wilander.
Created 2 new APIs for testing. One to mimic clearing website data
for a domain, and one to check if the domain exists in the database
after a deletion was requested.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::doesStatisticsDomainIDExistInDatabase):
(WTR::TestRunner::domainIDExistsInDatabase): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::doesStatisticsDomainIDExistInDatabase):
(WTR::TestController::domainIDExistsInDatabase): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2020-04-24 Antoine Quint <graouts@apple.com>
Update the css/css-animations WPT tests
https://bugs.webkit.org/show_bug.cgi?id=210964
Reviewed by Dean Jackson.
Turn on the CSSCustomPropertiesAndValues experimental feature which a new test relies on.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
2020-04-24 David Kilzer <ddkilzer@apple.com>
check-webkit-style should recognize *Internal.h and *Private.h as primary headers
<https://webkit.org/b/210979>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(_classify_include): If a header has an "Internal.h" or a
"Private.h" suffix with the same base name as the source file,
consider it a primary header--the header that comes after
"config.h".
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.test_classify_include): Add tests.
2020-04-24 Alex Christensen <achristensen@webkit.org>
SPI clients using fastServerTrustEvaluationEnabled need SPI to inform them of modern TLS negotiation
https://bugs.webkit.org/show_bug.cgi?id=210533
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(-[TLSNavigationDelegate waitForDidNegotiateModernTLS]):
(-[TLSNavigationDelegate _webView:didNegotiateModernTLS:]):
(TestWebKitAPI::TEST):
2020-04-24 Brian Burg <bburg@apple.com>
webkitpy: update autoinstalled mozprocess dependency to 1.1.0 (adds python3 support)
https://bugs.webkit.org/show_bug.cgi?id=210220
<rdar://problem/58881483>
Reviewed by Anders Carlsson.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_mozprocess):
2020-04-24 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] White-list more GStreamer environment variables in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=210854
<rdar://problem/62238305>
Reviewed by Carlos Alberto Lopez Perez.
Extra variables need to be white-listed when the webkitpy tooling
runs inside a gst-build environment, those variables are needed so
that uninstalled GStreamer plugins are correctly picked up.
Additionally we now correctly white-list the
WEBKIT_GST_USE_PLAYBIN3 env var. USE_PLAYBIN3 shouldn't be used
anymore.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
2020-04-23 Yusuke Suzuki <ysuzuki@apple.com>
stress/ensure-crash.js shouldn't spew stuff onto my screen
https://bugs.webkit.org/show_bug.cgi?id=210931
Reviewed by Ross Kirsling.
Set noisyOutputHandler when crash! is specified. We also specify noisyOutputHandler for runComplexTest.
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
* Scripts/webkitruby/jsc-stress-test-writer-playstation.rb:
* Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
2020-04-23 Yusuke Suzuki <ysuzuki@apple.com>
Disable useKernTCSM=false for JSC stress tests to make EWS faster
https://bugs.webkit.org/show_bug.cgi?id=210950
Reviewed by Mark Lam.
This patch removes "JSC_useKernTCSM=false" environment variable in JSC stress tests.
Alexey found that this causes EWS JSC stress tests slow down (from roughly 63 mins to 83 mins).
This slow down happens in Mac Pro (which is used in JSC EWS right now), and this slow down does
not happen in Mac mini (post-commit buildbot) and rather improves Mac Mini execution time by 15%,
but keeping EWS faster is more important than making post-commit bots faster.
* Scripts/run-javascriptcore-tests:
2020-04-23 Yusuke Suzuki <ysuzuki@apple.com>
Support `--report-execution-time` to report execution time for each JSC stress test
https://bugs.webkit.org/show_bug.cgi?id=210938
Reviewed by Saam Barati.
We can run `run-javascriptcore-tests` with `--report-execution-time` option to report execution time for each JSC stress test,
to figure out which test is taking a long time. It appends execution-time to the verbose log. To see it stderr, --verbose is also
required.
$ run-javascriptcore-tests .... --verbose --report-execution-time
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2020-04-23 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation does not account for text in fully clipped containers
https://bugs.webkit.org/show_bug.cgi?id=210940
<rdar://problem/61137648>
Reviewed by Tim Horton.
Add a new text manipulation API test.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-04-23 Jer Noble <jer.noble@apple.com>
REGRESSION (r260278): TestWebKitAPI.Fullscreen.Delegate is timing out on macOS bots
https://bugs.webkit.org/show_bug.cgi?id=210676
<rdar://problem/61953702>
Reviewed by Daniel Bates.
A number of API tests modify the WKWebViewConfiguration after calling -[WKWebView initWithFrame:configuration:], which
could be a source of failures or flakiness. Update these tests to set those configuration values before passing the
configuration to WKWebView.
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenAlert.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenLayoutConstraints.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/TopContentInset.mm:
(TestWebKitAPI::TEST):
2020-04-23 Saam Barati <sbarati@apple.com>
DumpRenderTree should have the JIT entitlement on Mac
https://bugs.webkit.org/show_bug.cgi?id=210887
<rdar://problem/62228740>
Reviewed by Tim Horton.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/DumpRenderTree.entitlements: Added.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
2020-04-23 Kate Cheney <katherine_cheney@apple.com>
All ITP database tables should reference the ObservedDomains table on DELETE CASCADE
https://bugs.webkit.org/show_bug.cgi?id=210874
<rdar://problem/62209438>
Reviewed by Brady Eidson.
Adds a new database file with pre-entered values and the old schema.
Adds an API test which checks if the data was migrated after
initializing the ITP database.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/incorrectCreateTableSchema.db: Added.
* TestWebKitAPI/Tests/WebKitCocoa/incorrectCreateTableSchema.db-shm: Added.
* TestWebKitAPI/Tests/WebKitCocoa/incorrectCreateTableSchema.db-wal: Added.
2020-04-23 Don Olmstead <don.olmstead@sony.com>
[CMake] CMAKE_BINARY_DIR should always be a PRIVATE include directory
https://bugs.webkit.org/show_bug.cgi?id=196717
Reviewed by Michael Catanzaro.
Include CMAKE_BINARY_DIR.
* MiniBrowser/gtk/CMakeLists.txt:
* TestWebKitAPI/glib/CMakeLists.txt:
2020-04-23 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r260552.
Broke internal builds.
Reverted changeset:
"DumpRenderTree should have the JIT entitlement on Mac"
https://bugs.webkit.org/show_bug.cgi?id=210887
https://trac.webkit.org/changeset/260552
2020-04-23 Wenson Hsieh <wenson_hsieh@apple.com>
Add a heuristic for text manipulation to treat some list items as paragraph boundaries
https://bugs.webkit.org/show_bug.cgi?id=210915
<rdar://problem/61907080>
Reviewed by Megan Gardner.
Add a new API test to exercise text manipulation over several different cases of lists and list items.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-04-23 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r260562.
https://bugs.webkit.org/show_bug.cgi?id=210924
It caused 3 new failures and 1 timeout in GTK API tests
(Requested by clopez on #webkit).
Reverted changeset:
"[GTK][WPE] White-list more GStreamer environment variables in
webkitpy"
https://bugs.webkit.org/show_bug.cgi?id=210854
https://trac.webkit.org/changeset/260562
2020-04-23 Sihui Liu <sihui_liu@apple.com>
TextManipulationController should set range of paragraph using token's positions
https://bugs.webkit.org/show_bug.cgi?id=210866
<rdar://problem/60646283>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-04-23 Emilio Cobos Álvarez <emilio@crisal.io>
Unreviewed, add my bugzilla / slack nick to contributors.json
* Scripts/webkitpy/common/config/contributors.json:
2020-04-23 Philippe Normand <pnormand@igalia.com>
[JHBuild] Add mock release/debug options to the update script
Rubber-stamped by Carlos Alberto Lopez Perez.
These options are now required after r260560. They're not used
though because JHBuild itself doesn't have the notion of build
configuration, unlike the Flatpak SDK.
* Scripts/update-webkit-libs-jhbuild:
2020-04-23 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] White-list more GStreamer environment variables in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=210854
Reviewed by Adrian Perez de Castro.
Extra variables need to be white-listed when the webkitpy tooling
runs inside a gst-build environment, those variables are needed so
that uninstalled GStreamer plugins are correctly picked up.
Additionally we now correctly white-list the
WEBKIT_GST_USE_PLAYBIN3 env var. USE_PLAYBIN3 shouldn't be used
anymore.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
2020-04-23 Diego Pino Garcia <dpino@igalia.com>
[Flatpak SDK] Install dependencies step needs configuration as argument
https://bugs.webkit.org/show_bug.cgi?id=210898
Reviewed by Philippe Normand.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(InstallGtkDependencies): Pass 'configuration' value (Release, Debug).
(InstallWpeDependencies): Pass 'configuration' value (Release, Debug).
2020-04-22 Darin Adler <darin@apple.com>
[Cocoa] Build with UChar as char16_t even in builds that use Apple's internal SDK
https://bugs.webkit.org/show_bug.cgi?id=210845
Reviewed by Anders Carlsson.
* TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
(TestWebKitAPI::TEST): Get rid of an obsolete cast to unsigned to work
around uint16_t not being treated as a number by makeString.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST): Ditto.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(TestWebKitAPI::TEST): Ditto.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST): Ditto.
* TestWebKitAPI/Tests/WebKit/EnvironmentUtilitiesTest.cpp:
Add an include needed since EvironmentUtilities.h now includes less.
2020-04-22 Saam Barati <sbarati@apple.com>
DumpRenderTree should have the JIT entitlement on Mac
https://bugs.webkit.org/show_bug.cgi?id=210887
Reviewed by Tim Horton.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/Configurations/BaseTarget.xcconfig:
* DumpRenderTree/mac/Configurations/DumpRenderTree.entitlements: Added.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
2020-04-22 Chris Dumez <cdumez@apple.com>
[iOS] Expose -_webView:willGoToBackForwardListItem:inPageCache:
https://bugs.webkit.org/show_bug.cgi?id=210878
<rdar://problem/62202276>
Reviewed by Alex Christensen.
Enable corresponding API test on iOS.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
2020-04-22 Daniel Bates <dabates@apple.com>
Add a test for -focusTextInputContext on a field in detached frame
https://bugs.webkit.org/show_bug.cgi?id=210704
Reviewed by Wenson Hsieh.
Calling -focusTextInputContext on a field in a detached frame should not
cause a focus change. Add a test to ensure this behavior doesn't regress.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TEST):
2020-04-22 Don Olmstead <don.olmstead@sony.com>
[CMake] Use WEBKIT_EXECUTABLE in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=210132
Reviewed by Adrian Perez de Castro.
Modify CMake code to use WEBKIT_EXECUTABLE when creating WebKitTestRunner.
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/PlatformFTW.cmake:
* WebKitTestRunner/PlatformGTK.cmake:
* WebKitTestRunner/PlatformWPE.cmake:
* WebKitTestRunner/PlatformWin.cmake:
2020-04-22 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WebKit::WebCoreTestSupport target
https://bugs.webkit.org/show_bug.cgi?id=210867
Reviewed by Michael Catanzaro.
Use the WebKit::WebCoreTestSupport target in DumpRenderTree. Fix an
include for WPE in WebKitTestRunner.
* DumpRenderTree/CMakeLists.txt:
* DumpRenderTree/PlatformWin.cmake:
* WebKitTestRunner/PlatformWPE.cmake:
2020-04-22 Sihui Liu <sihui_liu@apple.com>
TextManipulation.CompleteTextManipulationAvoidCrashingWhenContentIsRemoved does not wait for result
https://bugs.webkit.org/show_bug.cgi?id=210871
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
2020-04-22 Alex Christensen <achristensen@webkit.org>
Add unit test for resuming downloads
https://bugs.webkit.org/show_bug.cgi?id=210852
Reviewed by Brady Eidson.
This is a test that we should've written years ago.
I made HTTPServer able to take a Function that takes a nw_connection_t to give it more power than declarative request/response pairs.
I made TestDownloadDelegate to be reused by future tests, like those I'm going to add for bug 210313.
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(longString):
(TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::HTTPServer::totalRequests const): Deleted.
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::RequestData::RequestData):
(TestWebKitAPI::HTTPServer::listenerParameters):
(TestWebKitAPI::startListening):
(TestWebKitAPI::HTTPServer::HTTPServer):
(TestWebKitAPI::HTTPServer::totalRequests const):
(TestWebKitAPI::dataFromString):
(TestWebKitAPI::nullTerminatedRequest):
(TestWebKitAPI::HTTPServer::respondToRequests):
* TestWebKitAPI/cocoa/TestDownloadDelegate.h: Added.
* TestWebKitAPI/cocoa/TestDownloadDelegate.mm: Added.
(-[TestDownloadDelegate _downloadDidStart:]):
(-[TestDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[TestDownloadDelegate _download:didReceiveResponse:]):
(-[TestDownloadDelegate _download:didReceiveData:]):
(-[TestDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(-[TestDownloadDelegate _downloadDidFinish:]):
(-[TestDownloadDelegate _download:didFailWithError:]):
(-[TestDownloadDelegate _downloadDidCancel:]):
(-[TestDownloadDelegate _download:didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestDownloadDelegate _download:didCreateDestination:]):
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
2020-04-22 Saam Barati <sbarati@apple.com>
makeValueRefForValue should be robust against the type encoding of a NSNumber backed by a boolean
https://bugs.webkit.org/show_bug.cgi?id=210821
<rdar://problem/62136598>
Reviewed by Tim Horton.
* DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(makeValueRefForValue):
2020-04-21 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, reverting r260410.
Caused crashes in Safari
Reverted changeset:
"SPI clients using fastServerTrustEvaluationEnabled need SPI
to inform them of modern TLS negotiation"
https://bugs.webkit.org/show_bug.cgi?id=210533
https://trac.webkit.org/changeset/260410
2020-04-21 Cathie Chen <cathiechen@igalia.com>
REGRESSION (r254790): No longer get smooth scrolling on music.apple.com
https://bugs.webkit.org/show_bug.cgi?id=210634
Reviewed by Darin Adler.
Add settings-flag. Add support for CSSOMViewSmoothScrolling on Windows DumpRenderTree.
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
(setWebPreferencesForTestOptions):
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check_codegen_properties):
2020-04-21 Peng Liu <peng.liu6@apple.com>
Fix MACCATALYST build failures
https://bugs.webkit.org/show_bug.cgi?id=210815
Reviewed by Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-04-19 Darin Adler <darin@apple.com>
[Cocoa] Use createNSArray in many more places that build NSArray objects from C++ collections
https://bugs.webkit.org/show_bug.cgi?id=210702
Reviewed by Alex Christensen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(activateTestingFonts): Use constexpr and NSString instead of a null-pointer terminated
array for the font names. Use createNSArray.
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
Use createNSArray.
* Scripts/webkitpy/style/checkers/cpp.py:
(find_parameter_name_index): Fixed a spelling error.
(_check_parameter_name_against_text): Added a special case to not complain that
parameters named "]" have redundant names. Not obvious to me how to write a test case for
this and how to fix this in a more sensible way, but immediately helpful to not get this
spurious warning.
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::activateSystemCoreWebFonts): Use constexpr array instead of NSArray for font names.
(WTR::activateFonts): Use constexpr and NSString instead of a null-pointer terminated
array for the font names. Use createNSArray.
2020-04-21 Matt Lewis <jlewis3@apple.com>
Bindings-test should not depend on current working directory.
https://bugs.webkit.org/show_bug.cgi?id=210831
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.main):
2020-04-21 Daniel Bates <dabates@apple.com>
Attempt to fix the build after r260449
(https://bugs.webkit.org/show_bug.cgi?id=210697)
Wrap the C++ methods in namespace TestWebKitAPI so that IPhoneUserInterfaceSwizzler can be
used unqualified.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
2020-04-21 Darin Adler <darin@apple.com>
WTF API test for StringConcatenate failing for internal Apple builds
https://bugs.webkit.org/show_bug.cgi?id=210812
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
(TestWebKitAPI::TEST): Add back a case for when UChar is uint16_t.
2020-04-21 Kate Cheney <katherine_cheney@apple.com>
Move WebKit.WebViewCategory test to InAppBrowserPrivacy.mm
https://bugs.webkit.org/show_bug.cgi?id=210811
<rdar://problem/60972505>
Reviewed by Alexey Proskuryakov.
This test was added before InAppBrowserPrivacy.mm existed. It should
be moved here so it has access to all setup/cleanup needed by these
tests.
* TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
2020-04-21 Daniel Bates <dabates@apple.com>
[iOS] -_didFinishTextInteractionInTextInputContext should only zoom to reveal focused element if it changed
https://bugs.webkit.org/show_bug.cgi?id=210697
<rdar://problem/60997530>
Reviewed by Wenson Hsieh.
I use the term "assisted" below and in the tests to describe an element that is both DOM
focused and the UI process is showing an input view (like the software keyboard) for it.
For many of the tests I check for a zoom scale change as a way to detect if the page
zoomed to reveal the focused element.
Add some tests for the following cases:
1. Place the caret in a focused field that isn't being assisted.
2. Focusing an assisted element should not scroll the page.
3. Focusing an offscreen read-only element should not change zoom scale.
4. Focusing an offscreen element should change the zoom scale.
5. Calling -_focusTextInputContext on an offscreen element multiple times
during a text interaction should change the zoom scale. The purpose of this test is
to ensure that later calls that do not focus the element (because it is already focused)
don't prevent zooming for the first call that did focus the element.
6. Focusing an offscreen element, defocusing it, disabling it, and focusing it
again during a text interaction should not change zoom scale.
7. Focusing an offscreen element, defocusing it, and focusing it again during a
text interaction should change zoom scale.
8. Focusing an assisted element during a text interaction should not change zoom scale.
9. Focusing a non-assisted focused element during a text interaction should change zoom scale.
While I am here, I consolidated the RAII helper classes IPhoneUserInterfaceSwizzler and
IPadUserInterfaceSwizzler into a single UserInterfaceSwizzler templated class and defined
the former two as template instances.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TextInteractionForScope::TextInteractionForScope):
(TextInteractionForScope::~TextInteractionForScope):
Added convenience RAII object to call -_willBeginTextInteractionInTextInputContext
and -_didFinishTextInteractionInTextInputContext.
(TEST): Added.
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
* TestWebKitAPI/ios/IPadUserInterfaceSwizzler.h: Removed.
* TestWebKitAPI/ios/PreferredContentMode.mm:
(IPhoneUserInterfaceSwizzler::IPhoneUserInterfaceSwizzler): Deleted; movedinto UserInterfaceSwizzler.h.
(IPhoneUserInterfaceSwizzler::phoneUserInterfaceIdiom): Deleted; no longer needed.
* TestWebKitAPI/ios/UserInterfaceSwizzler.h: Renamed from Tools/TestWebKitAPI/ios/IPadUserInterfaceSwizzler.h.
(TestWebKitAPI::UserInterfaceSwizzler::UserInterfaceSwizzler): Formerly named IPadUserInterfaceSwizzler;
repurposed into general purpose template class, consolidating code from PreferredContentMode.mm.
Privately inherits from InstanceMethodSwizzler instead of using composition as that simplifies
the source code a tiny bit.
(TestWebKitAPI::UserInterfaceSwizzler::effectiveUserInterfaceIdiom): Renamed; formerly padUserInterfaceIdiom.
2020-04-21 Timothy Hatcher <timothy@apple.com>
Reset m_userScriptsNotified when web process crashes.
https://bugs.webkit.org/show_bug.cgi?id=210807
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST): Test crashing the web process and reloading.
2020-04-21 Aakash Jain <aakash_jain@apple.com>
[ews] Display error message when submit for EWS analysis button doesn't work
https://bugs.webkit.org/show_bug.cgi?id=210803
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/submittoews.py:
(SubmitToEWS.post): Display relevant error message on submit for EWS analysis button failure.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(BugzillaPatchFetcher.fetch):
(BugzillaPatchFetcher.send_patches_to_buildbot):
* BuildSlaveSupport/ews-app/ews/config.py: Add few more error codes.
2020-04-21 Lauro Moura <lmoura@igalia.com>
[GStreamer][JHBuild] Update to 1.16.2
https://bugs.webkit.org/show_bug.cgi?id=210730
Reviewed by Philippe Normand.
Moving the bots closer to the flatpak SDK versions.
* gstreamer/jhbuild.modules:
* gstreamer/patches/base-0001-glupload-Add-VideoMetas-and-GLSyncMeta-to-the-raw-up.patch: Removed.
2020-04-21 Alexey Proskuryakov <ap@apple.com>
Correct the path to libclang_rt.asan_iossim_dynamic.dylib in LC_RPATH
https://bugs.webkit.org/show_bug.cgi?id=210770
rdar://problem/61904541
Reviewed by Alex Christensen.
* asan/asan.xcconfig:
2020-04-21 Diego Pino Garcia <dpino@igalia.com>
[Flatpak SDK] Keep env variable 'RESULTS_SERVER_API_KEY'
https://bugs.webkit.org/show_bug.cgi?id=210798
Reviewed by Philippe Normand.
The variable is needed by several bot steps to upload results.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-04-21 Adrian Perez de Castro <aperez@igalia.com>
[GTK][CMake] Make gtk-unix-print a component of FindGTK.cmake
https://bugs.webkit.org/show_bug.cgi?id=210792
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/glib/PlatformGTK.cmake: Use the GTK::UnixPrint imported target.
2020-04-21 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Silence git stderr output
https://bugs.webkit.org/show_bug.cgi?id=210789
Reviewed by Sergio Villar Senin.
* flatpak/flatpakutils.py:
(WebkitFlatpak.is_branch_build): Don't display git errors, usually
emitted when operating on a SVN checkout.
2020-04-21 Philippe Normand <pnormand@igalia.com>
[CMake][Flatpak SDK] gst-build-backed build fails
https://bugs.webkit.org/show_bug.cgi?id=210742
Reviewed by Xabier Rodriguez-Calvar.
Add non-core GStreamer include-dirs necessary for the compilation
of the GStreamer API test. Usually GSTREAMER_INCLUDE_DIRS is
sufficient because on a GStreamer system-wide installation, all
headers are stored in the same root include dir, the same as the
core GStreamer library.
But when building with gst-build, include-dirs are scattered all
over the place.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
2020-04-20 Ross Kirsling <ross.kirsling@sony.com>
Classes marked final should not use protected access specifier
https://bugs.webkit.org/show_bug.cgi?id=210775
Reviewed by Daniel Bates.
* DumpRenderTree/win/DefaultPolicyDelegate.h:
* DumpRenderTree/win/UIDelegate.h:
2020-04-20 Peng Liu <peng.liu6@apple.com>
Fix build failures when video fullscreen and picture-in-picture is disabled
https://bugs.webkit.org/show_bug.cgi?id=210777
Reviewed by Eric Carlson.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-04-20 Alex Christensen <achristensen@webkit.org>
SPI clients using fastServerTrustEvaluationEnabled need SPI to inform them of modern TLS negotiation
https://bugs.webkit.org/show_bug.cgi?id=210533
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(-[TLSNavigationDelegate waitForDidNegotiateModernTLS]):
(-[TLSNavigationDelegate _webView:didNegotiateModernTLS:]):
(TestWebKitAPI::TEST):
2020-04-20 Kate Cheney <katherine_cheney@apple.com>
App-bound domain behavior should abide by the limitsNavigationsToAppBoundDomains argument in WKWebView configuration
https://bugs.webkit.org/show_bug.cgi?id=210769
<rdar://problem/62065241>
Reviewed by Brent Fulgham.
Removes any tests for swapping between app-bound and non app-bound
domains as this behavior is no longer supported.
Sets the limitsNavigationsToAppBoundDomains flag for tests which should
have app-bound behavior to maintain test functionality.
Adds 5 new tests for new behavior.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
(-[AppBoundDomainDelegate webView:didFinishNavigation:]):
(-[AppBoundDomainDelegate webView:didFailProvisionalNavigation:withError:]):
(-[AppBoundDomainDelegate waitForDidFinishNavigation]):
(-[AppBoundDomainDelegate waitForDidFailProvisionalNavigationError]):
2020-04-20 Megan Gardner <megan_gardner@apple.com>
Date and Time form controls not showing correct initial values on immediate second invocation.
https://bugs.webkit.org/show_bug.cgi?id=210613
Reviewed by Wenson Hsieh.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::timePickerValueHour const):
(WTR::UIScriptController::timePickerValueMinute const):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::timePickerValueHour const):
(WTR::UIScriptControllerIOS::timePickerValueMinute const):
2020-04-20 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation sometimes fails to replace text in title elements
https://bugs.webkit.org/show_bug.cgi?id=210750
<rdar://problem/61066103>
Reviewed by Tim Horton and Darin Adler.
Add a new API test to verify that a single title or option element may be replaced with multiple tokens, as long
as all the token identifiers match.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2020-04-20 Stephan Szabo <stephan.szabo@sony.com>
[PlayStation] Fix build after r260277
https://bugs.webkit.org/show_bug.cgi?id=210756
Reviewed by Don Olmstead.
* TestWebKitAPI/PlatformPlayStation.cmake:
2020-04-20 Wenson Hsieh <wenson_hsieh@apple.com>
Oversized caret and selection rects in text fields on ganji.com and netflix.com/login
https://bugs.webkit.org/show_bug.cgi?id=210622
<rdar://problem/45945636>
Reviewed by Darin Adler.
Rebaseline some expected selection and caret rects in some iOS API tests.
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
(TEST):
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
2020-04-20 Darin Adler <darin@apple.com>
Use #import instead of #include in Objective-C and don't use #pragma once
https://bugs.webkit.org/show_bug.cgi?id=210724
Reviewed by David Kilzer.
* DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm:
* DumpRenderTree/ios/DumpRenderTreeAppMain.mm:
* DumpRenderTree/mac/AccessibilityCommonMac.h:
* DumpRenderTree/mac/DumpRenderTreeMain.mm:
* TestRunnerShared/cocoa/ClassMethodSwizzler.mm:
* TestRunnerShared/cocoa/InstanceMethodSwizzler.mm:
* TestRunnerShared/cocoa/LayoutTestSpellChecker.h:
* TestRunnerShared/mac/NSPasteboardAdditions.h:
* TestRunnerShared/spi/AppKitTestSPI.h:
* TestRunnerShared/spi/PencilKitTestSPI.h:
* TestWebKitAPI/DataDetectorsCoreSPI.h:
* TestWebKitAPI/EditingTestHarness.h:
* TestWebKitAPI/EditingTestHarness.mm:
* TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:
* TestWebKitAPI/Tests/WebCore/LineBreaking.mm:
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
* TestWebKitAPI/Tests/WebKit/AGXCompilerService.mm:
* TestWebKitAPI/Tests/WebKit/AccessibilityRemoteUIApp.mm:
* TestWebKitAPI/Tests/WebKit/BacklightLevelNotification.mm:
* TestWebKitAPI/Tests/WebKit/Battery.mm:
* TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
* TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm:
* TestWebKitAPI/Tests/WebKit/FindMatches.mm:
* TestWebKitAPI/Tests/WebKit/GrantAccessToMobileAssets.mm:
* TestWebKitAPI/Tests/WebKit/GrantAccessToPreferencesService.mm:
* TestWebKitAPI/Tests/WebKit/LocalizedDeviceModel.mm:
* TestWebKitAPI/Tests/WebKit/MimeTypes.mm:
* TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm:
* TestWebKitAPI/Tests/WebKit/PasteboardNotifications.mm:
* TestWebKitAPI/Tests/WebKit/PictureInPictureSupport.mm:
* TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
* TestWebKitAPI/Tests/WebKit/SleepDisabler.mm:
* TestWebKitAPI/Tests/WebKit/ViewportSizeForViewportUnits.mm:
* TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
* TestWebKitAPI/Tests/WebKit/WebFilter.mm:
* TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm:
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
* TestWebKitAPI/Tests/WebKit/mac/CustomBundleObject.h:
* TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
* TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter_Bundle.mm:
* TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm:
* TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm:
* TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle_Bundle.mm:
* TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewAfterEnterFullscreen.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewDuringEnterFullscreen.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CookieAcceptPolicy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CopyRTF.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CustomUserAgent.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DeviceManagementRestrictions.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FindInPageAPI.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FirstVisuallyNonEmptyMilestone.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FixedLayoutSize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenAlert.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenLayoutConstraints.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/LoadFileThenReload.mm:
* TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm:
* TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
* TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/MediaType.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ModalAlerts.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NavigationAction.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NoPauseWhenSwitchingTabs.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ObservedRenderingProgressEventsAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm:
* TestWebKitAPI/Tests/WebKitCocoa/OverrideViewportArguments.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PageZoom.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ReparentWebViewTimeout.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm:
* TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ShouldOpenExternalURLsInNewWindowActions.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ShrinkToFit.mm:
* TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm:
* TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TabOutOfWebView.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TestURLSchemeHandler.h:
* TestWebKitAPI/Tests/WebKitCocoa/TestURLSchemeHandler.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TextSize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TextWidth.mm:
* TestWebKitAPI/Tests/WebKitCocoa/TopContentInset.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UserInitiatedActionInNavigationAction.mm:
* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
* TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
* TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
* TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm:
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
* TestWebKitAPI/Tests/ios/DataDetectorsTestIOS.mm:
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
* TestWebKitAPI/Tests/ios/OverflowScrollViewTests.mm:
* TestWebKitAPI/Tests/ios/RenderingProgressTests.mm:
* TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
* TestWebKitAPI/Tests/ios/ScrollViewScrollabilityTests.mm:
* TestWebKitAPI/Tests/ios/SelectionByWord.mm:
* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm:
* TestWebKitAPI/Tests/ios/TestInputDelegate.h:
* TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
* TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm:
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
* TestWebKitAPI/Tests/ios/WKScrollViewTests.mm:
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
* TestWebKitAPI/Tests/ios/WKWebViewPausePlayingAudioTests.mm:
* TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:
* TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm:
* TestWebKitAPI/Tests/mac/BackForwardList.mm:
* TestWebKitAPI/Tests/mac/BackgroundColor.mm:
* TestWebKitAPI/Tests/mac/CandidateTests.mm:
* TestWebKitAPI/Tests/mac/DOMHTMLTableCellCellAbove.mm:
* TestWebKitAPI/Tests/mac/DeviceScaleFactorOnBack.mm:
* TestWebKitAPI/Tests/mac/DynamicDeviceScaleFactor.mm:
* TestWebKitAPI/Tests/mac/HTMLCollectionNamedItem.mm:
* TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.mm:
* TestWebKitAPI/Tests/mac/IsNavigationActionTrusted.mm:
* TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:
* TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
* TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
* TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm:
* TestWebKitAPI/Tests/mac/SetDocumentURI.mm:
* TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
* TestWebKitAPI/Tests/mac/SubresourceErrorCrash.mm:
* TestWebKitAPI/Tests/mac/TypingStyleCrash.mm:
* TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm:
* TestWebKitAPI/Tests/mac/WebScriptObjectDescription.mm:
* TestWebKitAPI/Tests/mac/WindowlessWebViewWithMedia.mm:
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/cocoa/NSItemProviderAdditions.h:
* TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
* TestWebKitAPI/cocoa/TestContextMenuDriver.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestProtocol.mm:
* TestWebKitAPI/cocoa/TestUIDelegate.h:
* TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
* TestWebKitAPI/ios/PencilKitTestSPI.h:
* TestWebKitAPI/mac/JavaScriptTestMac.mm:
* TestWebKitAPI/mac/NSFontPanelTesting.h:
* TestWebKitAPI/mac/NSFontPanelTesting.mm:
* TestWebKitAPI/mac/OffscreenWindow.h:
* TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
* TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.mm:
* TestWebKitAPI/mac/TestDraggingInfo.h:
* TestWebKitAPI/mac/TestFilePromiseReceiver.h:
* TestWebKitAPI/mac/TestFontOptions.h:
* TestWebKitAPI/mac/TestInspectorBar.h:
* TestWebKitAPI/mac/WebKitAgnosticTest.mm:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
* WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.h:
* WebKitTestRunner/mac/PoseAsClass.mm:
More #import, less #pragma once.
2020-04-20 Diego Pino Garcia <dpino@igalia.com>
[Flatpak SDK] Prevent exception when calling git in a non-git repository
https://bugs.webkit.org/show_bug.cgi?id=210737
Reviewed by Philippe Normand.
* flatpak/flatpakutils.py:
(WebkitFlatpak.is_branch_build): Return false if command executes in a
non-git repository (i.e SVN).
2020-04-20 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Drive-by fixes
https://bugs.webkit.org/show_bug.cgi?id=210557
Reviewed by Žan Doberšek.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Properly format error message.
(WebkitFlatpak.main): Show flatpak update output.
2020-04-20 Sergio Villar Senin <svillar@igalia.com>
[WebXR][WPE] Let XR_RUNTIME_JSON environment variable go through for testing
https://bugs.webkit.org/show_bug.cgi?id=210738
Reviewed by Žan Doberšek.
The OpenXR loader might be instructed to load a specific runtime by
using the XR_RUNTIME_JSON environment variable. Let it get in for testing.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server): Copy XR_RUNTIME_JSON if set.
2020-04-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Enable resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=210184
Reviewed by Žan Doberšek.
Implement TestController::loadedThirdPartyDomains() and TestController::clearLoadedThirdPartyDomains() for
non-cocoa ports.
* WebKitTestRunner/TestController.cpp:
(WTR::LoadedThirdPartyDomainsCallbackContext::LoadedThirdPartyDomainsCallbackContext):
(WTR::loadedThirdPartyDomainsCallback):
(WTR::TestController::loadedThirdPartyDomains):
(WTR::TestController::clearLoadedThirdPartyDomains):
2020-04-20 David Kilzer <ddkilzer@apple.com>
check-webkit-style should not complain about missing config.h header in WebKitLegacy source files
<https://webkit.org/b/210734>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(_NO_CONFIG_H_PATH_PATTERNS):
- Add '^Source/WebKitLegacy/' to the list.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.test_primary_header):
- Add test for Source/WebKitLegacy source file.
2020-04-19 Brady Eidson <beidson@apple.com>
Add WKScriptMessageHandler API that asynchronously responds with a promise.
rdar://problem/57243492 and https://bugs.webkit.org/show_bug.cgi?id=206398
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
(webViewForScriptMessageHandlerMultipleHandlerRemovalTest):
(-[AsyncScriptMessageHandler userContentController:didReceiveScriptMessage:replyHandler:]):
2020-04-19 Ross Kirsling <ross.kirsling@sony.com>
[ECMA-402] Intl.RelativeTimeFormat missing in WebKit
https://bugs.webkit.org/show_bug.cgi?id=209770
Reviewed by Darin Adler.
* Scripts/run-jsc-stress-tests:
Add runIntlRelativeTimeFormatEnabled.
2020-04-19 Don Olmstead <don.olmstead@sony.com>
[CMake] Consolidate TestNetscapePlugin build
https://bugs.webkit.org/show_bug.cgi?id=210691
Reviewed by Fujii Hironori.
The DumpRenderTree CMakeLists.txt contained a definition of TestNetscapePlugIn
which was used for WebKitLegacy ports. The TestNetscapePlugIn directory also had
a CMakeLists.txt used by GTK for its port. The definitions in DumpRenderTree's
CMake are moved into the TestNetscapePlugIn CMake to provide a common definition
for all ports that ENABLE_NETSCAPE_PLUGIN_API.
* DumpRenderTree/CMakeLists.txt:
* DumpRenderTree/PlatformWin.cmake:
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
* DumpRenderTree/TestNetscapePlugIn/PlatformGTK.cmake: Added.
* DumpRenderTree/TestNetscapePlugIn/PlatformWin.cmake: Added.
* DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugIn.def: Renamed from Tools/DumpRenderTree/win/TestNetscapePlugin.def.
* DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugIn.rc: Renamed from Tools/DumpRenderTree/win/TestNetscapePlugin.rc.
* DumpRenderTree/TestNetscapePlugIn/win/resource.h: Renamed from Tools/DumpRenderTree/win/resource.h.
2020-04-19 Emilio Cobos Álvarez <emilio@crisal.io>
Allow to override sccache server port.
https://bugs.webkit.org/show_bug.cgi?id=210722
Reviewed by Philippe Normand.
This is useful so that sccache can work both inside and outside the sandbox,
without getting confused about flatpak's chroot.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2020-04-19 Darin Adler <darin@apple.com>
REGRESSION (r260334): SpacebarScrolling.cpp (test in TestWebKitAPI) fails to compile because it includes an Objective-C header
https://bugs.webkit.org/show_bug.cgi?id=210723
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp: Instead of including
WKPreferencesPrivate.h, an Objective-C header, include WKPreferencesRefPrivate.h,
the header with the functions this test is trying to use.
2020-04-18 Darin Adler <darin@apple.com>
Update header postprocessing version cutoff to keep Apple internal builds working
https://bugs.webkit.org/show_bug.cgi?id=210708
Reviewed by Brady Eidson.
* DumpRenderTree/ios/TextInputControllerIOS.m:
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
* DumpRenderTree/mac/EditingDelegate.mm:
* DumpRenderTree/mac/EventSendingController.h:
* DumpRenderTree/mac/EventSendingController.mm:
* DumpRenderTree/mac/FrameLoadDelegate.mm:
* DumpRenderTree/mac/ObjCPlugin.m:
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
* DumpRenderTree/mac/ResourceLoadDelegate.mm:
* DumpRenderTree/mac/UIScriptControllerMac.mm:
Removed includes of <WebKit/WebKit.h>, the header for modern WebKit, from the files
here that are intending to use WebKitLegacy. This is harmless, except for if someone
builds DumpRenderTree *before* building WebKit as I just did.
2020-04-18 Brady Eidson <beidson@apple.com>
Fix WebUserContentControllerProxy vs ContentWorld lifetime
https://bugs.webkit.org/show_bug.cgi?id=210700
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
(-[DummyMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST): Make sure removing a script message handler from a particular world
doesn't also destroy the other JavaScript contents of that world.
2020-04-18 Daniel Bates <dabates@apple.com>
Add some more tests for -focusTextInputContext:placeCaretAt:completionHandler:
https://bugs.webkit.org/show_bug.cgi?id=210624
Reviewed by Simon Fraser.
Test behavior when the target element is already focused, when the target element
is programmatically replaced, and focusing the target element after the page was
navigated away.
Also while I am here, fix up the test FocusFieldAndPlaceCaretOutsideField to
use the size of the exampleText constant - 1 instead of hardcoding this value.
This will future proof this test should the example text string literal change.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TEST):
2020-04-18 Alex Christensen <achristensen@webkit.org>
Fix client certificate authentication when using non-default WKWebsiteDataStores
https://bugs.webkit.org/show_bug.cgi?id=210681
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TestWebKitAPI::TEST):
2020-04-17 Kate Cheney <katherine_cheney@apple.com>
Enable service workers for app-bound domains
https://bugs.webkit.org/show_bug.cgi?id=210451
<rdar://problem/61479474>
Reviewed by Brent Fulgham.
Adds 2 test cases to make sure service workers behave properly on
app bound domains, and that the APIs are not available on non-app
bound domains.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(-[SWInAppBrowserPrivacyMessageHandler userContentController:didReceiveScriptMessage:]):
2020-04-17 Alex Christensen <achristensen@webkit.org>
NetworkSessionCocoa should request client certificate only once per host/port
https://bugs.webkit.org/show_bug.cgi?id=210626
<rdar://problem/60340449>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TestWebKitAPI::clientCertServerWithCertVerifier):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::HTTPServer::HTTPResponse::HTTPResponse):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::HTTPServer):
2020-04-17 David Kilzer <ddkilzer@apple.com>
Bug 210645: REGRESSION (r211095): [iOS] TestRunnerWKWebView leaks @property accessibilitySpeakSelectionContent
<https://webkit.org/b/210645>
<rdar://problem/61927607>
Reviewed by Chris Fleizach.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dealloc]):
- Release accessibilitySpeakSelectionContent in -dealloc.
2020-04-17 Brady Eidson <beidson@apple.com>
Pass sandbox extensions for back/forward list navigations after the policy is decided at process-swap time.
<rdar://problem/59535167> and https://bugs.webkit.org/show_bug.cgi?id=210623
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2020-04-17 Brent Fulgham <bfulgham@apple.com>
Unreviewed build fix after r260269.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST): Correct argument order.
2020-04-17 Jer Noble <jer.noble@apple.com>
Bring Fullscreen API + alert() behavior from iOS to macOS
https://bugs.webkit.org/show_bug.cgi?id=210662
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenAlert.mm: Added.
(TestWebKitAPI::TEST):
2020-04-17 Don Olmstead <don.olmstead@sony.com>
[CMake] Add WebKit::WebCore target
https://bugs.webkit.org/show_bug.cgi?id=210445
Reviewed by Michael Catanzaro.
Use the WebKit::WebCore target within tests and developer tools.
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
* MiniBrowser/wpe/CMakeLists.txt:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/glib/CMakeLists.txt:
2020-04-17 Antoine Quint <graouts@apple.com>
Stop including style rules related to media controls in the UA style sheet when Modern Media Controls are enabled
https://bugs.webkit.org/show_bug.cgi?id=210606
Unreviewed build fix after r260261.
* TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
2020-04-17 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Update for GdkKeymap API changes
https://bugs.webkit.org/show_bug.cgi?id=210642
Reviewed by Adrian Perez de Castro.
No new tests needed.
gdk_keymap_get_default() is deprecated in GTK+ 3.22, so use
gdk_keymap_get_for_display() instead. Since in GTK4 this method is
removed to gdk_display_get_keymap(), add a helper to
GtkVersioning.h to avoid cluttering with ifdefs all over the
place.
* TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
(WebViewTest::keyStroke):
* TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
(TestWebKitAPI::doKeyStroke):
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::keyDown):
2020-04-17 Antoine Quint <graouts@apple.com>
Allow the UserStyleLevel to be set through _WKUserStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=210653
<rdar://problem/60506645>
Reviewed by Tim Horton.
Add new tests for the "level" parameter when creating a _WKUserStyleSheet.
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(TEST):
2020-04-17 David Kilzer <ddkilzer@apple.com>
REGRESSION (r162729): [iOS] WebKitTestRunner over-releases UITextField in WTR::PlatformWebView::removeChromeInputField()
<https://webkit.org/b/210643>
<rdar://problem/61927190>
Reviewed by Wenson Hsieh.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::removeChromeInputField):
- Remove unnecessary -release.
2020-04-17 Per Arne Vollan <pvollan@apple.com>
[iOS] Deny iokit open access to graphics related classes
https://bugs.webkit.org/show_bug.cgi?id=210616
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/AGXCompilerService.mm: Added.
(TEST):
2020-04-17 Philippe Normand <pnormand@igalia.com>
[Flatpak SDK] Not fully hooked in BuildSlaveSupport
https://bugs.webkit.org/show_bug.cgi?id=210548
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/webkitdirs.pm:
(determineBaseProductDir): Flatpak SDK builds use a dedicated product directory per port.
2020-04-16 Lauro Moura <lmoura@igalia.com>
[GTK] A couple of API tests are flaky failing on X11.
Unreviewed test gardening.
* TestWebKitAPI/glib/TestExpectations.json:
2020-04-16 Daniel Bates <dabates@apple.com>
Remove unused -_focusTextInputContext
https://bugs.webkit.org/show_bug.cgi?id=210619
Reviewed by Darin Adler.
Remove test now that the SPI was removed.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(-[TestWKWebView synchronouslyFocusTextInputContext:]): Deleted.
2020-04-16 Yusuke Suzuki <ysuzuki@apple.com>
Add slack-aware WKR implementation
https://bugs.webkit.org/show_bug.cgi?id=210425
Reviewed by Alexey Proskuryakov.
This patch adds new WKR implementation, which is posting changes to #changes in WebKit slack.
Currently, we are polling git.webkit.org's feed once a minute. The more efficient way to implement
this bot is introducing post-commit hook, but for now, this polling strategy just works.
* WKR/.gitignore: Added.
* WKR/ReadMe.md: Added.
* WKR/WKR.mjs: Added.
* WKR/data/.gitignore: Added.
* WKR/package-lock.json: Added.
* WKR/package.json: Added.
2020-04-16 Daniel Bates <dabates@apple.com>
[iOS] Add a way to focus a text input and place a caret
https://bugs.webkit.org/show_bug.cgi?id=210611
<rdar://problem/61893062>
Reviewed by Darin Adler.
Add some tests.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(-[TestWKWebView synchronouslyFocusTextInputContext:placeCaretAt:]): Added.
(webViewLoadHTMLStringAndWaitForAllFramesToPaint): Use the bundle's TestWebKitAPI.resources directory
as the base URL so that we have a valid file URL. Some of the tests will then
call -_setAllowUniversalAccessFromFileURLs to allow the main frame access to
the unique-origin child frame contents.
(TEST):
2020-04-16 Daniel Bates <dabates@apple.com>
REGRESSION (r259762): Should always hit test for editable elements if the WKWebView is fully editable
https://bugs.webkit.org/show_bug.cgi?id=210558
<rdar://problem/61798347>
Reviewed by Wenson Hsieh.
Add a test.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TEST):
2020-04-16 Daniel Bates <dabates@apple.com>
Move -_requestTextInputContextsInRect to WKContentView to simplify implementation
https://bugs.webkit.org/show_bug.cgi?id=210398
<rdar://problem/61656931>
Reviewed by Darin Adler.
Update test now that -_requestTextInputContextsInRect has moved from WKWebView to WKContentView.
I expose new testing-only WKWebView SPI to access it on the content view.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(-[TestWKWebView synchronouslyRequestDocumentContext:]): Added; due to category name change.
(-[TestWKWebView synchronouslyAdjustSelectionWithDelta:]): Added; due to category name change.
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(-[WKWebView synchronouslyRequestTextInputContextsInRect:]): Deleted; due to category name change.
(-[WKWebView synchronouslyFocusTextInputContext:]): Deleted; due to category name change.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::mayContainEditableElementsInRect): Convert from content coordinates
to WKWebView coordinates now that -_mayContainEditableElementsInRect expects it.
2020-04-16 Philippe Normand <pnormand@igalia.com>
Unreviewed, GTK clean build fix after r260132.
* TestWebKitAPI/gtk/main.cpp:
(main): Don't use GtkVersioning here. A dependency on the WebCore
private headers for this single file is overkill.
2020-04-16 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] MiniBrowser opens new windows too small causing failures on some WPT tests
https://bugs.webkit.org/show_bug.cgi?id=210206
Reviewed by Carlos Garcia Campos.
Add two API test to check that window.open() by default gets a size
request equal to the old window if there is no default window size,
or to the default window if there is a default window size.
A new function helper setCreateNewWebViewsInWindowsWithDefaultSize()
its added to create new webviews in new windows automatically, which
its needed to test the case of having a default window size.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewWindowProperties):
(testWebViewOpenWindowDefaultSize):
(testWebViewOpenWindowNoDefaultSize):
(beforeAll):
2020-04-15 Tim Horton <timothy_horton@apple.com>
REGRESSION (r258337): Crash when right clicking on link that uses the system UI font with optimizeLegibility on Mojave
https://bugs.webkit.org/show_bug.cgi?id=210575
<rdar://problem/61646717>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm:
(TEST):
Add an API test ensuring that we can encode and decode a NSAttributedString
that includes a system-ui font with optimizeLegibility on.
2020-04-15 John Wilander <wilander@apple.com>
Add SPI to configure WebsiteDataStores with a URL for standalone web applications and use it to disable first-party website data removal in ITP
https://bugs.webkit.org/show_bug.cgi?id=209634
<rdar://problem/60943970>
Reviewed by Alex Christensen.
Added a new test option called standaloneWebApplicationURL so that layout tests can
configure the website data store accordingly. Picking it up and using it requires
creating a new website data store with a configuration that has the standalone web
application URL.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories):
(WTR::TestController::defaultWebsiteDataStore):
(WTR::parseStringTestHeaderValueAsURL):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
2020-04-15 Chris Dumez <cdumez@apple.com>
[IPC Hardening] MachMessage::messageSize() should use checked arithmetic
https://bugs.webkit.org/show_bug.cgi?id=210567
<rdar://problem/61734355>
Reviewed by Geoff Garen.
Add API test coverage for / operator in Checked.
* TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
(TestWebKitAPI::TEST):
2020-04-15 Brent Fulgham <bfulgham@apple.com>
[Cocoa] Remove generic parameter serialization fallback
https://bugs.webkit.org/show_bug.cgi?id=210509
<rdar://problem/55522650>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm:
(WKWebProcessPlugInWithoutRegisteredCustomClass): Update to reflect
fact that we block serialization of unregistered classes.
2020-04-15 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK4] Fix use of gtk init functions
https://bugs.webkit.org/show_bug.cgi?id=210550
Reviewed by Adrian Perez de Castro.
Include GtkVersioning.h instead of gtk.h.
* TestWebKitAPI/Tests/WebKitGtk/AccessibilityTestServer.cpp:
* TestWebKitAPI/Tests/WebKitGtk/InspectorTestServer.cpp:
* TestWebKitAPI/gtk/main.cpp:
* WebKitTestRunner/gtk/main.cpp:
2020-04-15 Jonathan Bedard <jbedard@apple.com>
REGRESSION: [ Mojave+ Debug WK1 ] Layout Test imported/blink/storage/indexeddb/blob-basics-metadata.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=199117
<rdar://problem/52967035>
Reviewed by Alexey Proskuryakov.
* Scripts/run-javascriptcore-tests: Set JSC_useKernTCSM to false.
* Scripts/webkitpy/port/base.py:
(Port.setup_environ_for_server): Forward JSC_useKernTCSM.
* Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver): Set JSC_useKernTCSM to false.
2020-04-15 Devin Rousso <drousso@apple.com>
[ESNext] Implement logical assignment operators
https://bugs.webkit.org/show_bug.cgi?id=209716
Reviewed by Ross Kirsling.
* Scripts/run-jsc-stress-tests:
2020-04-14 Jer Noble <jer.noble@apple.com>
WKTR always enables capturing audio/video in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=210319
Reviewed by Tim Horton.
Capturing in the GPUProcess should be off by default. GPU capture can be enabled at runtime via
the --internal-feature flag of run-webkit-tests.
* WebKitTestRunner/TestOptions.h:
2020-04-14 Peng Liu <peng.liu6@apple.com>
Adopt interface AVAudioRoutingArbiter for Mac
https://bugs.webkit.org/show_bug.cgi?id=210167
Reviewed by Eric Carlson.
Add test for softlink of AVAudioRoutingArbiter.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST):
2020-04-14 Per Arne Vollan <pvollan@apple.com>
[iOS] Content filtering needs access to the frontboard service
https://bugs.webkit.org/show_bug.cgi?id=210505
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/WebFilter.mm: Added.
(isManagedSessionMethodOverride):
(TEST):
2020-04-14 Andres Gonzalez <andresg_22@apple.com>
Make WTR::AccessibilityUIElements calls to accessibilitySetValue run on AX secondary thread.
https://bugs.webkit.org/show_bug.cgi?id=210500
Reviewed by Chris Fleizach.
Needed to test accessibility isolated tree mode. Follow up to
https://bugs.webkit.org/show_bug.cgi?id=210392.
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::setBoolAttributeValue):
(AccessibilityUIElement::resetSelectedTextMarkerRange):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::setAttributeValue):
(WTR::attributesOfElement):
(WTR::descriptionOfElements):
(WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue const):
(WTR::AccessibilityUIElement::uiElementAttributeValue const):
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::setBoolAttributeValue):
(WTR::AccessibilityUIElement::setValue):
(WTR::AccessibilityUIElement::setSelectedTextRange):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
(WTR::AccessibilityUIElement::setSelectedChild const):
(WTR::AccessibilityUIElement::setSelectedChildAtIndex const):
(WTR::AccessibilityUIElement::removeSelectionAtIndex const):
(WTR::AccessibilityUIElement::takeFocus):
(WTR::AccessibilityUIElement::resetSelectedTextMarkerRange):
2020-04-14 Brent Fulgham <bfulgham@apple.com>
InjectedBundle parameters often need initialization function called before unarchiving
https://bugs.webkit.org/show_bug.cgi?id=189709
<rdar://problem/44573653>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugIn.mm:
(-[WebProcessPlugIn additionalClassesForParameterCoder]): Added.
2020-04-14 Sergio Villar Senin <svillar@igalia.com>
[Flatpak] Make run-webkit-tests obey WEBKIT_JHBUILD
https://bugs.webkit.org/show_bug.cgi?id=210497
Reviewed by Philippe Normand.
run-webkit-tests in linux uses the flatpak SDK if the flatpak
directories are found in the build directory. However it might the the case
that a developer wants to run them using the jhbuild SDK which can be
configured in parallel. We have the WEBKIT_JHBUILD environment variable to
force other scripts to use jhbuild instead of flatpak so we can use it as well
for this use case.
* flatpak/flatpakutils.py:
(run_in_sandbox_if_available):
2020-04-14 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bring back support for rendering scrollbars using the system appearance
https://bugs.webkit.org/show_bug.cgi?id=209805
Reviewed by Michael Catanzaro.
Do not use system appearance for scrollbars in MiniBrowser and unit tests.
* MiniBrowser/gtk/main.c:
(main):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
2020-04-13 Devin Rousso <drousso@apple.com>
REGRESSION (r259900) : Speedometer failing on Catalina-Release-WK2-Perf bot
https://bugs.webkit.org/show_bug.cgi?id=210442
<rdar://problem/61727169>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest):
2020-04-13 David Kilzer <ddkilzer@apple.com>
check-webkit-style should warn about attributes that appear after function definitions
<https://webkit.org/b/210459>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(_FunctionState.attributes_after_definition): Add.
- Return list of attributes that appear after a function
definition.
(check_function_definition):
- Add new check for attributes that appear after a function
definition.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_decode_functions_missing_warn_unused_return):
- Update test to fix new warning.
(CppStyleTest.test_function_readability_for_attributes): Add.
- Add tests.
2020-04-13 Kate Cheney <katherine_cheney@apple.com>
http/tests/in-app-browser-privacy/app-bound-domain.html is a constant failure on iOS
https://bugs.webkit.org/show_bug.cgi?id=210344
<rdar://problem/61583925>
Reviewed by Brent Fulgham.
This patch creates a new TestOption parameter for enabling In-App
Browser Privacy because its NSUserDefaults key is not set using the
internal or experimental keywords. It enables this flag for
WebKitTestRunner if the option is set (and disables it otherwise).
* WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformAddTestOptions const):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
2020-04-13 Per Arne Vollan <pvollan@apple.com>
[iOS] Remove unused UTType swizzler code
https://bugs.webkit.org/show_bug.cgi?id=210435
Unreviewed rollout of r258120.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/UTIFromTag.mm: Removed.
2020-04-13 Andres Gonzalez <andresg_22@apple.com>
Make WTR::AccessibilityUIElement methods run on AX secondary thread.
https://bugs.webkit.org/show_bug.cgi?id=210392
Reviewed by Chris Fleizach.
In order to test accessibility isolated tree mode, it is necessary to
run WTR::AccessibilityUIElement methods on the AX secondary thread. This
change uses the functionality built-in AccessibilityController to
dispatch the calls to WebAccessibilityObjectWrapper to the AX thread.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::supportedAttributes):
(WTR::attributeValue):
(WTR::descriptionOfValue):
(WTR::attributesOfElement):
(WTR::AccessibilityUIElement::getLinkedUIElements):
(WTR::AccessibilityUIElement::getDocumentLinks):
(WTR::AccessibilityUIElement::getUIElementsWithAttribute const):
(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::rowHeaders const):
(WTR::AccessibilityUIElement::columnHeaders const):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::elementForAttribute const):
(WTR::AccessibilityUIElement::elementForAttributeAtIndex const):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex const):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::numberAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSupported):
(WTR::AccessibilityUIElement::isSelected const):
(WTR::AccessibilityUIElement::selectTextWithCriteria):
2020-04-13 Lauro Moura <lmoura@igalia.com>
[Flatpak SDK] test262-runner fails to run with WEBKIT_JHBUILD enabled
https://bugs.webkit.org/show_bug.cgi?id=210430
Make sure we check the WEBKIT_JHBUILD env var directly to avoid
requiring webkitdirs early and messing up Runner.pm compilation.
Reviewed by Philippe Normand.
* Scripts/test262-runner:
2020-04-13 David Kilzer <ddkilzer@apple.com>
Add WARN_UNUSED_RETURN to decode methods in Source/WebKit
<https://webkit.org/b/210423>
<rdar://problem/61715582>
Reviewed by Alex Christensen.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_function_definition):
- Add check for platformDecode() methods.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
- Add tests for platformDecode() methods.
2020-04-13 Aakash Jain <aakash_jain@apple.com>
[ews] Improve handling of unexpected network issues while communicating with Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=210377
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/common/bugzilla.py:
(BugzillaBeautifulSoup.authenticate):
2020-04-13 Aakash Jain <aakash_jain@apple.com>
ews status-bubble hover-over message include unhelpful message 'Crash collection has quiesced'
https://bugs.webkit.org/show_bug.cgi?id=210378
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
2020-04-11 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] [WK1] Touch Bar flashes when typing in Vietnamese in Mail
https://bugs.webkit.org/show_bug.cgi?id=210394
<rdar://problem/60099560>
Reviewed by Tim Horton.
Add an API test that inserts an attributed string with the text replacement attribute, and verifies that we
show the candidate list when inserting the string, and also don't temporarily hide the candidate list in the
process of doing so.
To achieve this, we swizzle out calls to -[NSCandidateListTouchBarItem updateWithInsertionPointVisibility:] to
detect when the candidate list is either hidden or made visible.
* TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
* TestWebKitAPI/Tests/mac/CandidateTests.mm:
Fix a leak in an adjacent test too, while I'm touching this file.
(TestWebKitAPI::updateCandidateListWithVisibility):
2020-04-11 Aakash Jain <aakash_jain@apple.com>
Buildbot: Force crash log submission after each test run (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=210202
<rdar://problem/60508929>
Unreviewed follow-up fix.
* BuildSlaveSupport/ews-build/steps.py:
(WaitForCrashCollection): Remove spaces from step name.
2020-04-11 Aakash Jain <aakash_jain@apple.com>
Buildbot: Force crash log submission after each test run (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=210202
<rdar://problem/60508929>
Unreviewed follow-up fix.
* BuildSlaveSupport/wait-for-crash-collection: Improved error message.
2020-04-11 David Kilzer <ddkilzer@apple.com>
check-webkit-style should warn about 'decode' functions with missing WARN_UNUSED_RETURN attribute
<https://webkit.org/b/210336>
<rdar://problem/61585835>
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/style/checkers/cpp.py:
(_FunctionState.post_modifiers): Add. Returns string of text
that appears after the function definition's list of parameters.
This is used to find the WARN_UNUSED_RETURN attribute in
function declarations in header files.
(_FunctionState.has_attribute): Add. Takes a string (or regex)
and searchs before and after the function definition for the
attribute.
(_FunctionState.has_return_type): Add. Takes a string (or
regex) and checks the return type of the fuction.
(_FunctionState.is_static): Add. Returns True for functions
with the 'static' modifier.
(check_function_definition): Add check for decode() functions
with missing WARN_UNUSED_RETURN attribute.
(CppChecker): Add 'security/missing_warn_unused_return' to the
list of enabled style checkers.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTestBase.perform_function_definition_check): Add. This
runs the check_function_definition() function in cpp.py.
(CppStyleTest.test_decode_functions_missing_warn_unused_return): Add.
Tests for the new warning.
2020-04-10 Alex Christensen <achristensen@webkit.org>
Add SPI to handle proxy authentication and require secure proxy connections
https://bugs.webkit.org/show_bug.cgi?id=210343
<rdar://problem/61546396> <rdar://problem/61546519> and <rdar://problem/61546658>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TCPServer.cpp:
(TestWebKitAPI::TCPServer::startSecureConnection):
(TestWebKitAPI::TCPServer::TCPServer):
* TestWebKitAPI/TCPServer.h:
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(-[ProxyDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ProxyDelegate waitForAlert]):
(-[ProxyDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TestWebKitAPI::TEST):
2020-04-10 Devin Rousso <drousso@apple.com>
Changes to shared testing JS files should not cause test failures due to console message line numbers changing
https://bugs.webkit.org/show_bug.cgi?id=210303
Reviewed by Simon Fraser.
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:addMessageToConsole:withSource:]):
* DumpRenderTree/win/UIDelegate.cpp:
(UIDelegate::webViewAddMessageToConsole):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::willAddMessageToConsole):
2020-04-10 Simon Fraser <simon.fraser@apple.com>
Reset view navigation gesture state between tests
https://bugs.webkit.org/show_bug.cgi?id=210283
Re-land r259818 with a null-check on m_webPageProxyForBackForwardListForCurrentSwipe.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
2020-04-10 Alicia Boya García <aboya@igalia.com>
[WTF] DataMutex: Add runUnlocked()
https://bugs.webkit.org/show_bug.cgi?id=209811
Reviewed by Xabier Rodriguez-Calvar.
Tests for runUnlocked() and DataMutex checks are introduced.
* TestWebKitAPI/Tests/WTF/DataMutex.cpp:
(TestWebKitAPI::TEST):
== Rolled over to ChangeLog-2020-04-10 ==