blob: aa1ae472adf97686f83ed5aa5d5466542249a393 [file] [log] [blame]
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 ==