blob: ef5c12b8d5a746b4e94edb5819246e0201ab64c7 [file] [log] [blame]
2020-01-14 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Keyboard input is severely delayed after switching away from unresponsive tab
https://bugs.webkit.org/show_bug.cgi?id=206242
<rdar://problem/57132891>
Reviewed by Tim Horton.
Add a couple of new API tests: (1) verify that the key event completion handler can still be invoked in an
unresponsive web view after resigning first responder, and (2) verify that we'll try to wait for the current
key event to be processed in a web view, if it remains the first responder.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2020-01-10 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Implement SPI to tell UI clients to select assertion responses
https://bugs.webkit.org/show_bug.cgi?id=206112
<rdar://problem/58495733>
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponses:completionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-multiple-accounts.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid.html:
2020-01-14 Jonathan Bedard <jbedard@apple.com>
webkitpy: Pass ImageDiff commands in a single write
https://bugs.webkit.org/show_bug.cgi?id=206194
<rdar://problem/58578775>
Reviewed by Stephanie Lewis.
ImageDiff can encounter race conditions if it is fed content in multiple writes,
instead of in a single block.
* Scripts/webkitpy/port/image_diff.py:
(ImageDiffer.diff_image): Pass ImageDiff data in a single write command.
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.test_diff_image__missing_both): diff_image only accepts byte arrays.
(PortTestCase.test_diff_image__missing_actual): Ditto.
(PortTestCase.test_diff_image__missing_expected): Ditto.
(PortTestCase.test_diff_image): Ditto.
(PortTestCase.test_diff_image_passed): Ditto.
(PortTestCase.test_diff_image_failed): Ditto.
(PortTestCase.test_diff_image_crashed): Ditto.
2020-01-14 Antti Koivisto <antti@apple.com>
[LFC][Integration] Support the feature flag in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=206218
Reviewed by Zalan Bujtas.
This allows tests to turn off the feature in WK1 if needed.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
2020-01-14 Alicia Boya García <aboya@igalia.com>
[WTF] Make MediaTime constructor constexpr
https://bugs.webkit.org/show_bug.cgi?id=206036
Reviewed by Adrian Perez de Castro.
Added test for global static MediaTime constants.
* TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):
2020-01-13 Fujii Hironori <Hironori.Fujii@sony.com>
Unreviewed sort-Xcode-project-file
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2020-01-13 Saam Barati <sbarati@apple.com>
Throw away baseline code if there is an optimized replacement
https://bugs.webkit.org/show_bug.cgi?id=202503
Reviewed by Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
2020-01-13 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
Fix path-specific filters on Windows
https://bugs.webkit.org/show_bug.cgi?id=205786
Reviewed by David Kilzer.
* Scripts/webkitpy/style/filter.py:
(FilterConfiguration._path_rules_from_path):
Convert forward slashes to backward slashes on Windows by using
os.path.normcase(). Nothing changed on other OSs.
* Scripts/webkitpy/style/filter_unittest.py:
(FilterConfigurationTest.test_path_with_different_case):
2020-01-13 David Kilzer <ddkilzer@apple.com>
WTR::TestController::decidePolicyForPluginLoad() should output bundle identifier on release assert
<https://webkit.org/b/206105>
Reviewed by Brent Fulgham.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::decidePolicyForPluginLoad): Change
RELEASE_ASSERT_NOT_REACHED() to
RELEASE_ASSERT_NOT_REACHED_WITH_MESSAGE() with bundle
identifier.
2020-01-13 Aakash Jain <aakash_jain@apple.com>
[EWS] Add unit tests for factories
https://bugs.webkit.org/show_bug.cgi?id=206159
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories_unittest.py: Added unit tests for factories.
2020-01-13 Eric Carlson <eric.carlson@apple.com>
Don't softlink AVCapture classes on watchOS or tvOS
https://bugs.webkit.org/show_bug.cgi?id=205974
<rdar://problem/58427281>
Unreviewed test fix after r254257.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST):
2020-01-06 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Support CTAP Client Pin
https://bugs.webkit.org/show_bug.cgi?id=191516
<rdar://problem/56558558>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/CtapPinTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FidoTestData.h:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:requestPINWithRemainingRetries:completionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-pin.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-key-agreement-error.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-error.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-retries-error.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin.html: Added.
2020-01-11 Alex Christensen <achristensen@webkit.org>
Expose frame information on _WKResourceLoadInfo
https://bugs.webkit.org/show_bug.cgi?id=206104
<rdar://problem/57132290>
Reviewed by Dean Jackson.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(TEST):
2020-01-11 Kate Cheney <katherine_cheney@apple.com>
Add correct grandfathering functionality to the ITP database backend
https://bugs.webkit.org/show_bug.cgi?id=205844
<rdar://problem/58360450>
Reviewed by John Wilander.
In order to test both the ITP database and memory stores, this patch
had to restructure the grandfathering API tests.
If the test is for the database backend (ends in *Database), it will
check if the default store matches. If so, it continues on with the
normal test. If not, it has to use an API call to reconstruct the
new store and ensure the grandfathering still happens. Vice versa for
the memory store tests.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(isITPDatabaseEnabled):
(TEST):
2020-01-10 Myles C. Maxfield <mmaxfield@apple.com>
REGRESSION(r185816): In the Hong Kong locale, navigator.language reports it's in the Taiwan locale
https://bugs.webkit.org/show_bug.cgi?id=200043
Reviewed by Dean Jackson.
Migrate system language tests to LayoutTests, to match the rest of our system language tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/NavigatorLanguage.mm: Removed.
2020-01-10 Jer Noble <jer.noble@apple.com>
[iOS] Audio from non-frontmost tab continues when app is backgrounded
https://bugs.webkit.org/show_bug.cgi?id=206101
<rdar://problem/58089916>
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/WKWebViewPausePlayingAudioTests.mm: Added.
(TestWebKitAPI::autoplayingConfiguration):
(TestWebKitAPI::TEST):
2020-01-10 Jonathan Bedard <jbedard@apple.com>
Python3: Support Source/WebKit/Scripts/webkit
https://bugs.webkit.org/show_bug.cgi?id=206078
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Call test-webkitpy with Python 3 since
everything is now compatible.
2020-01-10 Jonathan Bedard <jbedard@apple.com>
webkit-patch crashes when creating new bug with Python 3
https://bugs.webkit.org/show_bug.cgi?id=205911
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(BugzillaQueries.is_invalid_bugzilla_email): Decode page before applying regex.
(Bugzilla.authenticate): Decode group before printing.
(Bugzilla._parse_attachment_id_from_add_patch_to_bug_response): Ensure HTML response
Is a string before applying the regex.
(Bugzilla._check_create_bug_response): Ditto.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: Attachment ID should be a string,
not a byte array.
2020-01-10 Alex Christensen <achristensen@webkit.org>
Fix test assertions after r254345
https://bugs.webkit.org/show_bug.cgi?id=206037
There were two assertions being hit in the new tests:
1. Beacon sends POST requests, so the HTTP server that receives them needs to be able to handle POST requests.
2. There was an assertion in the destructor of NetworkResourceLoader because we were destroying a WKWebView during a sync xhr.
This isn't a problem in practice, but we may as well wait for the sync xhr to finish before completing the test so we can
keep the sync xhr assertion, which is useful to prevent hangs.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(-[TestUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondToRequests):
2020-01-10 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] EWS should not wipe the JHBuild in the unapply patch step
https://bugs.webkit.org/show_bug.cgi?id=206061
Reviewed by Aakash Jain.
The current unapply patch step on the EWS calls the script clean-webkit, which wipes everything.
Rebuilding the JHBuild takes around 30 minutes, even with ccache.
And its not needed to wipe the JHBuild directories on the clean-webkit step, because the WebKit
tooling for building the JHBuild (update-webkitgtk-libs) already detects when the moduleset has
been modified and wipes it when necessary.
This patch adds the optional argument --keep-jhbuild-directory to the script clean-webkit,
that the EWS will pass when doing the unapply patch step for platform GTK or WPE.
* BuildSlaveSupport/ews-build/steps.py:
(CleanWorkingDirectory.start):
* Scripts/clean-webkit:
(main):
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.discard_untracked_files):
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
2020-01-10 Alex Christensen <achristensen@webkit.org>
Build fix for builds without libwebrtc's BoringSSL.
https://bugs.webkit.org/show_bug.cgi?id=206037
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
2020-01-10 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Support authenticatorGetNextAssertion
https://bugs.webkit.org/show_bug.cgi?id=203346
<rdar://problem/56558488>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FidoTestData.h:
Adds new test case for new logic in DeviceResponseConverter.
2020-01-10 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support to run-webkit-tests (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=205291
Unreviewed follow-up fix.
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.test_diff_image): Diff output is byte array, not string.
(PortTestCase.test_diff_image_failed): Ditto.
(PortTestCase.test_diff_image_crashed): Ditto.
2020-01-10 Alex Christensen <achristensen@webkit.org>
Expand _WKResourceLoadDelegate callbacks
https://bugs.webkit.org/show_bug.cgi?id=206037
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(-[TestResourceLoadDelegate webView:resourceLoad:didSendRequest:]):
(-[TestResourceLoadDelegate webView:resourceLoad:didPerformHTTPRedirection:newRequest:]):
(-[TestResourceLoadDelegate webView:resourceLoad:didReceiveChallenge:]):
(-[TestResourceLoadDelegate webView:resourceLoad:didReceiveResponse:]):
(-[TestResourceLoadDelegate webView:resourceLoad:didCompleteWithError:]):
(TEST):
(-[TestResourceLoadDelegate webView:willSendRequest:]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
* TestWebKitAPI/cocoa/HTTPServer.h:
(TestWebKitAPI::HTTPServer::HTTPResponse::HTTPResponse):
Add the ability to have non-200 status codes in responses.
Also switch the order of parameters to reflect the fact that header fields are sent before the body.
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::statusText):
(TestWebKitAPI::HTTPServer::respondToRequests):
2020-01-10 Alex Christensen <achristensen@webkit.org>
Add SPI to enable TLS 1.0 and 1.1 in WKWebViews
https://bugs.webkit.org/show_bug.cgi?id=206046
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
2020-01-10 Alex Christensen <achristensen@webkit.org>
Remove WebsiteDataStore::setCacheStorageDirectory which has been replaced by WebsiteDataStoreConfiguration::setCacheStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=205841
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::websiteDataStore):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
2020-01-10 youenn fablet <youenn@apple.com>
[WTR] Use short heart beat timer as a TestOption
https://bugs.webkit.org/show_bug.cgi?id=205795
Reviewed by Chris Dumez.
Using short service worker heartbeat timeout values creates flakiness on slow bots.
By default, use regular service worker heartbeat timeout values for layout tests.
Add a WTR option value to use short service worker timeout values.
Use this option for service worker spinning layout tests.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2020-01-10 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=205291
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.
* Scripts/webkitpy/common/message_pool.py:
(_MessagePool._loop): Move exception inside of loop.
(_Message.__repr__): Use .format strings.
(_Worker.__init__): Ditto.
* Scripts/webkitpy/common/wavediff.py:
(WaveDiff.__init__): Use Python 3 compatible BytesIO and StringIO.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder._read_test_names_from_file): Use .format string.
(LayoutTestFinder.split_into_chunks): Explicitly use integer division.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._get_test_inputs): Use range over xrange.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._handle_error): Use .format strings.
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator._insert_failure_summaries): Use Python 3 compatible itervalues.
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.__init__): Sort type list.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.setUp): Multiple processes are buggy in test-webkitpy.
(RunTest.test_basic): replace buflist with getvalue().
(RunTest.test_child_processes_2): Ditto.
(RunTest.test_child_processes_min): Ditto.
(RunTest.test_keyboard_interrupt): Ditto.
(RunTest.test_missing_and_unexpected_results): Compare dictionaries instead of json strings.
(RunTest.test_crash_with_stderr): Ditto.
(RunTest.test_reftest_should_not_use_naming_convention_if_not_listed_in_reftestlist): Ditto.
(EndToEndTest.test_reftest_with_two_notrefs): Ditto.
* Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.write): Flush stream after writing.
(MeteredStream._erase_last_partial_line): Ditto.
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer._print_directory_timings): Can't compare string to integer.
(Printer._print_statistics_for_test_timings): Use integer division.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort._merge_crash_logs): Use items over iteritems.
* Scripts/webkitpy/port/device.py:
(Device.__hash__): Allow hashing of devices.
* Scripts/webkitpy/port/device_port.py:
(DevicePort._install): Use range over xrange.
(DevicePort.setup_test_run): Ditto.
(DevicePort.clean_up_test_run): Ditto.
* Scripts/webkitpy/port/driver.py:
(DriverOutput.__init__): Text should be decoded, audio encoded.
(Driver.__init__):
(Driver.run_test):
(Driver._parse_child_processes_output): Output is byte array.
(Driver._check_for_driver_timeout): Ditto.
(Driver._check_for_address_sanitizer_violation): Error lines are byte arrays.
(Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
(Driver._read_optional_image_block): If a block is base64 encoded, we want the decoded
content, otherwise, we want the encoded content.
(Driver._read_header): Lines are byte arrays, decode them before processing.
(Driver._process_stdout_line): Blocks are byte arrays.
(Driver._strip_eof): Lines should be byte arrays, not strings.
(Driver._read_block): Standardize encoding in blocks.
(ContentBlock.__init__): Content should be a byte array.
(ContentBlock.decode_content): Attempt to decode content.
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_read_binary_block): Content should be encoded.
(DriverTest.test_read_base64_block): Ditto.
(DriverTest.test_check_for_driver_crash): ServerProcess output should be a byte array.
* Scripts/webkitpy/port/image_diff.py:
(ImageDiffer.diff_image): ImageDiff output is in byte arrays.
(ImageDiffer._read): Ditto.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.write): Encode data before writing it.
* Scripts/webkitpy/port/server_process_mock.py:
(MockServerProcess.__init__): Convert string mock output to bytes.
(MockServerProcess.read_stdout_line): Stdout lines are byte arrays.
(MockServerProcess.read_stdout): Ditto.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.NonBlockingFileFromSocket.close): Don't double close socket in Python 3.
(SimulatorProcess._start): Stdin should be a binary stream.
* Scripts/webkitpy/port/test.py:
(unit_test_list): Convert audio streams to byte arrays.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.is_usable): Decode xcrun output.
(SimulatedDevice.install_app): Use xrange over range.
2020-01-10 Adrian Perez de Castro <aperez@igalia.com>
[Flatpak] Update IceCC to version 1.2
https://bugs.webkit.org/show_bug.cgi?id=206059
Reviewed by Philippe Normand.
Update IceCC/Icecream to version 1.2, which is the same version
currently shipped with Debian stable (Buster). This bump is needed
because IceCC 1.1 does not seem to interoperate with the scheduler
from newer versions and it is expected that people who run IceCC will
install IceCC in their build farm from distribution packages.
* flatpak/org.webkit.CommonModules.yaml: Bump IceCC version to 1.2,
add the Git commit-id for the release tag.
2020-01-10 Charlie Turner <mail@charles.plus>
[EME][ClearKey] Refactor CDMClearKey::update()
https://bugs.webkit.org/show_bug.cgi?id=205999
Reviewed by Xabier Rodriguez-Calvar.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F): Added a test for the new toHexString
helper. It should make sure to zero pad each byte to two
characters, so that it's easy to read.
2020-01-10 Carlos Garcia Campos <cgarcia@igalia.com>
[GLIB] Add GLib specific API for JSC JSValueRef.h's JSValueMakeFromJSONString and JSValueCreateJSONString methods
https://bugs.webkit.org/show_bug.cgi?id=205161
Reviewed by Adrian Perez de Castro.
Add tests for new API.
* TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(testJSCJSON):
(main):
2020-01-09 Ryan Haddad <ryanhaddad@apple.com>
Move macOS Test262, JSC, and perf queues to Catalina
https://bugs.webkit.org/show_bug.cgi?id=205971
Unreviewed.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Update queue names on dashboard to match new naming scheme (dashes instead of spaces)
2020-01-09 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] Use ComplexTextController instead of UniscribeController
https://bugs.webkit.org/show_bug.cgi?id=204884
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp: Enabled these tests for PLATFORM(WIN).
2020-01-09 David Kilzer <ddkilzer@apple.com>
TestController::platformLibraryPathForTesting() returns inner pointer to autoreleased NSString
<https://webkit.org/b/206018>
<rdar://problem/58449733>
Reviewed by Darin Adler.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
- Use WTF::AutodrainedPool to fix remaining autoreleasePool
leaks.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformLibraryPathForTesting):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformLibraryPathForTesting):
- Retain NSString since these methods return an inner pointer.
This also only needs to be initialized once.
2020-01-09 Wenson Hsieh <wenson_hsieh@apple.com>
Text manipulation controller should not observe changes in new replacement elements
https://bugs.webkit.org/show_bug.cgi?id=206015
<rdar://problem/58353667>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
Add a new API test to verify that we don't fire text manipulation item callbacks due to inserting elements when
completing text manipulation.
(-[TextManipulationDelegate initWithItemCallback]): Deleted.
Remove a stray initializer that was unused (and also doesn't take an ItemCallback, as its name might suggest).
2020-01-09 Ryan Haddad <ryanhaddad@apple.com>
Move macOS Test262, JSC, and perf queues to Catalina
https://bugs.webkit.org/show_bug.cgi?id=205971
Unreviewed infrastructure fix.
* BuildSlaveSupport/build.webkit.org-config/config.json: Add missing scheduler for perf queue.
2020-01-09 John Wilander <wilander@apple.com>
Resource Load Statistics: Add timing information to WebPageProxy::logFrameNavigation() to detect delayed client-side redirects
https://bugs.webkit.org/show_bug.cgi?id=205522
<rdar://problem/58125759>
Reviewed by Chris Dumez.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
Removed dead code.
2020-01-09 Paulo Matos <pmatos@igalia.com>
Race condition in run-jsc-stress-tests chdir
https://bugs.webkit.org/show_bug.cgi?id=205910
Reviewed by Keith Miller.
chdir block was in a race condition when multiple remotes are used.
As an example of this see line 3345 of:
https://ews-build.webkit.org/#/builders/26/builds/5719/steps/12/logs/stdio
quote error:
Tools/Scripts/run-jsc-stress-tests:1946: warning: conflicting chdir during another chdir block
Multiple threads should not enter a chdir block simultaneously, therefore we need
a mutex to guard it. More information is here:
https://bugs.ruby-lang.org/issues/15661
* Scripts/run-jsc-stress-tests:
2020-01-09 Ryan Haddad <ryanhaddad@apple.com>
Move commit queue to Mojave
https://bugs.webkit.org/show_bug.cgi?id=205972
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
2020-01-08 Ryan Haddad <ryanhaddad@apple.com>
Move macOS Test262, JSC, and perf queues to Catalina
https://bugs.webkit.org/show_bug.cgi?id=205971
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.macos-highsierra img.logo): Deleted.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2020-01-09 David Kilzer <ddkilzer@apple.com>
WebKitTestRunner leaks objects in a top-level autoreleasePool that's never cleared
<https://webkit.org/b/205950>
<rdar://problem/50987831>
Reviewed by Joseph Pecoraro.
* WebKitTestRunner/ios/mainIOS.mm:
(main):
- Add an @autoreleasepool block around a line of code
that generates autoreleased objects. These objects
would never be released for the life of the process
prior to this change.
* WebKitTestRunner/mac/main.mm:
(main):
- Move instantiation of WTR::TestController outside of
@autoreleasepool block so the pool can be drained
while running tests. Prior to this change, this
autoreleasePool would never be drained.
2020-01-08 Saam Barati <sbarati@apple.com>
build-jsc should work with "testing" and "release+assert" targets
https://bugs.webkit.org/show_bug.cgi?id=205978
Reviewed by Mark Lam.
* Scripts/webkitdirs.pm:
(determineConfiguration):
(determinePassedConfiguration):
2020-01-08 Saam Barati <sbarati@apple.com>
build-jsc should invoke make instead of calling xcodebuild directly
https://bugs.webkit.org/show_bug.cgi?id=205960
Reviewed by Keith Miller.
This makes build-jsc invoke make instead of directly invoking xcodebuild.
There are some benefits here:
- 'make' is a more standard way to build than build-jsc, so as we make
improvements to the make build (e.g r254234), we'll get the same improvements
in build-jsc.
- There has been a longstanding bug where if you did if you did
`build-jsc --release && cd Source/JavaScriptCore && make release`
then the `make release` call would rebuild all of JavaScriptCore.
If build-jsc directly invokes make, this issue goes away and allows
the two to interoperate as expected.
* Scripts/build-jsc:
(buildMyProject):
2020-01-08 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r254235.
https://bugs.webkit.org/show_bug.cgi?id=205981
Broke layout tests (Requested by aakashja_ on #webkit).
Reverted changeset:
"run-webkit-tests: clobber-old-results should remove the
entire results folder"
https://bugs.webkit.org/show_bug.cgi?id=205875
https://trac.webkit.org/changeset/254235
2020-01-08 Aakash Jain <aakash_jain@apple.com>
[ews] Perform validation of patch before retrying CompileWebKit on ToT
https://bugs.webkit.org/show_bug.cgi?id=205953
<rdar://problem/58064430>
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(CompileWebKit.evaluateCommand):
2020-01-08 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: clobber-old-results should remove the entire results folder
https://bugs.webkit.org/show_bug.cgi?id=205875
<rdar://problem/58236117>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._clobber_old_results): Remove entire results folder.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.test_retrying_and_flaky_tests): clobber-old-results now removes the
entire results directory.
2020-01-08 Mark Lam <mark.lam@apple.com>
Rename testing build configuration to release+assert, and add new testing build configuration.
https://bugs.webkit.org/show_bug.cgi?id=205954
Reviewed by Yusuke Suzuki.
Added a --force-opt shortcut for the --force-optimization-level option of
set-webkit-configuration. This makes it less painful to type this on the command
line for those of us who would like to use this option often in our local builds.
* Makefile:
* Scripts/set-webkit-configuration:
2020-01-08 Matt Lewis <jlewis3@apple.com>
Move EWS from macOS High Sierra to macOS Mojave
https://bugs.webkit.org/show_bug.cgi?id=205948
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/config.json:
2020-01-08 Brady Eidson <beidson@apple.com>
Make _callAsyncFunction:withArguments: work with promises.
https://bugs.webkit.org/show_bug.cgi?id=205654
Reviewed by Saam Barati.
Test that:
- Resolve results in success handler being called
- Reject results in error handler being called
- Both resolve and reject becoming unreachable results in the error handler being called
- Both native Promise objects and arbitrary thenables work
- Any object where "then" is callable - even if not a function - works
* TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm:
(TestWebKitAPI::tryGCPromise):
(TestWebKitAPI::TEST):
2020-01-08 Daniel Bates <dabates@apple.com>
Regression r254160: 6 API test failures
https://bugs.webkit.org/show_bug.cgi?id=205935
<rdar://problem/58411559>
Revert API test changes in r254160. I mistakenly thought this were legitimate changes,
but they were actually the result of a bug I have since corrected in r254167.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
(TEST):
2020-01-08 Keith Miller <keith_miller@apple.com>
Fix testing Makefile to inherit preprocessor definitions
https://bugs.webkit.org/show_bug.cgi?id=205940
Reviewed by Mark Lam.
* Makefile:
2020-01-08 Paulo Matos <pmatos@igalia.com>
Allow multiple cmakeargs inside inside envvar
https://bugs.webkit.org/show_bug.cgi?id=205722
Reviewed by Carlos Alberto Lopez Perez.
Allow sub-argument lists to be passed in a build environment variable.
* Scripts/build-jsc:
* Scripts/build-webkit:
2020-01-07 Saam Barati <sbarati@apple.com>
run-jsc should not print "... I should not be here ..." when it doesn't get killed when sending a signal to itself
https://bugs.webkit.org/show_bug.cgi?id=205907
Reviewed by Ross Kirsling.
In r253024, I added code that would try to make run-jsc exit with the same
signal that the actual jsc binary exitted with. This made it so crashes and
in the `jsc` process would look like equivalent crashes in `run-jsc` process.
Not thinking of non terminating signals, I added code like this:
```
system("kill -" . $signal . " " . $PID);
print STDERR "\n... I should not be here ...\n";
```
However, this print will happen for totally legitimate reasons, like when
you Ctrl+C from the REPL when using `run-jsc`. This patch removes this print.
* Scripts/run-jsc:
2020-01-07 Said Abou-Hallawa <sabouhallawa@apple.com>
Implement css3-images image-orientation
https://bugs.webkit.org/show_bug.cgi?id=89052
Reviewed by Simon Fraser.
Remove the ENABLE_CSS_IMAGE_ORIENTATION feature flag.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2020-01-07 Alex Christensen <achristensen@webkit.org>
Introduce _WKResourceLoadDelegate
https://bugs.webkit.org/show_bug.cgi?id=205887
Reviewed by Dean Jackson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm: Added.
(-[TestResourceLoadDelegate webView:willSendRequest:]):
(TEST):
2020-01-07 Keith Miller <keith_miller@apple.com>
Add a testing target to make that is release + assertions
https://bugs.webkit.org/show_bug.cgi?id=205895
Reviewed by Mark Lam.
* Makefile:
2020-01-07 Kate Cheney <katherine_cheney@apple.com>
Create a mechanism for 'safe by default' web views
https://bugs.webkit.org/show_bug.cgi?id=205407
<rdar://problem/58053071>
Reviewed by Alex Christensen.
Test the default WebView category is correct and that the setter works
properly.
* TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm:
(TEST):
2020-01-07 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r254165.
Caused 500+ missing results on Mac
Reverted changeset:
"run-webkit-tests: clobber-old-results should remove the
entire results folder"
https://bugs.webkit.org/show_bug.cgi?id=205875
https://trac.webkit.org/changeset/254165
2020-01-07 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: clobber-old-results should remove the entire results folder
https://bugs.webkit.org/show_bug.cgi?id=205875
<rdar://problem/58236117>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._clobber_old_results): Remove entire results folder.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.test_retrying_and_flaky_tests): clobber-old-results now removes the
entire results directory.
2020-01-07 Aakash Jain <aakash_jain@apple.com>
[EWS] Limit pre-existing JSC tests failures to display in buildbot summary
https://bugs.webkit.org/show_bug.cgi?id=205878
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeJSCTestsResults.start): Limit the number of failures to display.
2020-01-07 Daniel Bates <dabates@apple.com>
First character in each word-wrapped line has incorrect character rect when requested range spans multiple lines
https://bugs.webkit.org/show_bug.cgi?id=205842
<rdar://problem/56884325>
Reviewed by Zalan Bujtas.
Add a new test.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
2020-01-07 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r254144.
Broke the iOS build.
Reverted changeset:
"First character in each word-wrapped line has incorrect
character rect when requested range spans multiple lines"
https://bugs.webkit.org/show_bug.cgi?id=205842
https://trac.webkit.org/changeset/254144
2020-01-07 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Handle case where processing data is undefined
https://bugs.webkit.org/show_bug.cgi?id=205870
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext._do_job_for_key): If the job content is undefined, mark the job as
finished.
2020-01-07 Daniel Bates <dabates@apple.com>
First character in each word-wrapped line has incorrect character rect when requested range spans multiple lines
https://bugs.webkit.org/show_bug.cgi?id=205842
<rdar://problem/56884325>
Reviewed by Zalan Bujtas.
Add a new test.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
2020-01-07 Basuke Suzuki <basuke.suzuki@sony.com>
check-webkit-style: bmalloc doesn't use config.h
https://bugs.webkit.org/show_bug.cgi?id=205840
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/style/checkers/cpp.py:
(_IncludeState.check_next_include_order):
(check_include_line):
(check_has_config_header):
2020-01-07 youenn fablet <youenn@apple.com>
Add an option to make video capture in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=205853
Reviewed by Eric Carlson.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2020-01-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to retrieve and delete surrounding text for input methods
https://bugs.webkit.org/show_bug.cgi?id=205716
Reviewed by Žan Doberšek.
Add new test case for the new API.
* TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
(webkitInputMethodContextMockFinalize):
(webkitInputMethodContextMockNotifySurrounding):
(webkitInputMethodContextMockReset):
(webkit_input_method_context_mock_class_init):
(testWebKitInputMethodContextSurrounding):
(beforeAll):
2020-01-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to set purpose and hints of active editable element to input methods
https://bugs.webkit.org/show_bug.cgi?id=205605
Reviewed by Žan Doberšek.
Add new test case to check the purpose and hints API.
* TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
(testWebKitInputMethodContextContentType):
(beforeAll):
2020-01-06 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Tweak processing constants
https://bugs.webkit.org/show_bug.cgi?id=205828
<rdar://problem/58146698>
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext):
Increase process timeout to 1 week.
Allow 5 retries instead of 3.
Retry stuck tasks after 10 minutes instead of 5.
Include more tasks so that a scan is always greater than the number of workers.
2020-01-06 Jonathan Bedard <jbedard@apple.com>
test-lldb-webkit: Use logging module
https://bugs.webkit.org/show_bug.cgi?id=205832
Reviewed by Stephanie Lewis.
* Scripts/test-lldb-webkit:
(LldbTester.run): Configure logger.
2020-01-06 Daniel Bates <dabates@apple.com>
Precision of getClientRects(), getBoundingClientRect() differs depending whether simple line layout or line box layout is used
https://bugs.webkit.org/show_bug.cgi?id=205563
<rdar://problem/58165528>
Reviewed by Zalan Bujtas.
Update test results.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
(TEST):
2020-01-06 youenn fablet <youenn@apple.com>
XMLHTTPRequest POSTs blob data to a custom WKURLSchemeHandler protocol crash
https://bugs.webkit.org/show_bug.cgi?id=205685
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2020-01-06 Alex Christensen <achristensen@webkit.org>
Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory
https://bugs.webkit.org/show_bug.cgi?id=205754
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::websiteDataStore):
(WTR::TestController::platformAdjustContext):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
2020-01-06 Alex Christensen <achristensen@webkit.org>
Allow wildcard scheme in UserContentURLPattern
https://bugs.webkit.org/show_bug.cgi?id=205695
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2020-01-06 Antoine Quint <graouts@apple.com>
REGRESSION: [ iOS ] imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html is failing
https://bugs.webkit.org/show_bug.cgi?id=205458
<rdar://problem/58081704>
Reviewed by Wenson Hsieh.
The last sub-test in imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html checks on the
ability to activate various form controls after disabling and re-enabling them. Two of those form controls, <select>
and <textarea>, would trigger animations of the web view's UIScrollView causing touches to be consumed by UIKit and
never seen by the WKContentView, and as such the expected "click" events would not be received. It would have been
possible to modify the test to wait on any potential page scroll to complete before dispatching taps, but since this
is a WPT test, we cannot modify it. Instead, we make a change to the function called by uiScriptController.singleTapAtPoint()
to interrupt any pending UIScrollView animation when a tap is being triggered on the web view. Credit to Wenson Hsieh
for suggesting this simple and effective approach.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
2020-01-06 Mark Lam <mark.lam@apple.com>
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776
Reviewed by Saam Barati.
* DumpRenderTree/mac/ObjCController.m:
(-[ObjCController accessStoredWebScriptObject]):
2020-01-06 Mark Lam <mark.lam@apple.com>
Add --force-optimization-level option to Tools/Scripts/set-webkit-configuration.
https://bugs.webkit.org/show_bug.cgi?id=205787
Reviewed by Saam Barati.
Usage:
--force-optimization-level=<opt> Force optimization: O3, O2, O1, O0, Os, Ofast, Og, or none
This can be used to force debug builds to be built with a higher level optimization
so that tests can run to completion faster.
It can also be useful as a simple way to force release builds to be built with
different optimization levels for performance comparison.
Setting --force-optimization-level=none restores the default optimization levels.
Of course, the build targets need to be rebuilt for this to take effect.
* Scripts/set-webkit-configuration:
* Scripts/webkitdirs.pm:
(determineForceOptimizationLevel):
(forceOptimizationLevel):
(XcodeOptions):
2020-01-05 Dean Jackson <dino@apple.com>
Rename GraphicsContext3D to GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=205778
<rdar://problem/58327597>
Reviewed by Sam Weinig.
Rename all the GraphicsContext3D things to GraphicsContextGL
(includes Extensions3D and GRAPHICS_CONTEXT_3D).
GraphicsContext3DBase now becomes GraphicsContextGL.
GraphicsContext3D is now GraphicsContextGLOpenGL (since it represents
the OpenGL implementation of the API).
* Scripts/webkitpy/common/config/watchlist:
2020-01-06 Paulo Matos <pmatos@igalia.com>
Remove unused variable jsDriverArgs from script
https://bugs.webkit.org/show_bug.cgi?id=205797
Reviewed by Žan Doberšek.
* Scripts/run-javascriptcore-tests:
2020-01-06 Paulo Matos <pmatos@igalia.com>
Add support for passing test arguments in envvar TEST_JSC_ARGS
https://bugs.webkit.org/show_bug.cgi?id=205800
Reviewed by Žan Doberšek.
Similarly to what is done in build-jsc, we add support to pass
extra command line arguments in environment variable TEST_JSC_ARGS.
* Scripts/run-javascriptcore-tests:
2020-01-06 Per Arne Vollan <pvollan@apple.com>
[iOS] Issue mach lookup extension to launch services daemon for Mail
https://bugs.webkit.org/show_bug.cgi?id=205316
Reviewed by Brent Fulgham.
Add test option to set bundle identifier. Using this, WebKitTestRunner can pretend to be any client, e.g. Mail.
Test: fast/sandbox/ios/sandbox-mach-lookup-mail.html
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::setApplicationBundleIdentifier):
2020-01-06 Philippe Normand <pnormand@igalia.com>
[WPE][Qt] TestRunJavaScript failure
https://bugs.webkit.org/show_bug.cgi?id=205766
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp:
(TestRunJavaScript::main): Surround JS function with parentheses
to comply with the ECMAScript specification.
2020-01-05 Sam Weinig <weinig@apple.com>
Further simplify StringBuilder usage by standardizing hex formating to a single hex() function
https://bugs.webkit.org/show_bug.cgi?id=205759
Reviewed by Dean Jackson.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/HexNumber.cpp: Added.
Add testing for hex formatting of integers.
2020-01-05 Simon Fraser <simon.fraser@apple.com>
DumpRenderTree doesn't always call updateRendering() when a test completes
https://bugs.webkit.org/show_bug.cgi?id=205761
Reviewed by Darin Adler.
Some animation tests (and possibly many others) are flakey or broken in WK1 because
there was no code to guarantee that Page::updateRendering() was called at notifyDone()
time.
WK2 calls DrawingArea::forceRepaint(), which does updateRendering(), flushes layers,
and flushes a CATransaction.
In WK1, we historically relied in AppKit to call -viewWillDraw on WebView and/or WebHTMLView,
and just called [webView display] to make this happen. However, with layer backing, AppKit behavior
changes, and WebCore changes that make more things happen with HTML event loop timing, this
approach no longer works. The fix is to add WebView SPI, _forceRepaintForTesting, which emulates what
WK2 is doing.
* DumpRenderTree/mac/DumpRenderTree.mm:
(updateDisplay):
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
2020-01-03 Tim Horton <timothy_horton@apple.com>
REGRESSION: 150+ flaky failures on some bots (color mismatches)
https://bugs.webkit.org/show_bug.cgi?id=205755
<rdar://problem/58248136>
Reviewed by Simon Fraser.
* DumpRenderTree/mac/LayoutTestHelper.m:
(colorProfileURLForDisplay):
(displayUUIDStrings):
Use CGGetOnlineDisplayList instead of CGGetActiveDisplayList; we want
all attached displays, even if they are sleeping.
2020-01-03 Keith Miller <keith_miller@apple.com>
Update test262 tests to commit 157b18d
https://bugs.webkit.org/show_bug.cgi?id=205741
Reviewed by Yusuke Suzuki.
Using --save and --latest-import should update expectations rather than overwrite.
* Scripts/test262/Runner.pm:
(main):
2020-01-03 Simon Fraser <simon.fraser@apple.com>
Add some shared schemes to the WebKit.xcworkspace
https://bugs.webkit.org/show_bug.cgi?id=205698
Reviewed by Tim Horton.
Make WebKit.xcworkspace show the following schemes by default:
All Source
All Tools
WTF
JavaScriptCore
WebCore
WebKit
WebKitLegacy
DumpRenderTree
WebKitTestRunner
TestWebKitAPI
MiniBrowser
MobileMiniBrowser.
Also remove the MobileMiniBrowserUITests scheme.
* DumpRenderTree/DumpRenderTree.xcodeproj/xcshareddata/xcschemes/DumpRenderTree.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
* MiniBrowser/MiniBrowser.xcodeproj/xcshareddata/xcschemes/MiniBrowser.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowser.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/xcshareddata/xcschemes/WebKitTestRunner.xcscheme: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
2020-01-03 youenn fablet <youenn@apple.com>
Provide pid to crashing service worker process and GPU process
https://bugs.webkit.org/show_bug.cgi?id=205564
Reviewed by Alex Christensen.
Exposing the pid allows WebKitTestRunner to provide better information.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::serviceWorkerProcessDidCrash):
(WTR::TestController::gpuProcessDidCrash):
* WebKitTestRunner/TestController.h:
2020-01-03 Alex Christensen <achristensen@webkit.org>
Deprecate _WKWebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=205539
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[ContentBlockingWebsitePoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(TEST):
(-[AutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[WebsitePoliciesWebsiteDataStoreDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
(-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
(-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
2020-01-03 Alicia Boya García <aboya@igalia.com>
[GStreamer][MSE] Player stalling too soon
https://bugs.webkit.org/show_bug.cgi?id=205117
Reviewed by Xabier Rodriguez-Calvar.
Backported patch to jhbuild.
Small modifications were necessary to make it apply on 1.16.1.
* gstreamer/jhbuild.modules:
* gstreamer/patches/libav-0001-gstavviddec-Limit-default-number-of-decoder-threads.patch: Added.
2020-01-02 Alex Christensen <achristensen@webkit.org>
Add SPI to disable CORS on requests to URLs matching a pattern
https://bugs.webkit.org/show_bug.cgi?id=205534
<rdar://problem/58011337>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2020-01-02 Sam Weinig <weinig@apple.com>
Simplify StringBuilder API/align with makeString by removing appendFixed* functions and using FormatNumber struct instead
https://bugs.webkit.org/show_bug.cgi?id=205671
Reviewed by Alex Christensen.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...)).
2019-12-31 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE] OpenJPEG missing in install dependencies script.
https://bugs.webkit.org/show_bug.cgi?id=205647
Unreviewed follow-up fix.
Add also the OpenJPEG-2 package to the WPE install list.
* wpe/install-dependencies:
2019-12-30 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] OpenJPEG missing in install dependencies script
https://bugs.webkit.org/show_bug.cgi?id=205647
Reviewed by Adrian Perez de Castro.
* gtk/install-dependencies: Add OpenJPEG-2 package to the list.
2019-12-30 Brady Eidson <beidson@apple.com>
Add WKWebView SPI to evaluate a function with arguments
https://bugs.webkit.org/show_bug.cgi?id=205239
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView objectByCallingAsyncFunction:withArguments:error:]):
2019-12-30 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Report number of total tests run and failed in API test runner like run-api-tests does
https://bugs.webkit.org/show_bug.cgi?id=205608
Reviewed by Carlos Garcia Campos.
Calculate the total number of tests (including subtests) executed
and report it at the end of the step in the same format than run-api-tests does.
* glib/api_test_runner.py:
(TestRunner._run_test_glib): Pass the list of skipped tests instead of calculating it here to avoid calculating it twice.
(TestRunner._get_tests_from_google_test_suite): Ditto.
(TestRunner._run_google_test_suite): Ditto.
(TestRunner._run_test): Ditto.
(TestRunner.run_tests):
(TestRunner.run_tests.number_of_tests):
(TestRunner.run_tests.report):
2019-12-30 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] support output of results in json format in API test runner.
https://bugs.webkit.org/show_bug.cgi?id=205579
Reviewed by Carlos Garcia Campos.
Write the results of the tests in json format when the option --json-output
is passed to run-gtk-tests or run-wpe-tests. Use the same format than mac's
run-api-tests.
* glib/api_test_runner.py:
(TestRunner.run_tests):
(TestRunner.run_tests.generate_test_list_for_json_output):
(TestRunner):
(add_options):
2019-12-28 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r253804.
https://bugs.webkit.org/show_bug.cgi?id=205622
Seeing strange test results after this change (Requested by ap
on #webkit).
Reverted changeset:
"Python 3: Add support to run-webkit-tests"
https://bugs.webkit.org/show_bug.cgi?id=205291
https://trac.webkit.org/changeset/253804
2019-12-28 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Layout tests sometimes throw an exception under checkForOutstandingCallbacks
https://bugs.webkit.org/show_bug.cgi?id=205612
<rdar://problem/57789693>
Reviewed by Tim Horton.
On iOS, layout tests that synthesize HID events but end before WebKitTestRunnerApp finishes dequeueing and
handling those events occasionally cause the next test to crash with an Objective-C exception under
UIScriptControllerIOS::checkForOutstandingCallbacks. This happens when UIScriptContext is destroyed after a HID
marker event is dispatched, but before that HID marker event has been handled. (For clarity, the HID marker
event is a special vendor-defined event used by HIDEventGenerator to signify the end of a series of synthesized
HID events that were previously dispatched to the application).
This is typically fixed by ensuring that all iOS layout tests always wait for synthesized HID events to finish
before ending the test (i.e. by calling `testRunner.notifyDone()`). However, some tests that fall into this
category are imported: e.g. dom/events/document-level-touchmove-event-listener-passive-by-default.html in
web-platform-tests/, which does not wait for the swipe gesture to finish before completing. This current causes
us to dispatch the end of the gesture while the following test (dom/events/event-disabled-dynamic.html) begins.
While I wasn't able to trivially reproduce the exception locally, it was consistently reproducible by forcing a
50 ms `sleep` in -[HIDEventGenerator sendMarkerHIDEventWithCompletionBlock:], right before queueing the marker
event. This suggests that the crash is timing-dependent, and just seems to occasionally reproduce more
frequently in internal automation.
This test seems to be passing reliably in other engines (e.g. Chrome and Edge), so instead of trying to fix the
test to always wait for events to finish dispatching, we can address the issue by teaching WebKitTestRunner to
simply wait for outgoing marker events to finish dispatching before proceeding with the next test, rather than
crashing. This should not only fix the crash, but also address sporadic flakiness that may result from tests
that handle synthetic HID events that were dispatched by the previous test.
* TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
(UIScriptContext::~UIScriptContext):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::waitForOutstandingCallbacks):
(WTR::UIScriptController::checkForOutstandingCallbacks): Deleted.
Rename checkForOutstandingCallbacks to waitForOutstandingCallbacks, and make it wait up to a second for the
application to finish handling any outgoing marker HID event. In the event that the timeout is hit, we still
throw an Objective-C exception to avoid beginning the next test in an unpredictable state.
* WebKitTestRunner/ios/HIDEventGenerator.h:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator init]):
Perform some minor cleanup here, by removing excess private category properties in HIDEventGenerator (including
-debugTouchViews, which was unused); also, change _eventCallbacks into a `RetainPtr`, so that we don't need to
worry about manually releasing it.
(-[HIDEventGenerator dealloc]): Deleted.
(-[HIDEventGenerator hasOutstandingCallbacks]):
(-[HIDEventGenerator checkForOutstandingCallbacks]): Deleted.
Rename -checkForOutstandingCallbacks to -hasOutstandingCallbacks, and flip the return result.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::waitForOutstandingCallbacks):
(WTR::UIScriptControllerIOS::checkForOutstandingCallbacks): Deleted.
2019-12-28 Antti Koivisto <antti@apple.com>
Allow disabling internal and experimental features in run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=205614
Reviewed by Tim Horton.
Add an optional true/false parameter to --internal-feature/--experimental-feature options.
This can be useful for isolating problems in features that are enabled by default. Example:
--internal-feature LayoutFormattingContextIntegrationEnabled=false
The [=true|false] syntax is the same as used in test headers.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* WebKitTestRunner/Options.cpp:
(WTR::parseFeature):
(WTR::handleOptionExperimentalFeature):
(WTR::handleOptionInternalFeature):
* WebKitTestRunner/Options.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::testOptionsForTest const):
* WebKitTestRunner/TestController.h:
2019-12-25 Dean Jackson <dino@apple.com>
WKTR/DRT always trigger the Discrete GPU on dual GPU systems
https://bugs.webkit.org/show_bug.cgi?id=205546
<rdar://problem/58139610>
Reviewed by Alexey Proskuryakov.
Add an option "--prefer-integrated-gpu" to run-webkit-test
that causes the LayoutTestHelper to NOT lock the
machine to a discrete GPU on a dual-GPU system.
The default is false.
* DumpRenderTree/mac/LayoutTestHelper.m:
(main):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._set_up_run):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* Scripts/webkitpy/port/base.py:
(Port.start_helper):
* Scripts/webkitpy/port/mac.py:
(MacPort.start_helper):
* Scripts/webkitpy/port/mock_drt.py:
(MockDRTPort.start_helper):
2019-12-25 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r253282): Tests that use applyAutocorrection assert in UIScriptContext::requestUIScriptCompletion
https://bugs.webkit.org/show_bug.cgi?id=205588
<rdar://problem/58109942>
Reviewed by Tim Horton.
The change made in r253282 intended to defer completing the async task prepared in
UIScriptController::applyAutocorrection until after the current runloop; however, it ended up keeping the
synchronous call to asyncTaskComplete. Fix this by removing this code, so that we instead wait for the
dispatch_async block to invoke asyncTaskComplete.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::applyAutocorrection):
2019-12-24 Youenn Fablet <youenn@apple.com>
Deny Notification API access for non secure contexts
https://bugs.webkit.org/show_bug.cgi?id=205496
<rdar://problem/58074660>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
2019-12-24 youenn fablet <youenn@apple.com>
Service Worker doesn't terminate after a period of time when thread blocking
https://bugs.webkit.org/show_bug.cgi?id=202992
<rdar://problem/56298596>
Reviewed by Chris Dumez.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Enable small timeout values.
2019-12-23 Keith Miller <keith_miller@apple.com>
DFG/FTL should be able to exit to the middle of a bytecode
https://bugs.webkit.org/show_bug.cgi?id=205232
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests:
2019-12-23 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] InputMethod API unit tests don't work under X11
https://bugs.webkit.org/show_bug.cgi?id=205497
Reviewed by Žan Doberšek.
Use a toplevel window instead of a popup for the input method tests, since that's required in X11 to get the web
view focused.
* TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
(testWebKitInputMethodContextSimple):
(testWebKitInputMethodContextSequence):
(testWebKitInputMethodContextInvalidSequence):
(testWebKitInputMethodContextCancelSequence):
(testWebKitInputMethodContextReset):
2019-12-23 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Special combination characters doesn't respect the keystroke order when high CPU load
https://bugs.webkit.org/show_bug.cgi?id=185248
Reviewed by Žan Doberšek.
Remove the waits() that were added to work around this bug.
* TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
(testWebKitInputMethodContextSequence):
(testWebKitInputMethodContextInvalidSequence):
(testWebKitInputMethodContextCancelSequence):
(testWebKitInputMethodContextReset):
2019-12-21 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Improve our bound function implementation
https://bugs.webkit.org/show_bug.cgi?id=205327
Reviewed by Keith Miller.
Support running slow-microbenchmarks.
* Scripts/run-jsc-benchmarks:
2019-12-21 Kate Cheney <katherine_cheney@apple.com>
Add timeStamp to ITP database
https://bugs.webkit.org/show_bug.cgi?id=205121
<rdar://problem/57633021>
Reviewed by John Wilander.
Added checks to test that the timestamp is properly exposed via API
in the ITP database backend. This also adds an API test case using the
ITP database store. It was previously only testing the ITP memory store.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2019-12-20 Ryosuke Niwa <rniwa@webkit.org>
TextManipulationController should respect new token orders
https://bugs.webkit.org/show_bug.cgi?id=205378
Reviewed by Wenson Hsieh.
Added a bunch of tests for WKTextManipulation.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TextManipulation.CompleteTextManipulationReplaceSimpleSingleParagraph):
(TextManipulation.CompleteTextManipulationDisgardsTokens):
(TextManipulation.CompleteTextManipulationReordersContent):
(TextManipulation.CompleteTextManipulationCanSplitContent):
(TextManipulation.CompleteTextManipulationCanMergeContent):
(TextManipulation.CompleteTextManipulationFailWhenContentIsRemoved):
(TextManipulation.CompleteTextManipulationFailWhenExcludedContentAppearsMoreThanOnce):
(TextManipulation.CompleteTextManipulationPreservesExcludedContent):
2019-12-20 Megan Gardner <megan_gardner@apple.com>
Paint highlights specified in CSS Highlight API
https://bugs.webkit.org/show_bug.cgi?id=205318
Reviewed by Ryosuke Niwa.
Expand MarkedText to take a style name.
* TestWebKitAPI/Tests/WebCore/MarkedText.cpp:
(WebCore::operator<<):
2019-12-20 Jonathan Bedard <jbedard@apple.com>
lldbwebkittester: Strip CLANG_DEBUG_INFORMATION_LEVEL option while building
https://bugs.webkit.org/show_bug.cgi?id=205513
Reviewed by Alexey Proskuryakov.
* Scripts/webkitdirs.pm:
(buildXCodeProject): Strip CLANG_DEBUG_INFORMATION_LEVEL from lldbWebKitTester.
2019-12-20 Simon Fraser <simon.fraser@apple.com>
Add a Custom User Agent menu to MiniBrowser, and related cleanup
https://bugs.webkit.org/show_bug.cgi?id=205507
Reviewed by Wenson Hsieh.
Add a User Agent" submenu to the Settings menu, and construct it with some built-in
UA strings. When changed, it sets the customUserAgent on the WKWebView/WebView and
triggers a reload.
I also rearranged the menus so that "Settings" and "Debug" are no longer to the right
of the "Help" menu, which means getting the Settings menu from the xib. It was then
easier if SettingsController was no longer a singleton, but owned by AppDelegate.
Added a category on NSApplication to make it easier to get to BrowserAppDelegate
and thence to the SettingsController.
* MiniBrowser/mac/AppDelegate.h:
* MiniBrowser/mac/AppDelegate.m:
(-[NSApplication browserAppDelegate]):
(-[BrowserAppDelegate awakeFromNib]):
(-[BrowserAppDelegate defaultConfiguration]):
(-[BrowserAppDelegate defaultPreferences]):
(-[BrowserAppDelegate createBrowserWindowController:]):
(-[BrowserAppDelegate newWindow:]):
(-[BrowserAppDelegate newPrivateWindow:]):
(-[BrowserAppDelegate applicationDidFinishLaunching:]):
(-[BrowserAppDelegate _updateNewWindowKeyEquivalents]):
(-[BrowserAppDelegate userContentContoller]):
(defaultConfiguration): Deleted.
(defaultPreferences): Deleted.
* MiniBrowser/mac/ExtensionManagerWindowController.m:
(-[ExtensionManagerWindowController init]):
(-[ExtensionManagerWindowController add:]):
(-[ExtensionManagerWindowController remove:]):
* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController initWithMenu:]):
(-[SettingsController dealloc]):
(-[SettingsController _populateMenu]):
(+[SettingsController userAgentData]):
(-[SettingsController buildUserAgentsMenu:]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController _toggleBooleanDefault:]):
(-[SettingsController toggleExperimentalFeature:]):
(-[SettingsController toggleInternalDebugFeature:]):
(-[SettingsController customUserAgent]):
(-[SettingsController changeCutomUserAgent:]):
(+[SettingsController shared]): Deleted.
(-[SettingsController init]): Deleted.
(-[SettingsController menu]): Deleted.
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController awakeFromNib]):
(-[WK1BrowserWindowController userAgentDidChange:]):
(-[WK1BrowserWindowController windowWillClose:]):
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController initWithConfiguration:]):
(-[WK2BrowserWindowController userAgentDidChange:]):
(-[WK2BrowserWindowController windowWillClose:]):
(-[WK2BrowserWindowController didChangeSettings]):
2019-12-20 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Implement coders for CTAP ClientPIN requests and responses
https://bugs.webkit.org/show_bug.cgi?id=205376
<rdar://problem/58034395>
Reviewed by Brent Fulgham.
Adds API tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/CtapPinTest.cpp: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FidoTestData.h:
2019-12-19 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=205291
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.
* Scripts/webkitpy/common/message_pool.py:
(_MessagePool._loop): Move exception inside of loop.
(_Message.__repr__): Use .format strings.
(_Worker.__init__): Ditto.
* Scripts/webkitpy/common/wavediff.py:
(WaveDiff.__init__): Use Python 3 compatible BytesIO and StringIO.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder._read_test_names_from_file): Use .format string.
(LayoutTestFinder.split_into_chunks): Explicitly use integer division.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._get_test_inputs): Use range over xrange.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._handle_error): Use .format strings.
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator._insert_failure_summaries): Use Python 3 compatible itervalues.
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.__init__): Sort type list.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.setUp): Multiple processes are buggy in test-webkitpy.
(RunTest.test_basic): replace buflist with getvalue().
(RunTest.test_child_processes_2): Ditto.
(RunTest.test_child_processes_min): Ditto.
(RunTest.test_keyboard_interrupt): Ditto.
(RunTest.test_missing_and_unexpected_results): Compare dictionaries instead of json strings.
(RunTest.test_crash_with_stderr): Ditto.
(RunTest.test_reftest_should_not_use_naming_convention_if_not_listed_in_reftestlist): Ditto.
(EndToEndTest.test_reftest_with_two_notrefs): Ditto.
* Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.write): Flush stream after writing.
(MeteredStream._erase_last_partial_line): Ditto.
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer._print_directory_timings): Can't compare string to integer.
(Printer._print_statistics_for_test_timings): Use integer division.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort._merge_crash_logs): Use items over iteritems.
* Scripts/webkitpy/port/device.py:
(Device.__hash__): Allow hashing of devices.
* Scripts/webkitpy/port/device_port.py:
(DevicePort._install): Use range over xrange.
(DevicePort.setup_test_run): Ditto.
(DevicePort.clean_up_test_run): Ditto.
* Scripts/webkitpy/port/driver.py:
(DriverOutput.__init__): Text should be decoded, audio encoded.
(Driver.__init__):
(Driver.run_test):
(Driver._parse_child_processes_output): Output is byte array.
(Driver._check_for_driver_timeout): Ditto.
(Driver._check_for_address_sanitizer_violation): Error lines are byte arrays.
(Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
(Driver._read_optional_image_block): If a block is base64 encoded, we want the decoded
content, otherwise, we want the encoded content.
(Driver._read_header): Lines are byte arrays, decode them before processing.
(Driver._process_stdout_line): Blocks are byte arrays.
(Driver._strip_eof): Lines should be byte arrays, not strings.
(Driver._read_block): Standardize encoding in blocks.
(ContentBlock.__init__): Content should be a byte array.
(ContentBlock.decode_content): Attempt to decode content.
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_read_binary_block): Content should be encoded.
(DriverTest.test_read_base64_block): Ditto.
(DriverTest.test_check_for_driver_crash): ServerProcess output should be a byte array.
* Scripts/webkitpy/port/image_diff.py:
(ImageDiffer.diff_image): ImageDiff output is in byte arrays.
(ImageDiffer._read): Ditto.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.write): Encode data before writing it.
* Scripts/webkitpy/port/server_process_mock.py:
(MockServerProcess.__init__): Convert string mock output to bytes.
(MockServerProcess.read_stdout_line): Stdout lines are byte arrays.
(MockServerProcess.read_stdout): Ditto.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.NonBlockingFileFromSocket.close): Don't double close socket in Python 3.
(SimulatorProcess._start): Stdin should be a binary stream.
* Scripts/webkitpy/port/test.py:
(unit_test_list): Convert audio streams to byte arrays.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.is_usable): Decode xcrun output.
(SimulatedDevice.install_app): Use xrange over range.
2019-12-19 Matt Lewis <jlewis3@apple.com>
Fixing Host name of gpu process bot
https://bugs.webkit.org/show_bug.cgi?id=205469
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2019-12-19 Antti Koivisto <antti@apple.com>
Allow Vectors as hash keys
https://bugs.webkit.org/show_bug.cgi?id=205449
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2019-12-19 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add initial API for input method
https://bugs.webkit.org/show_bug.cgi?id=204679
Reviewed by Žan Doberšek.
Remove the old unit tests for InputMethodFilter and add new tests using the new API.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp: Removed.
* TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp: Added.
(webkitInputMethodContextMockFinalize):
(webkitInputMethodContextMockGetPreedit):
(webkitInputMethodContextMockFilterKeyEvent):
(webkitInputMethodContextMockNotifyFocusIn):
(webkitInputMethodContextMockNotifyFocusOut):
(webkitInputMethodContextMockReset):
(webkit_input_method_context_mock_class_init):
(webkit_input_method_context_mock_init):
(testWebKitInputMethodContextSimple):
(testWebKitInputMethodContextSequence):
(testWebKitInputMethodContextInvalidSequence):
(testWebKitInputMethodContextCancelSequence):
(testWebKitInputMethodContextReset):
(beforeAll):
(afterAll):
* TestWebKitAPI/glib/CMakeLists.txt:
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
* TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp:
(WebViewTest::clickMouseButton):
(WebViewTest::keyStroke):
2019-12-19 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Missing UIScriptController implementation
https://bugs.webkit.org/show_bug.cgi?id=200295
Reviewed by Žan Doberšek.
Add initial implementation of UIScriptController for WPE.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
* WebKitTestRunner/PlatformWPE.cmake:
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::addToWindow):
(WTR::PlatformWebView::removeFromWindow):
* WebKitTestRunner/wpe/UIScriptControllerWPE.cpp: Added.
(WTR::UIScriptController::create):
(WTR::UIScriptControllerWPE::doAsyncTask):
(WTR::UIScriptControllerWPE::setContinuousSpellCheckingEnabled):
(WTR::UIScriptControllerWPE::copyText):
(WTR::UIScriptControllerWPE::dismissMenu):
(WTR::UIScriptControllerWPE::isShowingMenu const):
(WTR::UIScriptControllerWPE::activateAtPoint):
(WTR::UIScriptControllerWPE::simulateAccessibilitySettingsChangeNotification):
(WTR::UIScriptControllerWPE::removeViewFromWindow):
(WTR::UIScriptControllerWPE::addViewToWindow):
* WebKitTestRunner/wpe/UIScriptControllerWPE.h: Added.
* wpe/backends/ViewBackend.h:
2019-12-19 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed GTK gardening. Mark /webkit/WebKitWebsiteData/configuration as flaky
* TestWebKitAPI/glib/TestExpectations.json:
2019-12-18 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r253646.
https://bugs.webkit.org/show_bug.cgi?id=205433
"We think this may have caused a membuster regression, so
rolling it out." (Requested by nham on #webkit).
Reverted changeset:
"Navigation from empty page doesn't use cached web process"
https://bugs.webkit.org/show_bug.cgi?id=205015
https://trac.webkit.org/changeset/253646
2019-12-18 Alex Christensen <achristensen@webkit.org>
Add SPI WKWebView._updateWebpagePreferences to replace _updateWebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=205427
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
2019-12-18 Jonathan Bedard <jbedard@apple.com>
test-lldb-webkit: Run in CI (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=205315
Unreviewed follow-up fix.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunWebKitPyTests.start): Call method of parent class to avoid infinite recursion.
2019-12-18 Alex Christensen <achristensen@webkit.org>
Add ObjC version of WKBundleFrameIsMainFrame
https://bugs.webkit.org/show_bug.cgi?id=205415
Reviewed by Brian Weinstein.
* TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm:
(-[UserContentWorldRemoteObject didObserveMainFrame]):
(-[UserContentWorldRemoteObject didObserveSubframe]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/UserContentWorldPlugIn.mm:
(-[UserContentWorldPlugIn webProcessPlugInBrowserContextController:globalObjectIsAvailableForFrame:inScriptWorld:]):
* TestWebKitAPI/Tests/WebKitCocoa/UserContentWorldProtocol.h:
2019-12-18 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Serve files in uploaded archive
https://bugs.webkit.org/show_bug.cgi?id=201654
Reviewed by Stephanie Lewis.
* resultsdbpy/resultsdbpy/controller/configuration.py:
(Configuration.to_query): Conver a configuration object to a query string.
* resultsdbpy/resultsdbpy/controller/configuration_unittest.py:
(ConfigurationUnittest):
(ConfigurationUnittest.test_to_query):
* resultsdbpy/resultsdbpy/flask_support/util.py:
(query_as_string): Convert the current query to a string.
* resultsdbpy/resultsdbpy/model/archive_context.py:
(ArchiveContext._files_for_archive): Python's shutil creates archives which
don't have have a root directory.
(ArchiveContext.file): We need to add query parameters to relative links
In the returned file.
* resultsdbpy/resultsdbpy/view/archive_view.py: Added.
(ArchiveView):
(ArchiveView.__init__):
(ArchiveView.list): Return html which lists and links to the provided paths.
(ArchiveView.extract): Endpoint which extracts a file from an archive matching
the provided arguments.
* resultsdbpy/resultsdbpy/view/archive_view_unittest.py: Added.
(ArchiveViewUnittest):
(ArchiveViewUnittest.register_archive):
(ArchiveViewUnittest.test_directory):
(ArchiveViewUnittest.test_file):
* resultsdbpy/resultsdbpy/view/templates/archive_list.html: Added.
* resultsdbpy/resultsdbpy/view/view_routes.py:
(ViewRoutes.__init__): Add archive endpoints.
2019-12-18 Matt Lewis <jlewis3@apple.com>
Update WebGL bot hostname
https://bugs.webkit.org/show_bug.cgi?id=205349
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json: Changed hostname
to bring it in line with non standard testers.
2019-12-18 Jonathan Bedard <jbedard@apple.com>
GPU-Process: Bring up automated tester
https://bugs.webkit.org/show_bug.cgi?id=205229
Reviewed by Stephanie Lewis.
* BuildSlaveSupport/build.webkit.org-config/config.json: Add GPU Process tester,
derived from debug testing queue.
2019-12-18 Kate Cheney <katherine_cheney@apple.com>
Only report prevalent domains in the ResourceLoadStatistics data summary API
https://bugs.webkit.org/show_bug.cgi?id=205281
<rdar://problem/57975017>
Reviewed by Brent Fulgham.
Update the GetResourceLoadStatisticsDataSummary to set third parties
as prevalent to maintain test functionality.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2019-12-18 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed GTK gardening. Update expectations of unit tests
Add two flaky failures and mark /jsc/vm as slow alos in release builds.
* TestWebKitAPI/glib/TestExpectations.json:
2019-12-17 Jonathan Bedard <jbedard@apple.com>
run-javascriptcore-tests: Fix upload details
https://bugs.webkit.org/show_bug.cgi?id=205347
Rubber-stamped by Alexey Proskuryakov.
* Scripts/run-javascriptcore-tests:
(uploadResults): Make upload details compliant with results database.
2019-12-17 Ben Nham <nham@apple.com>
Navigation from empty page doesn't use cached web process
https://bugs.webkit.org/show_bug.cgi?id=205015
<rdar://problem/57703742>
Reviewed by Chris Dumez.
When navigating from an empty page to another domain foo.com, we always use the source
WebProcess (which is basically uninitialized) rather than using an already-initialized
cached WebProcess that has navigated to foo.com. The cached WebProcess should probably be
preferred since it has more relevant cached resources available to it (e.g. memory cache, JS
bytecode cache, prewarmed fonts, ...).
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
Verify that a load from an empty document uses the process cache. To actually force the
WebProcess to launch with an empty document loaded, we use the private API
_ensureRunningProcessForTesting.
2019-12-17 Megan Gardner <megan_gardner@apple.com>
Update Check webkit style to allow for auto with pairs in c++
https://bugs.webkit.org/show_bug.cgi?id=205320
Reviewed by Jonathan Bedard.
Allow for spaces between auto and brakets when using auto with pairs.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
2019-12-17 youenn fablet <youenn@apple.com>
WebKitTestRunner should report GPU process crashes
https://bugs.webkit.org/show_bug.cgi?id=205338
Reviewed by Tim Horton.
Report GPU process crashes.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::gpuProcessDidCrash):
* WebKitTestRunner/TestController.h:
2019-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed GTK gardening. Mark WebKit.FocusedFrameAfterCrash as timeout
* TestWebKitAPI/glib/TestExpectations.json:
2019-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed GTK gardening. Mark several tests that usually time out in the bots as slow
It seems it depends on the load of the bots. Some of them still time out sometimes even after being marked as
slow, so also mark them all as flaky.
* TestWebKitAPI/glib/TestExpectations.json:
2019-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed GTK gardening. Mark /webkit/WebKitWebExtension/form-submission-steps as timeout
* TestWebKitAPI/glib/TestExpectations.json:
2019-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed GTK gardening. Fix test /webkit/WebKitPrintOperation/close-after-print
Use webkit_web_view_new_with_related_view() instead of webkit_web_view_new_with_context() since it's expected
that web views created in WebKitWebView::create signal callback are related. Also use g_object_unref() instead
of gtk_widget_destroy() to release the created web view since it's never added to a window.
* TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp:
2019-12-17 youenn fablet <youenn@apple.com>
WebKitTestRunner should report service worker process crashes
https://bugs.webkit.org/show_bug.cgi?id=205267
Reviewed by Chris Dumez.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::serviceWorkerProcessDidCrash):
* WebKitTestRunner/TestController.h:
2019-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. WebDriver: set doc_root in WebDriverW3CExecutor server config
It's expected by test imported/w3c/webdriver/tests/navigate_to/navigate.py::test_file_protocol
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
(WebDriverW3CExecutor.__init__):
2019-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
check-webkit-style: allow underscores for public symbols in JSC GLIB API
https://bugs.webkit.org/show_bug.cgi?id=205265
Reviewed by Jonathan Bedard.
Add an exception for symbols starting with jsc_ in glib directories.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_names):
2019-12-16 Jonathan Bedard <jbedard@apple.com>
test-lldb-webkit: Run in CI
https://bugs.webkit.org/show_bug.cgi?id=205315
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/factories.py:
(TestFactory.__init__): Add RunLLDBWebKitTests to Mac test runs.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunPythonTests): Generalized step for all Python tests.
(RunPythonTests.start):
(RunWebKitPyTests): Step for running test-webkitpy.
(RunWebKitPyTests.__init__):
(RunWebKitPyTests.start):
(RunLLDBWebKitTests): Step for running test-lldb-webkit.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2019-12-16 Wenson Hsieh <wenson_hsieh@apple.com>
-[UIWKDocumentContext markedTextRange] is wrong when the caret is not at the start of marked text
https://bugs.webkit.org/show_bug.cgi?id=205302
Reviewed by Tim Horton.
Add an API test to exercise the case where the options `UIWKDocumentRequestMarkedTextRects` and
`UIWKDocumentRequestText` are used to grab marked text rects.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(-[UIWKDocumentContext contextBeforeLength]):
(-[UIWKDocumentContext markedTextLength]):
(-[UIWKDocumentContext markedTextRange]):
Work around a bug that should be fixed by <rdar://problem/57338528>, so that the new API test can pass on
shipping builds of iOS.
2019-12-16 Keith Rollin <krollin@apple.com>
Unreviewed follow-up fix.
<rdar://problem/57989146> jsc-ta-payload fails consistently on YukonE Device Builds
Bug caused by <rdar://problem/57453545> [safari-root] CrashTracer: [USER] jsc at jsc: jscmain
run-jsc-stress-tests still looked for jsc in
JavaScriptCore.framework/Resources. Change this to also look in
JavaScriptCore.framework/Helpers.
* Scripts/run-jsc-stress-tests:
2019-12-16 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Make default limit 1000
https://bugs.webkit.org/show_bug.cgi?id=205305
Reviewed by Stephanie Lewis.
We have ~200 commits a week in WebKit, since we don't quite report
results for every commit, a limit of 1000 translates to about a 1.5 months
of data. Any more than this and the network request for results becomes
noticeably slow.
* resultsdbpy/resultsdbpy/controller/failure_controller.py:
(FailureController): Change default limit from 5000 to 1000.
* resultsdbpy/resultsdbpy/controller/suite_controller.py:
(SuiteController): Change default limit from 5000 to 1000.
* resultsdbpy/resultsdbpy/controller/test_controller.py:
(TestController): Change default limit from 5000 to 1000.
2019-12-16 Jonathan Bedard <jbedard@apple.com>
python3: wpt exporter should parse a patch as bytes
https://bugs.webkit.org/show_bug.cgi?id=205243
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/common/checkout/scm/scm_mock.py:
(MockSCM.create_patch): Patches are byte arrays.
* Scripts/webkitpy/w3c/test_exporter.py:
(WebPlatformTestExporter._wpt_patch): Diff should be byte array.
(WebPlatformTestExporter._find_filename): Ditto.
(WebPlatformTestExporter._is_ignored_file): Filenames will be encoded bytes.
(WebPlatformTestExporter._strip_ignored_files_from_diff): Diff should be byte array.
(WebPlatformTestExporter.write_git_patch_file): Ditto.
* Scripts/webkitpy/w3c/test_exporter_unittest.py:
(TestExporterTest.MockGit): Diff should be byte array.
(TestExporterTest.test_ignore_changes_to_expected_file): Ditto.
2019-12-16 Ryosuke Niwa <rniwa@webkit.org>
TextManipulationController should observe newly inserted or displayed contents
https://bugs.webkit.org/show_bug.cgi?id=205203
<rdar://problem/56567020>
Reviewed by Wenson Hsieh.
Added tests for detecting newly inserted or displayed contents in WKTextManipulation SPI.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(-[TextManipulationDelegate initWithItemCallback]):
(-[TextManipulationDelegate _webView:didFindTextManipulationItem:]):
(TestWebKitAPI::TEST):
2019-12-16 Daniel Bates <dabates@apple.com>
Organize DocumentEditingContext.mm under a more descriptive suite
https://bugs.webkit.org/show_bug.cgi?id=205284
Reviewed by Tim Horton.
Register with the runtime all of the DocumentEditingContext.mm tests under the suite
DocumentEditingContext as opposed to the suite WebKit (as they are now). This makes
it easy to run all of these tests using:
run-api-tests DocumentEditingContext
This is more useful than letting them stay categorized under the WebKit suite. If it
turns out this change interferes with the workflow of others then we can revert this
change and look to expose Google Test's regex filtering in run-api-tests to achieve
a similiar result given that these tests have the same prefix.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
2019-12-16 Daniel Bates <dabates@apple.com>
Use Ahem font to ensure consistent test results
https://bugs.webkit.org/show_bug.cgi?id=205283
Reviewed by Wenson Hsieh.
To avoid test failures due to future font metrics changes make use of the Ahem font
for the tests in DocumentEditingContext.m. Ahem is a font with well-defined properties
that when used correclty ensures consistent font rendering results.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
2019-12-16 Daniel Bates <dabates@apple.com>
Reproducible case of backwards nextParagraph returning a position ahead of the input position
https://bugs.webkit.org/show_bug.cgi?id=196127
<rdar://problem/49135890>
Reviewed by Wenson Hsieh.
Add a test to ensure that requesting two paragraphs around the insertion point that is
not in a paragraph still works.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
2019-12-16 Jonathan Bedard <jbedard@apple.com>
lldbwebkittester: Conform with testing binary format
https://bugs.webkit.org/show_bug.cgi?id=205271
Reviewed by Alexey Proskuryakov.
lldbwebkittester should be built the same way ImageDiff, TestWebKitAPI and WebKitTestRunner are.
This also paves the way for adding lldb tests against WebCore and WebKit, since lldbwebkittestrunner
is now packaged with the rest of WebKit's testing binaries.
* Scripts/build-lldbwebkittester:
* Scripts/build-webkit:
2019-12-16 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Remove ArrayBufferNeuteringWatchpointSet
https://bugs.webkit.org/show_bug.cgi?id=205194
Reviewed by Saam Barati.
Add tests for PackedRef and PackedRefPtr.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/PackedRef.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::passWithRef):
(TestWebKitAPI::PackedRefCheckingRefLogger::PackedRefCheckingRefLogger):
(TestWebKitAPI::PackedRefCheckingRefLogger::ref):
(TestWebKitAPI::PackedRefCheckingRefLogger::deref):
(TestWebKitAPI::DerivedPackedRefCheckingRefLogger::DerivedPackedRefCheckingRefLogger):
* TestWebKitAPI/Tests/WTF/PackedRefPtr.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/RefPtr.cpp.
(TestWebKitAPI::TEST):
(TestWebKitAPI::f1):
(TestWebKitAPI::ConstRefCounted::create):
(TestWebKitAPI::returnConstRefCountedRef):
(TestWebKitAPI::returnRefCountedRef):
(TestWebKitAPI::PackedRefPtrCheckingRefLogger::PackedRefPtrCheckingRefLogger):
(TestWebKitAPI::loggerName):
(TestWebKitAPI::PackedRefPtrCheckingRefLogger::ref):
(TestWebKitAPI::PackedRefPtrCheckingRefLogger::deref):
* TestWebKitAPI/Tests/WTF/RefPtr.cpp:
(TestWebKitAPI::f1):
(TestWebKitAPI::returnConstRefCountedRef):
(TestWebKitAPI::returnRefCountedRef):
2019-12-16 Keith Miller <keith_miller@apple.com>
Fix btjs on current lldb
https://bugs.webkit.org/show_bug.cgi?id=205293
Reviewed by Mark Lam.
* lldb/lldb_webkit.py:
(btjs):
2019-12-16 Andres Gonzalez <andresg_22@apple.com>
Isolated object implementation of parameterized attribute SelectTextWithCriteria.
https://bugs.webkit.org/show_bug.cgi?id=205210
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::rootElement): Always run in my thread.
(WTR::AccessibilityController::execute): Dispatches to the secondary thread. Spins the main loop to allow parameterized attributes methods to execute in main thread.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::findAccessibleObjectById):
(WTR::AccessibilityController::accessibleElementById):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::selectTextWithCriteria):
2019-12-16 Per Arne Vollan <pvollan@apple.com>
Unreviewed build fix for tvOS after r253440.
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
2019-12-16 youenn fablet <youenn@apple.com>
Consider top-level context whose origin is unique as insecure
https://bugs.webkit.org/show_bug.cgi?id=205111
<rdar://problem/57834967>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
(TEST):
Disable secure context checks so that loading directly about:blank from the API test
can call DeviceOrientationEvent.requestPermission() successfully.
2019-12-16 Daniel Bates <dabates@apple.com>
-requestDocumentContext always returns 1 text unit more granularity than requested
https://bugs.webkit.org/show_bug.cgi?id=205142
<rdar://problem/57858236>
Reviewed by Darin Adler and Wenson Hsieh.
Add tests for requesting text by character, sentence, paragraph, and line granularities.
Also organized tests, demarcating sections of related tests, and renaming the existing
word granularity tests for consistency.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
2019-12-16 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed GTK gardening. Mark /webkit/WebKitWebView/pointer-lock-permission-request as timeout
* TestWebKitAPI/glib/TestExpectations.json:
2019-12-16 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GLib test /webkit/WebKitWebView/geolocation-permission-requests after r249207
PERMISSION_DENIED is returned for non-secure contexts instead of POSITION_UNAVAILABLE since r249207.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewGeolocationPermissionRequests):
2019-12-16 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GLib test /jsc/options after r253244.
The default value of smallHeapRAMFraction option changed in r253244. The test just wants to check a float jsc
option, so use criticalGCMemoryThreshold instead that has a fixed default value.
* TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(testsJSCOptions):
2019-12-16 youenn fablet <youenn@apple.com>
Reset cached getUserMedia queries when calling stopMediaCapture
https://bugs.webkit.org/show_bug.cgi?id=205064
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(-[GetUserMediaCaptureUIDelegate _webView:requestMediaCaptureAuthorization:decisionHandler:]):
(TestWebKitAPI::TEST):
2019-12-15 Wenson Hsieh <wenson_hsieh@apple.com>
-[WKWebView _detectDataWithTypes:completionHandler:] crashes when there is no running process
https://bugs.webkit.org/show_bug.cgi?id=205254
Reviewed by Tim Horton.
Add a test to verify that we don't crash when calling data detection API's immediately after crashing the web
content process.
* TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
2019-12-15 Emilio Cobos Álvarez <emilio@crisal.io>
[GTK] jhbuild fails to configure if gettext 0.20 is installed
https://bugs.webkit.org/show_bug.cgi?id=205249
Reviewed by Michael Catanzaro.
Update jhbuild.
* jhbuild/jhbuild-wrapper:
2019-12-13 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix the macCatalyst build after r253486
Replace the #elif with an #else, so that the codepath is compiled on non-iOS (but iOS-family) platforms such as
watchOS and macCatalyst.
* TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm:
(readMarkupFromPasteboard):
2019-12-13 Peng Liu <peng.liu6@apple.com>
Add an option to run_webkit_tests.py to enable all GPU process related features and choose the additional expectations
https://bugs.webkit.org/show_bug.cgi?id=205214
The option also specifies the result-report-flavor.
Reviewed by Tim Horton.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
2019-12-13 Alexey Shvayka <shvaikalesh@gmail.com>
Unreviewed. Add myself as a committer.
* Scripts/webkitpy/common/config/contributors.json:
2019-12-13 Alex Christensen <achristensen@webkit.org>
Allow cross-origin requests to WKURLSchemeHandlers
https://bugs.webkit.org/show_bug.cgi?id=205198
<rdar://problem/57897836>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
Verify that a cross origin request is received by the WKURLSchemeHandler. It was not before.
Verify that loading will fail unless there are CORS headers in the response.
2019-12-13 Devin Rousso <drousso@apple.com>
Teach prepare-ChangeLog about JavaScript async functions
https://bugs.webkit.org/show_bug.cgi?id=205195
Reviewed by Jonathan Bedard.
* Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_javascript):
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/javascript_unittests.js:
(AsyncFuncClass): Added.
(AsyncFuncClass.async staticAsync): Added.
(AsyncFuncClass.prototype.async methodAsync): Added.
(AsyncFuncClass.prototype.async get getAsync): Added.
(AsyncFuncClass.prototype.async set setAsync): Added.
(async asyncFunc1): Added.
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/javascript_unittests-expected.txt:
2019-12-13 John Wilander <wilander@apple.com>
IsLoggedIn: Abstract data type for IsLoggedIn state
https://bugs.webkit.org/show_bug.cgi?id=205041
<rdar://problem/56723904>
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/LoggedInStatus.cpp: Added.
(TestWebKitAPI::TEST):
2019-12-13 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Sanitize HTML and image data written using clipboard.write
https://bugs.webkit.org/show_bug.cgi?id=205188
<rdar://problem/57612968>
Reviewed by Darin Adler.
Adds an API test to verify that the markup written to the platform pasteboard on macOS and iOS is sanitized, and
does not contain hidden content, such as script elements.
* TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm:
(-[TestWKWebView writeString:toClipboardWithType:]):
(readMarkupFromPasteboard):
* TestWebKitAPI/Tests/WebKitCocoa/clipboard.html:
2019-12-13 Kate Cheney <katherine_cheney@apple.com>
Create WebKit API calls for ITP Data
https://bugs.webkit.org/show_bug.cgi?id=204932
<rdar://problem/57632753>
Reviewed by Alex Christensen.
Added a test to check that the ITP data summary was being properly
aggregated and sent to the UIProcess, and to make sure the API works
as expected. Added interface declarations to the file to allow for
use of the _WKResourceLoadStatisticsFirstParty and
_WKResourceLoadStatisticsThirdParty classes without having
to import the header files.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2019-12-13 Devin Rousso <drousso@apple.com>
Prefix CSS selectors with all applicable CSS groupings when generating a ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=205196
Reviewed by Jonathan Bedard.
* Scripts/prepare-ChangeLog:
(get_selector_line_ranges_for_css):
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests-expected.txt:
2019-12-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Several tests crashing after r247898 "Reorganize UIScriptController into platform-specific subclasses"
https://bugs.webkit.org/show_bug.cgi?id=200534
Reviewed by Alejandro G. Castro.
Add implementation of several UIScriptController virtual methods to avoid crashes.
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::~PlatformWebView):
(WTR::PlatformWebView::addToWindow):
(WTR::PlatformWebView::removeFromWindow):
* WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
(WTR::UIScriptControllerGtk::doAsyncTask):
(WTR::UIScriptControllerGtk::setContinuousSpellCheckingEnabled):
(WTR::UIScriptControllerGtk::copyText):
(WTR::UIScriptControllerGtk::dismissMenu):
(WTR::UIScriptControllerGtk::isShowingMenu const):
(WTR::UIScriptControllerGtk::activateAtPoint):
(WTR::UIScriptControllerGtk::activateDataListSuggestion):
(WTR::UIScriptControllerGtk::simulateAccessibilitySettingsChangeNotification):
(WTR::UIScriptControllerGtk::removeViewFromWindow):
(WTR::UIScriptControllerGtk::addViewToWindow):
* WebKitTestRunner/gtk/UIScriptControllerGtk.h:
2019-12-12 Simon Fraser <simon.fraser@apple.com>
Move WKWebView code related to testing to new files, with new private "for testing" headers.
https://bugs.webkit.org/show_bug.cgi?id=205021
Reviewed by Tim Horton.
Move testing-only SPI to new private headers to discourage first parties from using
them by mistake. Move test-only code to new files to reduce the size of WKWebView.mm.
* MiniBrowser/mac/WK2BrowserWindowController.m:
* TestWebKitAPI/EditingTestHarness.mm:
* TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DoubleDefersLoading.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCandidateTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm:
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
* TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
* TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
* WebKitTestRunner/ios/TestControllerIOS.mm:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
2019-12-12 Jonathan Bedard <jbedard@apple.com>
Python 3: Support serial webkitpy.common tests
https://bugs.webkit.org/show_bug.cgi?id=205162
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/common/system/executive.py:
(Executive.running_pids): Processess are encoded as bytes.
* Scripts/webkitpy/common/system/executive_unittest.py:
(ExecutiveTest.serial_test_run_in_parallel): Use Python 3 compatible print statements.
2019-12-12 Fujii Hironori <Hironori.Fujii@sony.com>
webkit-patch print-expectations fails to format TestExpectationLine with DumpJSConsoleLogInStdErr
https://bugs.webkit.org/show_bug.cgi?id=194283
Reviewed by Youenn Fablet.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser): Add DumpJSConsoleLogInStdErr to TestExpectationParser._expectation_tokens.
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
Added a tokenize test and round tip test for DumpJSConsoleLogInStdErr.
2019-12-12 Alex Christensen <achristensen@webkit.org>
Don't assert in HTTPServer::respondToRequests when connections fail
https://bugs.webkit.org/show_bug.cgi?id=205072
<rdar://problem/57718266>
Reviewed by Alexey Proskuryakov.
We have records that this assertion is being hit, but it's probably when things are being torn down after the test passes.
If someone actually has a connection failure that breaks a test, we'll notice elsewhere.
* TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondToRequests):
2019-12-12 Per Arne Vollan <pvollan@apple.com>
[iOS] Deny mach lookup access to content filter service in the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=205077
Reviewed by Brent Fulgham.
With this patch, the WebContentAnalysis framework will not be loaded in the WebContent process unless
[WebFilterEvaluator isManagedSession] returns YES. Swizzle this method to return YES in the UI process.
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(isManagedSession):
(TEST):
2019-12-12 Patrick Griffis <pgriffis@igalia.com>
[SOUP] Use new API for strict secure cookies
https://bugs.webkit.org/show_bug.cgi?id=169356
Reviewed by Michael Catanzaro.
Update libsoup to fix a secure cookie test
* gtk/jhbuild.modules:
* wpe/jhbuild.modules:
2019-12-11 Jonathan Bedard <jbedard@apple.com>
Python 3: Support serial ServerProcess tests
https://bugs.webkit.org/show_bug.cgi?id=205146
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.write): Flush stdin after writing to it.
* Scripts/webkitpy/port/server_process_unittest.py:
(TestServerProcess): print to stderr in Python 2/3 compatible way.
(TestServerProcess.serial_test_basic): ServerProcess speaks in bytes.
(TestServerProcess.serial_test_read_after_process_exits): Ditto.
(TestServerProcess.serial_test_process_crashing): Ditto.
(TestServerProcess.serial_test_process_crashing_no_data): Ditto.
2019-12-11 Daniel Bates <dabates@apple.com>
UIWKDocumentContext returns 0 character rects when caret is at beginning or end of text
https://bugs.webkit.org/show_bug.cgi?id=205135
<rdar://problem/56887914>
Reviewed by Wenson Hsieh.
Add tests that request rects when the insertion point is at the beginning or end of the text.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
2019-12-11 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Combine AuthenticatorResponse and PublicKeyCredentialData
https://bugs.webkit.org/show_bug.cgi?id=190783
<rdar://problem/57781183>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::TEST):
Updates tests accordingly.
2019-12-11 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r253376.
Broke internal builds
Reverted changeset:
"Move WKWebView code related to testing to new files, with
their own headers, and stop exposing test-only functions as
SPI."
https://bugs.webkit.org/show_bug.cgi?id=205021
https://trac.webkit.org/changeset/253376
2019-12-11 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.performance_tests
https://bugs.webkit.org/show_bug.cgi?id=205122
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.performance_tests.
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.run): Use range over xrange.
(PerfTest.log_statistics): Python 3 may use more precision than Python 2.
(PerfTest._run_with_driver): Convert list to map.
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTest._assert_results_are_correct): Convert map to list.
* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(MainTest._test_run_with_json_output): Use range over xrange, convert keys to list.
(MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.test_collect_tests_with_multile_files): Use assertEqual over assertItemsEqual.
(MainTest.test_collect_tests_with_skipped_list): Ditto.
(MainTest.test_collect_tests_with_skipped_list_and_files): Ditto.
(MainTest.test_collect_tests_with_ignored_skipped_list): Ditto.
2019-12-11 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.w3c
https://bugs.webkit.org/show_bug.cgi?id=205118
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.w3c.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.open_binary_file_for_reading): Missing file should cause Filesystem exception.
(MockFileSystem.read_binary_file): Ditto.
(MockFileSystem.open_text_file_for_reading): Ditto.
(MockFileSystem.remove): Ditto.
* Scripts/webkitpy/w3c/test_converter.py:
(convert_for_webkit): Convert binary file to text file.
(_W3CTestConverter.read_webkit_prefixed_css_property_list): Use items over iteritems.
* Scripts/webkitpy/w3c/test_converter_unittest.py:
(verify_test_harness_paths): Use Python 3 compatible type check.
* Scripts/webkitpy/w3c/test_downloader.py:
(TestDownloader._init_paths_from_expectations): Use items over iteritems.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.readEnvironmentsForTemplateTest): Convert filter to list.
* Scripts/webkitpy/w3c/wpt_github.py:
(WPTGitHub.auth_token): Encode base64 input and decode base64 output.
* Scripts/webkitpy/w3c/wpt_github_unittest.py:
(WPTGitHubTest.test_auth_token):
2019-12-10 Simon Fraser <simon.fraser@apple.com>
Move WKWebView code related to testing to new files, with their own headers, and stop exposing test-only functions as SPI.
https://bugs.webkit.org/show_bug.cgi?id=205021
Reviewed by Tim Horton.
Stop exposing WKWebView (WKTesting) as SPI, because everyone added SPI here by mistake, and
internal clients kept using testing SPI.
Instead, move testing-only functions to internal headers that are not present in the built framework,
and move to WKWebView (WKPrivate) properties and functions that webkit clients rely on.
Add WKWebViewTesting/WKWebViewTestingMac/WKWebViewTestingIOS for test-only code.
WKWebViewTesting* headers are copied to a "WebKitTestSupport" directory in the Products directory, and WTR/DRT and TestWebKitAPI
get header search paths to find the headers there.
* MiniBrowser/Configurations/Base.xcconfig:
* MiniBrowser/mac/WK2BrowserWindowController.m:
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/EditingTestHarness.mm:
* TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DoubleDefersLoading.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCandidateTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm:
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
* TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
* TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
* WebKitTestRunner/ios/TestControllerIOS.mm:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
2019-12-11 Jonathan Bedard <jbedard@apple.com>
Add test-lldb-webkit
https://bugs.webkit.org/show_bug.cgi?id=187916
Reviewed by Stephanie Lewis.
* Scripts/test-lldb-webkit: Added.
(NoAction): Argparse action which support --<variable> and --no-<variable>.
(LldbTester): Wrapper around webkitpy's Tester class.
(LldbTester.parse_args): Specialized argparse for lldb tests.
(LldbTester.run): Setup environment and build lldb test runner.
(main):
* Scripts/webkitpy/test/main.py:
(main): Remove lldb testing code.
(Tester._parse_args): Ditto.
(Tester.run): Ditto.
(Tester._run_tests): Ditto.
(Tester._test_names): Ditto.
(_supports_building_and_running_lldb_tests): Deleted.
2019-12-10 Per Arne Vollan <pvollan@apple.com>
Fix API test failure after r253351
https://bugs.webkit.org/show_bug.cgi?id=205089
Reviewed by Brent Fulgham.
With the patch landed in r253351, the NetworkExtension framework will not be loaded in the WebContent process unless
[NEFilterSource filterRequired] returns YES. Swizzle this method to return YES in the UI process.
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(filterRequired):
(TEST):
2019-12-10 Chris Dumez <cdumez@apple.com>
Gyroscope (DeviceMotion related) permission cannot be requested in WKWebView unless the client app sets a WKUIDelegate
https://bugs.webkit.org/show_bug.cgi?id=203287
Reviewed by Alex Christensen.
Add layout test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
(runDeviceOrientationTest):
(TEST):
2019-12-10 youenn fablet <youenn@apple.com>
Mark some WPT test folders as DumpJSConsoleLogInStdErr
https://bugs.webkit.org/show_bug.cgi?id=204793
Reviewed by Eric Carlson.
Make DTR and WTR set the default DumpJSConsoleLogInStdErr to true for some WPT sub-folders.
This is easier done there instead of TestExpectations as TestExpectations can be overriden in more specific expectations.
* DumpRenderTree/TestOptions.cpp:
(pathContains):
(shouldDumpJSConsoleLogInStdErr):
(TestOptions::TestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.cpp:
(WTR::shouldDumpJSConsoleLogInStdErr):
(WTR::TestOptions::TestOptions):
2019-12-10 youenn fablet <youenn@apple.com>
Disable video capture in UIProcess for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=205054
Reviewed by Eric Carlson.
* WebKitTestRunner/TestOptions.h:
Some tests are still flaky as noted in bug 205053 and this option is still experimental.
2019-12-09 Jonathan Bedard <jbedard@apple.com>
test-webkitpy: Remove --<configuration> flags from CI
https://bugs.webkit.org/show_bug.cgi?id=205016
Reviewed by Stephanie Lewis.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunPythonTests): Remove --debug/--release flags to test-webkitpy.
2019-12-09 Alex Christensen <achristensen@webkit.org>
Re-disable TLS1.0 and TLS1.1 by default
https://bugs.webkit.org/show_bug.cgi?id=204922
<rdar://problem/57677752>
Reviewed by Youenn Fablet.
* TestWebKitAPI/TCPServer.cpp:
(TestWebKitAPI::TCPServer::respondWithOK):
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
(TestWebKitAPI::getWebSocketEventWebKitLegacy):
2019-12-09 youenn fablet <youenn@apple.com>
Add an option to capture audio in GPU process
https://bugs.webkit.org/show_bug.cgi?id=205007
Reviewed by Eric Carlson.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2019-12-08 Tim Horton <timothy_horton@apple.com>
REGRESSION: Crash under UIScriptControllerIOS::simulateAccessibilitySettingsChangeNotification
https://bugs.webkit.org/show_bug.cgi?id=205002
Reviewed by Wenson Hsieh.
Keep a strong reference to the UIScriptController while running async tasks.
UIScriptContext will be nulled out if the view was torn down, but this way
we keep the UIScriptController itself and can find the null UIScriptContext
reliably.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::doAsyncTask):
(WTR::UIScriptControllerIOS::zoomToScale):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::doAsyncTask):
(WTR::UIScriptControllerMac::activateDataListSuggestion):
(WTR::UIScriptControllerMac::removeViewFromWindow):
(WTR::UIScriptControllerMac::addViewToWindow):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::doAfterPresentationUpdate):
(WTR::UIScriptControllerIOS::doAfterNextStablePresentationUpdate):
(WTR::UIScriptControllerIOS::ensurePositionInformationIsUpToDateAt):
(WTR::UIScriptControllerIOS::doAfterVisibleContentRectUpdate):
(WTR::UIScriptControllerIOS::zoomToScale):
(WTR::UIScriptControllerIOS::retrieveSpeakSelectionContent):
(WTR::UIScriptControllerIOS::simulateAccessibilitySettingsChangeNotification):
(WTR::UIScriptControllerIOS::touchDownAtPoint):
(WTR::UIScriptControllerIOS::liftUpAtPoint):
(WTR::UIScriptControllerIOS::twoFingerSingleTapAtPoint):
(WTR::UIScriptControllerIOS::doubleTapAtPoint):
(WTR::UIScriptControllerIOS::stylusDownAtPoint):
(WTR::UIScriptControllerIOS::stylusMoveToPoint):
(WTR::UIScriptControllerIOS::stylusUpAtPoint):
(WTR::UIScriptControllerIOS::stylusTapAtPointWithModifiers):
(WTR::UIScriptControllerIOS::dragFromPointToPoint):
(WTR::UIScriptControllerIOS::longPressAtPoint):
(WTR::UIScriptControllerIOS::typeCharacterUsingHardwareKeyboard):
(WTR::UIScriptControllerIOS::dismissFilePicker):
(WTR::UIScriptControllerIOS::applyAutocorrection):
(WTR::UIScriptControllerIOS::simulateRotation):
(WTR::UIScriptControllerIOS::simulateRotationLikeSafari):
(WTR::UIScriptControllerIOS::setDidStartFormControlInteractionCallback):
(WTR::UIScriptControllerIOS::setDidEndFormControlInteractionCallback):
(WTR::UIScriptControllerIOS::setDidShowContextMenuCallback):
(WTR::UIScriptControllerIOS::setDidDismissContextMenuCallback):
(WTR::UIScriptControllerIOS::setWillBeginZoomingCallback):
(WTR::UIScriptControllerIOS::setDidEndZoomingCallback):
(WTR::UIScriptControllerIOS::setDidShowKeyboardCallback):
(WTR::UIScriptControllerIOS::setDidHideKeyboardCallback):
(WTR::UIScriptControllerIOS::setWillPresentPopoverCallback):
(WTR::UIScriptControllerIOS::setDidDismissPopoverCallback):
(WTR::UIScriptControllerIOS::setDidEndScrollingCallback):
(WTR::UIScriptControllerIOS::activateDataListSuggestion):
(WTR::UIScriptControllerIOS::doAfterDoubleTapDelay):
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::zoomToScale):
(WTR::UIScriptControllerMac::simulateAccessibilitySettingsChangeNotification):
(WTR::UIScriptControllerMac::chooseMenuAction):
(WTR::UIScriptControllerMac::activateAtPoint):
2019-12-07 Said Abou-Hallawa <sabouhallawa@apple.com>
Make ColorSpace an enum class
https://bugs.webkit.org/show_bug.cgi?id=204970
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebCore/ExtendedColor.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::makeColor):
2019-12-06 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.tool (Follow-up, part 2)
https://bugs.webkit.org/show_bug.cgi?id=204838
Unreviewed follow-up fix.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
2019-12-06 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.tool (Follow-up, part 1)
https://bugs.webkit.org/show_bug.cgi?id=204838
Reviewed by Stephanie Lewis.
As I've been using webkit-patch with Python 3, I've encountered a handful of other
compatibility bugs.
* Scripts/webkit-patch:
(ForgivingUTF8Writer): Only apple the ForgivingUTF8Writer when our string type isn't unicode.
(ForgivingUTF8Writer.write): Use standardized decoding functions.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla.authenticate): Use byte regex.
* Scripts/webkitpy/tool/steps/editchangelog.py:
(EditChangeLog.run): Convert map to list.
2019-12-06 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.test
https://bugs.webkit.org/show_bug.cgi?id=204952
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.tool.
* Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py: Use Python 2/3
compatible StringIO objects.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Ditto.
* Scripts/webkitpy/performance_tests/perftest_unittest.py: Ditto.
* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py: Ditto.
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Ditto.
* Scripts/webkitpy/test/finder.py:
(Finder._exclude): Convert filter to list.
* Scripts/webkitpy/test/main.py:
(Tester._log_exception): Use Python 2/3 compatible StringIO object.
(_Loader.getTestCaseNames): Convert filter to list.
* Scripts/webkitpy/test/main_unittest.py:
(TesterTest.test_no_tests_found): Use Python 2/3 compatible StringIO.
(TesterTest.test_integration_tests_are_found): Sort serial tests before comparing.
* Scripts/webkitpy/test/printer.py: Use Python 2/3 compatible StringIO.
* Scripts/webkitpy/test/runner_unittest.py: Ditto.
* Scripts/webkitpy/test/skip.py:
(_skipped_method._skip): Fix class inspection on instance method.
* Scripts/webkitpy/test/skip_unittest.py: Use Python 2/3 compatible StringIO.
* Scripts/webkitpy/w3c/test_converter.py: Use Python 2/3 compatible HTMLParser.
* Scripts/webkitpy/w3c/wpt_runner.py:
(main): Fix Python 3 syntax errors.
* lldb/dump_class_layout_unittest.py:
(TestDumpClassLayout.setUpClass): Fix Python 3 syntax errors.
2019-12-05 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support to webkitpy.browserperfdash
https://bugs.webkit.org/show_bug.cgi?id=204887
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.browserperfdash.
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Remove urlparse dependency.
* Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py: Use explicit import.
* Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
(WebServerBenchmarkRunner._run_one_test): Use Python 2/3 compatible urljoin.
2019-12-05 Sihui Liu <sihui_liu@apple.com>
Fix a Typo in IndexedDBInPageCache.html
https://bugs.webkit.org/show_bug.cgi?id=204897
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.html:
2019-12-05 youenn fablet <youenn@apple.com>
inspector/page/overrideSetting-MockCaptureDevicesEnabled.html is failing after removal of internals.setMockMediaCaptureDevicesEnabled API
https://bugs.webkit.org/show_bug.cgi?id=204849
Reviewed by Eric Carlson.
Add test runner API to check which center (mock or not) is used in UIProcess side.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::isMockRealtimeMediaSourceCenterEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::isMockRealtimeMediaSourceCenterEnabled const):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-12-05 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Move trailing trimming logic to LineBuilder::TrimmableContent
https://bugs.webkit.org/show_bug.cgi?id=204872
<rdar://problem/57652365>
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-12-04 Fujii Hironori <Hironori.Fujii@sony.com>
run-javascriptcore-tests is failing to run testmasm of 64bit AppleWin on Buildbot
https://bugs.webkit.org/show_bug.cgi?id=204869
Reviewed by Per Arne Vollan.
testmasm is compiled only when DEVELOPER_MODE.
Enable DEVELOPER_MODE for all 64bit Windows builds.
* Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject): Replaced "isFTW() || isWinCairo()" with isWin64()
in the condition of enabling DEVELOPER_MODE.
2019-12-04 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Decrease ttl for archives
https://bugs.webkit.org/show_bug.cgi?id=204806
<rdar://problem/57527644>
Unreviewed infrastructure fix.
* resultsdbpy/resultsdbpy/controller/archive_controller_unittest.py:
(ArchiveControllerUnittest.setup_webserver): Disable time-to-live.
* resultsdbpy/resultsdbpy/model/mock_model_factory.py:
(MockModelFactory.create): Ensure time-to-live is longer than the oldest commit.
2019-12-04 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Handle duplicate archives
https://bugs.webkit.org/show_bug.cgi?id=204860
Reviewed by Stephanie Lewis.
* resultsdbpy/resultsdbpy/controller/archive_controller.py:
(ArchiveController): Pass test time to ArchiveContext, de-duplicate any
identical archives.
* resultsdbpy/resultsdbpy/model/archive_context.py:
(ArchiveContext): Only upack identical archives once, pass digest to caller.
2019-12-04 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.benchmark_runner
https://bugs.webkit.org/show_bug.cgi?id=204784
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.benchmark_runner.
* Scripts/webkitpy/benchmark_runner/benchmark_results.py:
(BenchmarkResults): Arithmetic aggregator should use integer division.
(BenchmarkResults._format_values): Convert map to list.
(BenchmarkResults._aggregate_results): Ditto.
(BenchmarkResults._aggregate_results_for_test): Use Python 2/3 compatible iteritems.
(BenchmarkResults._subtest_values_by_config_iteration): Ditto.
(BenchmarkResults._lint_subtest_results): Ditto.
(BenchmarkResults._lint_configuration): Ditto.
* Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py: Use explicit imports.
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/__init__.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_cog_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_epiphany_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowserwpe_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/http_server_driver/__init__.py: Ditto.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Ditto.
* Scripts/webkitpy/benchmark_runner/run_benchmark.py: Ditto.
* Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: Ditto.
2019-12-04 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.tool
https://bugs.webkit.org/show_bug.cgi?id=204838
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.tool.
* Scripts/webkit-patch: Remove version check.
* Scripts/webkitpy/common/net/bugzilla/bug.py:
(Bug.reviewed_patches): Convert filter to list.
(Bug.commit_queued_patches): Ditto.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
(MockBugzillaQueries.fetch_bug_ids_from_commit_queue): Convert map to list.
(MockBugzillaQueries.fetch_attachment_ids_from_review_queue): Ditto.
(MockBugzillaQueries.fetch_bug_ids_from_pending_commit_list): Ditto.
(MockBugzilla.post_comment_to_bug): Sort cc list before printing.
* Scripts/webkitpy/common/net/statusserver.py:
(StatusServer.set_api_key): Convert filter to list.
* Scripts/webkitpy/common/net/web.py:
(Web.get_binary): Use Python 2/3 compatible urlopen.
(Web.request): Use Python 2/3 compatible Request.
* Scripts/webkitpy/common/prettypatch.py:
(PrettyPatch.pretty_diff_file): Encode diff before printing.
* Scripts/webkitpy/common/system/executive_mock.py:
(MockExecutive.run_and_throw_if_fail): Sort environment before printing.
(MockExecutive.run_command): Convert input to string before printing.
* Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
(FailingTestCommitQueue.test_results): Convert map to list.
(MockSimpleTestPlanCommitQueue.test_results): Ditto.
* Scripts/webkitpy/tool/bot/feeders.py:
(CommitQueueFeeder.feed): Use Python 2/3 compatible sort.
(CommitQueueFeeder._patch_cmp): Deleted.
* Scripts/webkitpy/tool/bot/flakytestreporter.py:
(FlakyTestReporter._lookup_bug_for_flaky_test): Convert filter to list.
* Scripts/webkitpy/tool/bot/irc_command.py:
(Whois.execute): Convert map to list.
* Scripts/webkitpy/tool/bot/retrylogic_unittest.py:
(JSCEarlyWarningSystemTest._create_task): Convert map to list.
* Scripts/webkitpy/tool/bot/sheriff.py:
* Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py: Use sorted lists
Instead of sets.
* Scripts/webkitpy/tool/commands/download.py:
(AbstractPatchSequencingCommand.__init__): Use Python 2/3 compatible sort.
* Scripts/webkitpy/tool/commands/download_unittest.py: Sort environment.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.load_ews_classes): str.translate differs between Python 2
and Python 3.
* Scripts/webkitpy/tool/commands/newcommitbot.py:
(NewCommitBot._summarize_commit_log): Convert filter to list.
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractQueue.should_continue_work_queue): Handle case where iterations is a MagicMock.
(AbstractQueue._log_from_script_error_for_upload): Explicitly use BytesIO
* Scripts/webkitpy/tool/commands/queues_unittest.py: Use explicit import paths.
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py: Sort lists before comparing them.
* Scripts/webkitpy/tool/commands/stepsequence.py:
(StepSequence.options): Use Python 2/3 compatible sort.
* Scripts/webkitpy/tool/commands/suggestnominations.py:
(AbstractCommitLogCommand.__init__): Use Python 2/3 compatible sort.
(SuggestNominations._print_nominations): Ditto.
(SuggestNominations._print_counts): Ditto.
(SuggestNominations._print_nominations.nomination_cmp): Deleted.
(SuggestNominations._print_counts.counter_cmp): Deleted.
* Scripts/webkitpy/tool/mocktool_unittest.py: Use explicit import paths.
* Scripts/webkitpy/tool/multicommandtool.py:
(HelpCommand._help_epilog): Convert filter to list, use Python 2/3 compatible sort.
(MultiCommandTool._find_all_commands): Use Python 2/3 compatible sort.
* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningHTTPServer): Use Python 2/3 compatible HTTPServers.
* Scripts/webkitpy/tool/servers/rebaselineserver.py:
(get_test_baselines.AllPlatformsPort.baseline_search_path): Use list instead of utterable keys.
(RebaselineHTTPServer): Use Python 2/3 compatible HTTPServers.
(RebaselineHTTPServer.__init__): Ditto.
* Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
(GetActualResultFilesTest.test): Use assertEqual instead of assertItemsEqual.
* Scripts/webkitpy/tool/servers/reflectionhandler.py:
(ReflectionHandler): Use Python 2/3 compatible HTTPServers.
* Scripts/webkitpy/tool/steps/applywatchlist.py:
(ApplyWatchList.run): Sort cc_emails before printing.
* Scripts/webkitpy/tool/steps/applywatchlist_unittest.py: Print sorted list instead
of set.
* Scripts/webkitpy/tool/steps/confirmdiff.py:
(ConfirmDiff._show_pretty_diff): Use Python 2/3 compatible pathname2url.
* Scripts/webkitpy/tool/steps/haslanded.py:
(HasLanded.convert_to_svn): Use Python 2/3 compatible StringIO.
(HasLanded.strip_change_log): Ditto.
* Scripts/webkitpy/tool/steps/preparechangelog.py:
(PrepareChangeLog._resolve_existing_entry): Convert zip object to list.
* Scripts/webkitpy/tool/steps/promptforbugortitle.py: Use Python 2/3 compatible urlparse.
* Scripts/webkitpy/tool/steps/steps_unittest.py: Sort environment.
* Scripts/webkitpy/w3c/test_exporter.py: Use Python 2/3 compatible HTTPError.
* Scripts/webkitpy/w3c/wpt_github.py:
(WPTGitHub.remove_label): Use Python 2/3 compatible urllib.quote.
(WPTGitHub.is_pr_merged): Use Python 2/3 compatible HTTPError.
(WPTGitHub.merge_pr): Ditto.
(JSONResponse.__init__):
2019-12-04 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r253069.
requests not handling certificate chain correctly in Catalina
Reverted changeset:
"results.webkit.org: Sort out certificates on Catalina"
https://bugs.webkit.org/show_bug.cgi?id=202837
https://trac.webkit.org/changeset/253069
2019-12-04 Louie Livon-Bemel <llivonbemel@apple.com>
Add exclusion rule for text manipulation SPI to exclude based on element class
https://bugs.webkit.org/show_bug.cgi?id=204754
<rdar://problem/57398802>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- When matching a class, it should work even with other class names on the element.
- All children elements should get the same exclusion rule, unless overridden by another rule.
2019-12-04 youenn fablet <youenn@apple.com>
WebProcessPool::terminateServiceWorkerProcess should be renamed terminateServiceWorkers
https://bugs.webkit.org/show_bug.cgi?id=204792
Reviewed by Chris Dumez.
Renaming testRunner API from terminateServiceWorkerProcess to terminateServiceWorkers.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::terminateServiceWorkers):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::terminateServiceWorkers):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-12-04 Patrick Griffis <pgriffis@igalia.com>
[GTK][WPE] Add libuuid to install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=204705
Reviewed by Adrian Perez de Castro.
* gtk/install-dependencies:
* wpe/install-dependencies:
2019-12-04 Tim Horton <timothy_horton@apple.com>
Introduce a GPU process
https://bugs.webkit.org/show_bug.cgi?id=204343
Reviewed by Simon Fraser.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-12-03 Megan Gardner <megan_gardner@apple.com>
Add disabled highlight API skeleton
https://bugs.webkit.org/show_bug.cgi?id=204809
Reviewed by Ryosuke Niwa.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2019-12-03 Ryosuke Niwa <rniwa@webkit.org>
Replace customJavaScriptUserAgentAsSiteSpecificQuirks with customUserAgentAsSiteSpecificQuirks
https://bugs.webkit.org/show_bug.cgi?id=204824
Reviewed by Brent Fulgham.
Replaced WebKit.WebsitePoliciesCustomJavaScriptUserAgent and WebKit.WebsitePoliciesCustomUserAgents
with WebKit.WebsitePoliciesCustomUserAgentAsSiteSpecificQuirksDisabled, which tests that the UA string
specified by customUserAgentAsSiteSpecificQuirks is not used when site specific quirks is disabled,
and WebKit.WebsitePoliciesCustomUserAgentAsSiteSpecificQuirks, which tests that new property sets
UA string for both network requests and JS API.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
2019-12-03 Andres Gonzalez <andresg_22@apple.com>
Focus tracking support in the accessibility isolatedtree.
https://bugs.webkit.org/show_bug.cgi?id=204535
Reviewed by Chris Fleizach.
FocusElement can run on the secondary AXThread.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::focusedElement):
2019-12-03 John Wilander <wilander@apple.com>
Resource Load Statistics (experimental): Delete non-cookie website data after 7 days of no user interaction
https://bugs.webkit.org/show_bug.cgi?id=204779
<rdar://problem/57578989>
Reviewed by Alex Christensen.
These changes are test infrastructure so that TestRunner can
control the new setting.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsFirstPartyWebsiteDataRemovalMode):
(WTR::TestRunner::statisticsCallDidSetFirstPartyWebsiteDataRemovalModeCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsFirstPartyWebsiteDataRemovalMode):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didSetFirstPartyWebsiteDataRemovalMode):
* WebKitTestRunner/TestInvocation.h:
2019-12-03 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.bindings
https://bugs.webkit.org/show_bug.cgi?id=204783
Reviewed by Stephanie Lewis.
Allow Tools/Scripts/run-bindings-tests to support Python 3.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_supplemental_dependency): Encode unicode strings before
writing to file as bytes.
2019-12-03 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Sort out certificates on Catalina
https://bugs.webkit.org/show_bug.cgi?id=202837
Unreviewed infrastructure repair.
Reverting the active parts of r250997 now that the certificates are sorted out.
* Scripts/webkitpy/results/upload.py:
(Upload.upload):
(Upload.upload_archive):
2019-12-03 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Decrease ttl for archives
https://bugs.webkit.org/show_bug.cgi?id=204806
<rdar://problem/57527644>
Reviewed by Aakash Jain.
Make the ttl on the archive tables shorter, drop the existing table and create new ones
with a shorter ttl.
* resultsdbpy/resultsdbpy/model/archive_context.py:
(ArchiveContext.ArchiveMetaDataByCommit): Define new ArchiveMetaDataByCommit table.
(ArchiveContext.ArchiveChunks): Ditto.
* resultsdbpy/resultsdbpy/model/model.py:
(Model.__init__): Add archive ttl, 8 weeks by default.
2019-12-03 Christopher Reid <chris.reid@sony.com>
Regular expression hangs in Safari only
https://bugs.webkit.org/show_bug.cgi?id=202882
<rdar://problem/56236654>
Reviewed by Yusuke Suzuki.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/BumpPointerAllocator.cpp: Added.
2019-12-03 Jonathan Bedard <jbedard@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=204804
<rdar://problem/57595666>
Reviewed by Tim Horton.
* Scripts/webkitpy/port/mac.py:
(MacCatalystPort):
(MacCatalystPort._build_driver_flags): Add SDKVARIANT=iosmac to build flags.
2019-12-03 Antoine Quint <graouts@apple.com>
[Web Animations] Add a runtime flag for Web Animations composite operations
https://bugs.webkit.org/show_bug.cgi?id=204718
Reviewed by Dean Jackson.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
2019-12-03 Aakash Jain <aakash_jain@apple.com>
Do not retry the EWS build due to flaky failures in layout-test
https://bugs.webkit.org/show_bug.cgi?id=204769
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.start): Do not retry the build due to flaky tests failures.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(test_flaky_and_inconsistent_failures_without_clean_tree_failures): expected outcome changed from RETRY to SUCCESS.
(test_flaky_and_inconsistent_failures_with_clean_tree_failures): Ditto.
(test_flaky_and_consistent_failures_with_clean_tree_failures): Ditto.
(test_mildly_flaky_patch_with_some_tree_redness_and_flakiness): Ditto.
2019-12-03 youenn fablet <youenn@apple.com>
Add support for camera rotation when capturing in UIProcess
https://bugs.webkit.org/show_bug.cgi?id=204750
Reviewed by Eric Carlson.
Add test runner API to set the device rotation specifically for mock camera devices.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setMockCameraOrientation):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setMockCameraOrientation):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-12-03 youenn fablet <youenn@apple.com>
Expose WKWebView API to stop ongoing capture
https://bugs.webkit.org/show_bug.cgi?id=204787
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/getUserMedia.html:
2019-12-03 youenn fablet <youenn@apple.com>
[Cocoa] Run camera capture in UIProcess by default in layout tests
https://bugs.webkit.org/show_bug.cgi?id=204512
Reviewed by Eric Carlson.
By defaut, enable capture in UIProcess on Cocoa side.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2019-12-03 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Focus the location bar on CTRL+l in GTK MiniBrowser
* MiniBrowser/gtk/BrowserWindow.c:
(focusLocationBar):
(browser_window_init):
2019-12-02 Sihui Liu <sihui_liu@apple.com>
Cross-thread version StorageQuotaManager
https://bugs.webkit.org/show_bug.cgi?id=203971
<rdar://problem/57290349>
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/StorageQuotaManager.cpp: Removed as we have a different StorageQuotaManager
implementation now.
* WebKitTestRunner/TestController.cpp: reset StorageQuotaManager's quota between tests.
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::resetQuota):
* WebKitTestRunner/TestController.h:
2019-12-02 Saam Barati <sbarati@apple.com>
run-jsc should exit with the same signal or exit status that the `jsc` shell does
https://bugs.webkit.org/show_bug.cgi?id=204778
Reviewed by Keith Miller.
* Scripts/run-jsc:
2019-12-02 Aakash Jain <aakash_jain@apple.com>
Revert - [EWS] Do not retry layout-tests build if the flaky test failures are also present in clean tree run
https://bugs.webkit.org/show_bug.cgi?id=204704
Reverting this, a more generic fix for handling flakiness would be made in Bug 204769.
2019-12-02 Louie Livon-Bemel <llivonbemel@apple.com>
Add helper methods for description and equality to text manipulation SPI
https://bugs.webkit.org/show_bug.cgi?id=204758
<rdar://problem/57438200>
Reviewed by Wenson Hsieh.
Add tests for the new methods. Most are equality tests for various situations, and are moved over from the
Safari unit tests I had for the category methods that had the same purpose.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TestWebKitAPI::TEST):
- Add test to make sure the content isn't included in the regular -description, but the identifier is. And
That -debugDescription does include the contents.
- Add many tests equality for various situations, testing both with and without content equality.
(TestWebKitAPI::createTextManipulationToken):
Add a helper for creating a token in one line.
2019-12-02 Daniel Bates <dabates@apple.com>
REGRESSION (r195080): prepare-ChangeLog does not emit function list for file paths that contain a space
https://bugs.webkit.org/show_bug.cgi?id=204236
Reviewed by Brian Burg.
Revert the filename escape logic added in <http://trac.webkit.org/changeset/195080> as it broke
function list generation in file paths that contain space characters. Function list generation
broke because the escaping was performed after line range dictionaries were built up keyed off
the unescaped file path. Subsequent code would try to query these dictionaries to build up the
changed function list using the escaped file path and never a match. The escaping logic was not
necessary to fix the originally reported bug. All that was needed was to use the three-argument
open() call that took a mode. So, remove the escape logic.
* Scripts/prepare-ChangeLog:
(actuallyGenerateFunctionLists):
2019-11-30 Ross Kirsling <ross.kirsling@sony.com>
test262-runner should dump YAML with correct encoding
https://bugs.webkit.org/show_bug.cgi?id=204493
Reviewed by Saam Barati.
Even though we spit out correctly-encoded output to the terminal, Perl's YAML module insists upon *re*-encoding
to UTF-8 when dumping to file. This works out in the end because an analogous double-decode occurs when loading
from file. Still, it's really annoying that expectations.yaml has garbled (i.e. double-encoded) text.
We shouldn't modify libraries directly, but we can copy-paste DumpFile/LoadFile into Runner.pm and tweak!
* Scripts/test262/Runner.pm:
(DumpFile):
(LoadFile):
Add custom versions of DumpFile/LoadFile which do not execute `binmode $OUT, ':utf8';`.
2019-11-30 Zalan Bujtas <zalan@apple.com>
[LFC] Expand tests coverage (2648 new tests -> 3980).
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-11-30 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Add support for hyphenate-limit-lines
https://bugs.webkit.org/show_bug.cgi?id=204712
<rdar://problem/57536727>
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-11-30 Aakash Jain <aakash_jain@apple.com>
[EWS] Do not retry layout-tests build if the flaky test failures are also present in clean tree run
https://bugs.webkit.org/show_bug.cgi?id=204704
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.start):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeLayoutTestsResults.test_flaky_and_inconsistent_failures_with_clean_tree_failures): Changed expected outcome to SUCCESS.
(TestAnalyzeLayoutTestsResults.test_flaky_and_consistent_failures_with_clean_tree_failures): Ditto.
2019-11-29 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Add support for hyphenate-limit-before and hyphenate-limit-after
https://bugs.webkit.org/show_bug.cgi?id=204710
<rdar://problem/57535210>
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-11-29 Antti Koivisto <antti@apple.com>
Add mechanism for enabling internal and experimental features from run-webkit-test command line
https://bugs.webkit.org/show_bug.cgi?id=204702
Reviewed by Antoine Quint.
Add --internal-feature and --experimental-feature flags to TestRunner and run-webkit-tests.
This is useful for running existing tests with different feature enabled without modifying
anything else. For example:
run-webkit-tests --internal-feature LayoutFormattingContextRenderTreeIntegrationEnabled
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* Scripts/webkitpy/port/base.py:
(Port.internal_feature):
(Port):
(Port.experimental_feature):
* Scripts/webkitpy/port/driver.py:
(Driver.cmd_line):
* WebKitTestRunner/Options.cpp:
(WTR::handleOptionExperimentalFeature):
(WTR::handleOptionInternalFeature):
(WTR::OptionsHandler::OptionsHandler):
* WebKitTestRunner/Options.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::testOptionsForTest const):
* WebKitTestRunner/TestController.h:
2019-11-29 Aakash Jain <aakash_jain@apple.com>
Add a unit-test to new EWS for scenario when there is flakiness with patch and also on clean tree
https://bugs.webkit.org/show_bug.cgi?id=204707
<rdar://problem/57533998>
Unreviewed unit-test.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeLayoutTestsResults.test_mildly_flaky_patch_with_some_tree_redness_and_flakiness):
2019-11-29 Aakash Jain <aakash_jain@apple.com>
Add a unit-test to old EWS for scenario when there is flakiness with patch and also on clean tree
https://bugs.webkit.org/show_bug.cgi?id=204707
Unreviewed unit-test.
* Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
2019-11-29 Paulo Matos <pmatos@igalia.com>
Move jsc-i386 from old to new EWS
https://bugs.webkit.org/show_bug.cgi?id=204667
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
* QueueStatusServer/config/queues.py:
2019-11-28 Fujii Hironori <Hironori.Fujii@sony.com>
Remove ENABLE_KEYBOARD_CODE_ATTRIBUTE and ENABLE_KEYBOARD_KEY_ATTRIBUTE macros
https://bugs.webkit.org/show_bug.cgi?id=204666
Reviewed by Ross Kirsling and Don Olmstead.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-11-28 Aakash Jain <aakash_jain@apple.com>
Rename 'submit to new EWS' to 'Submit for EWS analysis'
https://bugs.webkit.org/show_bug.cgi?id=204692
Unreviewed minor fix.
* BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
2019-11-28 Aakash Jain <aakash_jain@apple.com>
Old EWS is showing 'Submit to old EWS' button on every patch
https://bugs.webkit.org/show_bug.cgi?id=204691
Unreviewed minor fix.
* QueueStatusServer/handlers/statusbubble.py:
(StatusBubble.get): Disabled Submit to old EWS button since almost all the queues
have been removed from old EWS.
2019-11-28 Diego Pino Garcia <dpino@igalia.com>
test262-runner ends with SIGPIPE signal
https://bugs.webkit.org/show_bug.cgi?id=194816
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/test262/Runner.pm:
(main):
2019-11-28 Aakash Jain <aakash_jain@apple.com>
Removed ENABLED_QUEUES logic from ews-app
https://bugs.webkit.org/show_bug.cgi?id=204683
Unreviewed minor fix.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): Removed ENABLED_QUEUES.
(StatusBubble._build_bubbles_for_patch):
(StatusBubble._should_show_bubble_for_queue): Deleted.
2019-11-28 Aakash Jain <aakash_jain@apple.com>
[ews] Enable Windows queue on new EWS
https://bugs.webkit.org/show_bug.cgi?id=204243
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Enabled windows queue bubble on new EWS.
* BuildSlaveSupport/ews-build/config.json: Enabled the scheduler for windows queue. Removed the disabled Try_Userpass scheduler.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer): Removed windows ews queue from bot-watcher's dashboard.
* QueueStatusServer/config/queues.py: Removed windows queue from old EWS.
2019-11-28 Philippe Normand <pnormand@igalia.com>
[GStreamer] Move GL video sink to its own GstBin sub-class
https://bugs.webkit.org/show_bug.cgi?id=204624
Reviewed by Xabier Rodriguez-Calvar.
* Scripts/webkitpy/style/checker.py: White-list the new GLVideoSinkGStreamer GObject implementation.
2019-11-27 Zalan Bujtas <zalan@apple.com>
[LFC] Unreviewed test gardening.
* LayoutReloaded/misc/LFC-passing-tests.txt: These tests were passing accidentally.
2019-11-26 Fujii Hironori <Hironori.Fujii@sony.com>
[AppleWin] run-webkit-tests is failing to find bin32/DumpRenderTree since r252834
https://bugs.webkit.org/show_bug.cgi?id=204571
Reviewed by Ross Kirsling.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunWebKitTests.start): Replaced 'bin32' with 'bin64'.
2019-11-25 Kent Tamura <tkent@chromium.org>
Remove tkent@ from watchlist
https://bugs.webkit.org/show_bug.cgi?id=204599
Reviewed by Chris Dumez.
* Scripts/webkitpy/common/config/watchlist: Remove tkent@
2019-11-25 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Dragged images are only available as .tiff when dropping onto macCatalyst apps
https://bugs.webkit.org/show_bug.cgi?id=204598
<rdar://problem/57093920>
Reviewed by Tim Horton.
Verify that WKWebView is able to provide data in non-TIFF formats when dragging several types of images using a
new API test.
* TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
2019-11-25 Ross Kirsling <ross.kirsling@sony.com>
[Win] Ensure MiniBrowser can be built with !ENABLE(WEBKIT_LEGACY)
https://bugs.webkit.org/show_bug.cgi?id=204592
Reviewed by Don Olmstead.
* MiniBrowser/win/CMakeLists.txt:
* MiniBrowser/win/Common.cpp:
(parseCommandLine):
* MiniBrowser/win/Common.h:
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::init):
(MainWindow::WndProc):
* MiniBrowser/win/WinMain.cpp:
(wWinMain):
* PlatformWin.cmake:
2019-11-25 Fujii Hironori <Hironori.Fujii@sony.com>
Add DefaultHash<OptionSet<T>> and HashTrait<OptionSet<T>> specializations
https://bugs.webkit.org/show_bug.cgi?id=204562
Reviewed by Daniel Bates.
* TestWebKitAPI/Tests/WTF/OptionSet.cpp:
Added a new test WTF_OptionSet.HashSet.
2019-11-25 Philippe Normand <pnormand@igalia.com>
[JHBuild] xserver build fails
https://bugs.webkit.org/show_bug.cgi?id=204577
Reviewed by Žan Doberšek.
* gtk/jhbuild.modules: Bump libdrm and add implicit dependency to
it via mesa for the xserver recipe.
2019-11-25 Charlie Turner <cturner@igalia.com>
[GStreamer] Flatten MediaPlayerPrivateGStreamer into MediaPlayerPrivateGStreamerBase
https://bugs.webkit.org/show_bug.cgi?id=204352
Reviewed by Philippe Normand.
* Scripts/webkitpy/style/checker.py: The base class no longer
exists, perform the check on the player private.
2019-11-25 Zan Dobersek <zdobersek@igalia.com>
[GTK][WPE] libgpg-error fails to build with gawk 5
https://bugs.webkit.org/show_bug.cgi?id=204568
Reviewed by Frédéric Wang.
Gawk 5 throws errors when compiling libgpg-error. To avoid those, we
have to bump libgpg-error to the latest 1.36 version and have the
upstream fix applied on top of that.
Autoreconf has to be invoked to regenerate automake files. Because
autogen.sh script (which is present in the release tarballs) falters
under jhbuild, we invoke autoreconf directly for libgpg-error builds.
* gtk/jhbuild.modules:
* gtk/patches/libgpg-error-prepare-for-gawk-5-0.patch: Added.
* wpe/jhbuild.modules:
* wpe/patches/libgpg-error-prepare-for-gawk-5-0.patch: Added.
2019-11-23 John Wilander <wilander@apple.com>
Resource Load Statistics: Allow multiple third-party cookie blocking settings
https://bugs.webkit.org/show_bug.cgi?id=204389
<rdar://problem/57344054>
Reviewed by Brent Fulgham.
This change allows the existing TestRunner function
setStatisticsShouldBlockThirdPartyCookies() to set an optional boolean
parameter onlyOnSitesWithoutUserInteraction to opt in to that behavior.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsShouldBlockThirdPartyCookies):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsShouldBlockThirdPartyCookies):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-11-23 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r252805.
https://bugs.webkit.org/show_bug.cgi?id=204553
Caused test failures and ASan crashes (Requested by ap on
#webkit).
Reverted changeset:
"Cross-thread version StorageQuotaManager"
https://bugs.webkit.org/show_bug.cgi?id=203971
https://trac.webkit.org/changeset/252805
2019-11-23 Per Arne Vollan <pvollan@apple.com>
Archive step is failing after r252827
https://bugs.webkit.org/show_bug.cgi?id=204548
Reviewed by Alexey Proskuryakov.
After https://trac.webkit.org/changeset/252827/webkit, the archive step is failing.
* BuildSlaveSupport/built-product-archive:
(createZip):
2019-11-23 Andres Gonzalez <andresg_22@apple.com>
Run LayoutTests/accessibility/mac/primary-screen-height.html on secondary accessibility thread.
https://bugs.webkit.org/show_bug.cgi?id=204391
Reviewed by Chris Fleizach.
Added AccessibilityController::execute to execute any
AccessibilityUIElement call into AccessibilityObjectWrapper on the
secondary accessibility thread.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::rootElement): leftover from previous review.
(WTR::AccessibilityController::execute): added this to execute any AccessibilityUIElement method on the appropriate thread.
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::getChildrenWithRange): Runs on secondary thread.
(WTR::AccessibilityUIElement::numberAttributeValue): Runs on secondary thread.
2019-11-22 Per Arne Vollan <pvollan@apple.com>
Set 64-bit as default architecture on Windows
https://bugs.webkit.org/show_bug.cgi?id=204477
Reviewed by Ross Kirsling.
This will make 64-bit building and testing the default.
* Scripts/webkitdirs.pm:
(determineIsWin64):
* Scripts/webkitpy/port/win.py:
(WinPort):
2019-11-22 Jonathan Bedard <jbedard@apple.com>
run-javascriptcore-tests: Failure to determine configuration for reporting is fatal
https://bugs.webkit.org/show_bug.cgi?id=204526
Reviewed by Aakash Jain.
* Scripts/run-javascriptcore-tests:
(configurationForUpload): Use uname as the default upload configuration
2019-11-22 Jonathan Bedard <jbedard@apple.com>
results.webkit.org/api/failures should return an error when no test-run is found for specified criteria
https://bugs.webkit.org/show_bug.cgi?id=204385
<rdar://problem/57334389>
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/controller/failure_controller.py:
(FailureController.failures): Return a 404 error if no test runs are found.
* resultsdbpy/resultsdbpy/controller/failure_controller_unittest.py:
(FailureControllerTest):
(FailureControllerTest.test_no_runs):
* resultsdbpy/resultsdbpy/model/failure_context.py:
(FailureContext._failures): Return 'None' if no test runs are found.
* resultsdbpy/resultsdbpy/model/failure_context_unittest.py:
(FailureContextTest):
(FailureContextTest.test_no_test_runs):
2019-11-22 Chris Dumez <cdumez@apple.com>
HTTPHeaderMap's operator== is not fully correct
https://bugs.webkit.org/show_bug.cgi?id=204361
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/HTTPHeaderMap.cpp: Added.
(TestWebKitAPI::TEST):
2019-11-22 Sihui Liu <sihui_liu@apple.com>
Cross-thread version StorageQuotaManager
https://bugs.webkit.org/show_bug.cgi?id=203971
<rdar://problem/57290349>
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/StorageQuotaManager.cpp: Removed as we have a different StorageQuotaManager
implementation now.
* WebKitTestRunner/TestController.cpp: reset StorageQuotaManager's quota between tests.
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::resetQuota):
* WebKitTestRunner/TestController.h:
2019-11-22 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r252791.
Cannot use key on scalar in some perl versions
Reverted changeset:
"run-javascriptcore-tests: Failure to determine configuration
for reporting is fatal"
https://bugs.webkit.org/show_bug.cgi?id=204526
https://trac.webkit.org/changeset/252791
2019-11-22 Jonathan Bedard <jbedard@apple.com>
run-javascriptcore-tests: Failure to determine configuration for reporting is fatal
https://bugs.webkit.org/show_bug.cgi?id=204526
Reviewed by Aakash Jain.
* Scripts/run-javascriptcore-tests:
(configurationForUpload): Return empty hash if no configuration is available.
(uploadResults): Soft-fail upload if configuration is empty.
2019-11-22 Aakash Jain <aakash_jain@apple.com>
Setup EWS queue for JSConly i386
https://bugs.webkit.org/show_bug.cgi?id=204523
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json:
2019-11-22 Aakash Jain <aakash_jain@apple.com>
[ews] Add KillOldProcesses step before running JSC tests
https://bugs.webkit.org/show_bug.cgi?id=204525
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
2019-11-22 Jonathan Bedard <jbedard@apple.com>
run-javascriptcore-tests: Hide the output of binaries behind --verbose
https://bugs.webkit.org/show_bug.cgi?id=204386
Reviewed by Aakash Jain.
* Scripts/run-javascriptcore-tests:
(runTest): Do not log binary output by default, always log test failures.
2019-11-22 Aakash Jain <aakash_jain@apple.com>
[ews] Add basic commit-queue support in new EWS
https://bugs.webkit.org/show_bug.cgi?id=204517
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json:
* BuildSlaveSupport/ews-build/factories.py:
* BuildSlaveSupport/ews-build/loadConfig.py:
2019-11-22 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: Failing to run spindump shouldn't be fatal
https://bugs.webkit.org/show_bug.cgi?id=204518
<rdar://problem/57397417>
Reviewed by Aakash Jain.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.sample_process): Catch script error.
2019-11-22 Paulo Matos <pmatos@igalia.com>
Remove JSC 32bit ARMv7 and MipsEl old EWS queues
https://bugs.webkit.org/show_bug.cgi?id=204344
Reviewed by Aakash Jain.
Remove JSC armv7 and mips from old EWS queue and fix bubbles
by removing them from old ews and adding them to new ews.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble):
* QueueStatusServer/config/queues.py:
2019-11-22 Paulo Matos <pmatos@igalia.com>
Support JSCOnly platform in test reporting
https://bugs.webkit.org/show_bug.cgi?id=204495
Reviewed by Carlos Garcia Campos.
Add JSCOnly to possible platforms.
* Scripts/run-javascriptcore-tests:
(configurationForUpload):
2019-11-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] RemoteInspector: use sockets instead of DBus
https://bugs.webkit.org/show_bug.cgi?id=204503
Reviewed by Žan Doberšek.
Update the unit tests to not use DBus.
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
2019-11-21 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Web process crashes when attempting to request document context in a textarea
https://bugs.webkit.org/show_bug.cgi?id=204455
<rdar://problem/57383975>
Reviewed by Tim Horton.
Add a test to verify that we don't crash (and are still able to retrieve character rects).
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(-[UIWKDocumentContext markedTextRects]):
(-[UIWKDocumentContext textRects]):
* TestWebKitAPI/ios/UIKitSPI.h:
2019-11-21 Matt Lewis <jlewis3@apple.com>
Fix triggers for catalina debug and webgl testers.
https://bugs.webkit.org/show_bug.cgi?id=204456
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2019-11-21 Jonathan Bedard <jbedard@apple.com>
build.webkit.org: Forward results database credentials to jsc test runs
https://bugs.webkit.org/show_bug.cgi?id=204453
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunJavaScriptCoreTests.__init__): Do not log environment with credentials in it.
(RunJavaScriptCoreTests.start): Add results database API key to environment.
(RunLLINTCLoopTests.__init__): Do not log environment with credentials in it.
(RunLLINTCLoopTests.start): Add results database API key to environment.
(Run32bitJSCTests.__init__): Do not log environment with credentials in it.
(Run32bitJSCTests.start): Add results database API key to environment.
2019-11-21 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: Clean-up simulator processes after tearing down simulators
https://bugs.webkit.org/show_bug.cgi?id=204416
Reviewed by Simon Fraser.
* Scripts/webkitpy/common/system/executive_mock.py:
(MockExecutive.running_pids): Make function Python 3 compatible.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.tear_down): Kill any CoreSimulator processes.
2019-11-21 Pablo Saavedra <psaavedra@igalia.com>
Fix Tools/Scripts/run-javascriptcore-tests after r252490
https://bugs.webkit.org/show_bug.cgi?id=204452
Rubber-stamped by Philippe Normand
Regression introduced in:
results.webkit.org: Report JSC tests to the results database
https://bugs.webkit.org/show_bug.cgi?id=204091
<rdar://problem/49778900>
WebKitGTK and WPE build environment is defined by the dependencies
policy document [1] as a Debian Stable. For Debian the `uname` binary
is installed in the `/bin/` directory and this directory is included
in the `$PATH` for any regular or system user. This fix removes the
path for the `uname` command in the run-javascriptcore-tests script.
[1] https://trac.webkit.org/wiki/WebKitGTK/DependenciesPolicy
* Scripts/run-javascriptcore-tests:
(configurationForUpload):
2019-11-20 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: Make usability test on booting simulators more robust
https://bugs.webkit.org/show_bug.cgi?id=204423
<rdar://problem/57364735>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.is_usable): Use regular expressions to find home-screen service.
2019-11-20 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: Do not create global SystemHost objects
https://bugs.webkit.org/show_bug.cgi?id=204426
Reviewed by Aakash Jain.
If created, SystemHost objects should be created on-demand, not globally
shared between all instances of a function.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.populate_available_devices):
(SimulatedDeviceManager.available_devices):
(SimulatedDeviceManager.device_by_filter):
(SimulatedDeviceManager._create_or_find_device_for_request):
(SimulatedDeviceManager._boot_device):
(SimulatedDeviceManager.device_count_for_type):
(SimulatedDeviceManager.initialize_devices):
(SimulatedDeviceManager.max_supported_simulators):
(SimulatedDeviceManager.swap):
(SimulatedDeviceManager.tear_down):
2019-11-20 Wenson Hsieh <wenson_hsieh@apple.com>
Correct argument types in UIScriptController::activateDataListSuggestion after r252062
https://bugs.webkit.org/show_bug.cgi?id=203116
Reviewed by Tim Horton.
Use `unsigned` to represent `unsigned long` arguments declared in the IDL.
* DumpRenderTree/mac/UIScriptControllerMac.h:
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::activateDataListSuggestion):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::activateDataListSuggestion):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::activateDataListSuggestion):
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::activateDataListSuggestion):
2019-11-20 Fujii Hironori <Hironori.Fujii@sony.com>
run-api-tests reports AssertionError os.pathsep not in value in _append_value_colon_separated in Cygwin Python
https://bugs.webkit.org/show_bug.cgi?id=204400
Reviewed by Jonathan Bedard.
r249500 changed Port.environment_for_api_tests to use
Port._append_value_colon_separated to append a build path to some
enviroment variables. _append_value_colon_separated has a
assertion to ensure the given value doesn't iclude ':'. However,
Port._build_path contains ':' on Cygwin Python.
Those enviroment variables are only for macOS and iOS. Move the code to darwin.py.
* Scripts/webkitpy/port/base.py:
(Port.environment_for_api_tests):
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.environment_for_api_tests):
2019-11-20 Jonathan Bedard <jbedard@apple.com>
[WebGL] Add `--webgl-test-suite` flag for run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=204327
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Add the --webgl macro command, which is the equivalent of:
'Run-webkit-tests --additional-expectations=LayoutTests/webgl/TestExpectations webgl'
2019-11-20 ChangSeok Oh <changseok@webkit.org>
Reactivate my committer status.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-11-20 Matt Lewis <jlewis3@apple.com>
Add trigger for WebGL bot to config.
RS config fix by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2019-11-19 Matt Lewis <jlewis3@apple.com>
Bring up WebGL Test Queue.
https://bugs.webkit.org/show_bug.cgi?id=204374
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2019-11-20 Jonathan Bedard <jbedard@apple.com>
[EWS] iOS layout-tests fails with 30+ failures on re-run and on clean-tree
https://bugs.webkit.org/show_bug.cgi?id=204409
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitPerlTests.evaluateCommand): Add killOldProcesses before running test suite.
(RunJavaScriptCoreTests.evaluateCommand): Ditto.
(ReRunJavaScriptCoreTests.evaluateCommand): Ditto.
(RunWebKitTests.evaluateCommand): Ditto.
(ReRunWebKitTests.evaluateCommand): Ditto.
(RunAPITests.evaluateCommand): Ditto.
(ReRunAPITests.evaluateCommand): Ditto.
2019-11-20 Jonathan Bedard <jbedard@apple.com>
kill-old-processes: Log currently running processes
https://bugs.webkit.org/show_bug.cgi?id=204415
Unreviewed infrastructure management.
* BuildSlaveSupport/kill-old-processes:
(main): Log 'ps aux' for Mac and Linux.
2019-11-19 Saam Barati <sbarati@apple.com>
Remove runNullishAwareOperatorsEnabled
Rubber-stamped by Keith Miller.
* Scripts/run-jsc-stress-tests:
2019-11-19 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Have build.webkit.org report JSC tests
https://bugs.webkit.org/show_bug.cgi?id=204364
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunJavaScriptCoreTests):
(RunWebKitTests):
(RunAPITests):
(RunPythonTests):
(RunLLINTCLoopTests):
(Run32bitJSCTests):
2019-11-19 Aakash Jain <aakash_jain@apple.com>
Disable reporting EWS test failures from clean-tree to results.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=204369
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTestsWithoutPatch):
(RunAPITestsWithoutPatch.evaluateCommand):
(RunWebKitTestsWithoutPatch.start): Deleted.
(RunAPITestsWithoutPatch.start): Deleted.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
* BuildSlaveSupport/ews-build/loadConfig.py:
2019-11-19 Brian Burg <bburg@apple.com>
[Cocoa] Add WKUIDelegate SPI to inform clients when a _WKInspector attaches to a WKWebView
https://bugs.webkit.org/show_bug.cgi?id=204300
<rdar://problem/57136993>
Reviewed by Devin Rousso.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[InspectorDelegate _webView:didAttachInspector:]):
(TEST): Add new test to ensure the delegate is called as expected.
2019-11-19 Sihui Liu <sihui_liu@apple.com>
Update expectations for bufferedAmount-unchanged-by-sync-xhr.any.worker.html
https://bugs.webkit.org/show_bug.cgi?id=204313
Reviewed by Alex Christensen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
2019-11-19 Paulo Matos <pmatos@igalia.com>
Setup EWS queues for JSConly 32bits ARMv7 and MIPSel
https://bugs.webkit.org/show_bug.cgi?id=203946
Reviewed by Aakash Jain.
Naming of queues follow old EWS: jsc-mips for MIPSel
and jsc-armv7 for ARMv7.
* BuildSlaveSupport/ews-build/config.json:
* BuildSlaveSupport/ews-build/steps.py:
(RunJavaScriptCoreTests.start):
(PrintConfiguration.run):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestRunJavaScriptCoreTests.test_remote_success):
2019-11-18 John Wilander <wilander@apple.com>
Check if ITP is on before applying third-party cookie blocking
https://bugs.webkit.org/show_bug.cgi?id=204322
<rdar://problem/57120772>
Reviewed by Chris Dumez and Alexey Proskuryakov.
This is test infrastructure to allow a layout test to
disable ITP in the network process.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsEnabled):
(WTR::TestRunner::setStatisticsDebugMode):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsEnabled):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-11-18 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] kill-old-processes should kill WebKitWebProcess.exe and WebKitNetworkProcess.exe
https://bugs.webkit.org/show_bug.cgi?id=204337
Reviewed by Ross Kirsling.
* BuildSlaveSupport/kill-old-processes:
(main): Removed WebKit2WebProcess.exe, and added WebKitWebProcess.exe and WebKitNetworkProcess.exe to
tasksToKillWin.
2019-11-18 Jonathan Bedard <jbedard@apple.com>
Python 3: Support run-api-tests
https://bugs.webkit.org/show_bug.cgi?id=204252
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/api_tests/manager.py:
(Manager._collect_tests): Use items over iteritems.
(Manager._print_tests_result_with_status): Use compatible iteritems.
(Manager.run): Use range over xrange, use compatible iteritems.
* Scripts/webkitpy/api_tests/runner.py:
(Runner.run): Use compatible iteritems.
(Runner.result_map_by_status): Ditto.
(_Worker._run_single_test): Server process returns byte arrays, not strings.
(_Worker.handle): Use items over iteritems, use range over xrange.
* Scripts/webkitpy/common/message_pool.py:
(_MessagePool.run): Use range over xrange.
(_MessagePool._start_workers): Ditto.
* Scripts/webkitpy/common/multiprocessing_bootstrap.py: Remove version check.
* Scripts/webkitpy/port/base.py:
(Port.check_api_test_build):Use items over iteritems.
(Port.commits_for_upload): Ditto.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess._reset): Use byte array over string.
(ServerProcess._pop_stdout_line_if_ready): Check for bytes newline.
(ServerProcess._pop_stderr_line_if_ready): Ditto.
2019-11-18 Andres Gonzalez <andresg_22@apple.com>
Run AccessibilityController::rootElement on secondary thread to simulate HIServices during LayoutTests.
https://bugs.webkit.org/show_bug.cgi?id=204226
Reviewed by Chris Fleizach.
HIServices _AXUIElementUseSecondaryAXThread and _AXUIElementRequestServicedBySecondaryAXThread
do not work for WebKitTestRunner since this is calling directly into
WebCore/accessibility via JavaScript without going through HIServices.
Thus to simulate the behavior of HIServices, AccessibilityController is
spawning a secondary thread to service the JavaScript requests.
The very first request needs to be serviced in the main thread,
and all subsequent requests in the secondary thread. this is what
the behavior would be if using HIServices.
Once the IsolatedTree would be enabled, the first request has to be
served in the main thread in order to build the AXIsolatedTree.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::rootElement):
(WTR::AXThread::AXThread):
(WTR::AXThread::isCurrentThread):
(WTR::AXThread::dispatch):
(WTR::AXThread::dispatchBarrier):
(WTR::AXThread::singleton):
(WTR::AXThread::createThreadIfNeeded):
(WTR::AXThread::dispatchFunctionsFromAXThread):
(WTR::AXThread::initializeRunLoop):
(WTR::AXThread::wakeUpRunLoop):
(WTR::AXThread::threadRunLoopSourceCallback):
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AXThread::initializeRunLoop):
(WTR::AXThread::wakeUpRunLoop):
(WTR::AXThread::threadRunLoopSourceCallback):
2019-11-18 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Uncollapsed failures shouldn't include runs with no failures
https://bugs.webkit.org/show_bug.cgi?id=204315
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/model/failure_context.py:
(FailureContext): Do not include test runs which have no failed tests.
* resultsdbpy/resultsdbpy/model/failure_context_unittest.py:
(FailureContextTest):
(FailureContextTest.test_no_failures):
2019-11-18 Aakash Jain <aakash_jain@apple.com>
Dedicate ews116 to macOS-High-Sierra-Debug-Build-EWS queue
https://bugs.webkit.org/show_bug.cgi?id=204256
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json:
2019-11-18 Chris Dumez <cdumez@apple.com>
TestWebKitAPI.ProcessSwap.QuickBackForwardNavigationWithPSON is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=199645
<rdar://problem/52856112>
Reviewed by Alex Christensen.
Make sure the test waits for the history navigations to complete before checking the
back/forward list.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-11-18 Keith Rollin <krollin@apple.com>
Move jsc from Resources to Helpers
https://bugs.webkit.org/show_bug.cgi?id=203970
<rdar://problem/55917748>
Reviewed by Keith Miller.
'jsc' is a supporting application or tool, not a resource. As such, it
should go into Helpers, per
<https://developer.apple.com/library/archive/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG201>
* Scripts/run-jsc-stress-tests:
* Scripts/run-layout-jsc:
* Scripts/sunspider-compare-results:
(pathToSystemJSC):
* Scripts/test262/Runner.pm:
(getBuildPath):
* Scripts/webkitdirs.pm:
(jscPath):
2019-11-18 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.layout_tests.views
https://bugs.webkit.org/show_bug.cgi?id=204227
Reviewed by Aakash Jain.
* Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.views.
* Scripts/webkitpy/layout_tests/views/buildbot_results.py:
(BuildBotPrinter.print_unexpected_results): Use compatible iteritems.
* Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
(BuildBotPrinterTests.get_printer): Use compatible StringIO object.
* Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.__init__): Use maxsize instead of maxint.
* Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
(RegularTest.setUp): Use compatible StringIO, remove buflist.
(RegularTest.test_logging_not_included): Ditto.
(RegularTest._basic): Remove buflist.
(RegularTest.test_basic): Compare against stream value instead of buflist.
(RegularTest._log_after_update): Remove buflist.
(RegularTest.test_log_after_update): Compare against stream value
instead of buflist.
(RegularTest.test_log_args): Ditto.
(RegularTest.test_unicode): We can't join unicode strings and standard strings
in Python 2.
(RegularTest.test_stream_with_encoding): Use compatible StringIO, Python 3 uses
unicode strings.
(TtyTest.test_basic): Compare against stream value instead of buflist.
(TtyTest.test_log_after_update): Ditto.
(VerboseTest.test_basic): Ditto.
(VerboseTest.test_log_after_update): Ditto.
(VerboseTest.test_log_args): Ditto.
(VerboseWithOutTimestamp.test_basic): Ditto.
* Scripts/webkitpy/layout_tests/views/printing_unittest.py:
(Testprinter.assertWritten): Use stream value instead of buflist.
(Testprinter.reset): Use Python 3 compatible steam reset.
(Testprinter.get_printer): Use compatible StringIO.
(Testprinter.test_print_one_line_summary): Compare against stream value instead
of buflist.
(Testprinter.test_test_status_line): Ditto.
(Testprinter.test_print_found): Ditto.
2019-11-18 Simon Fraser <simon.fraser@apple.com>
Fix alpha value rounding to match the CSS Color spec
https://bugs.webkit.org/show_bug.cgi?id=203597
<rdar://problem/56728546>
Reviewed by Tim Horton.
Fix the test for rounding.
* TestWebKitAPI/Tests/mac/FontManagerTests.mm:
(TestWebKitAPI::TEST):
2019-11-16 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] [UIWKDocumentContext] Add the ability to request all marked text rects
https://bugs.webkit.org/show_bug.cgi?id=204278
<rdar://problem/56527803>
Reviewed by Tim Horton.
Add an API test to exercise the new request option.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(-[UIWKDocumentContext markedTextRects]):
* TestWebKitAPI/ios/UIKitSPI.h:
2019-11-15 Eric Carlson <eric.carlson@apple.com>
[iOS] Audio capture fails when a track is unmuted
https://bugs.webkit.org/show_bug.cgi?id=204202
<rdar://problem/57005820>
Reviewed by Jer Noble.
Make WebKit2.CaptureMute failures easier to diagnose.
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(TestWebKitAPI::wkMediaCaptureStateString):
(TestWebKitAPI::waitUntilCaptureState):
(TestWebKitAPI::TEST):
2019-11-15 Myles C. Maxfield <mmaxfield@apple.com>
[Apple] Enable variation fonts on all Apple platforms
https://bugs.webkit.org/show_bug.cgi?id=198100
Reviewed by Simon Fraser.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-11-15 Aakash Jain <aakash_jain@apple.com>
[EWS] Update windows bots in config.json
https://bugs.webkit.org/show_bug.cgi?id=204245
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json:
2019-11-15 Aakash Jain <aakash_jain@apple.com>
Windows EWS should not upload archives
https://bugs.webkit.org/show_bug.cgi?id=204229
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
2019-11-15 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Report JSC tests to the results database
https://bugs.webkit.org/show_bug.cgi?id=204091
<rdar://problem/49778900>
Reviewed by Aakash Jain.
Upload results to the specified results database.
DEMONSTRATION OF FAILURE IN EWS BEHAVIOR, DO NOT LAND!
* Scripts/run-javascriptcore-tests:
(runTest): Parse binary output to mark individual tests as passing
or failing.
(uploadConfiguration): Return a hash map representing the configuration
For this specific test run.
(uploadResults): If a report URL is defined, upload test results to that URL.
* Scripts/webkitdirs.pm:
(splitVersionString): splitVersionString is supposed to be a generally used
function, so should not set a global variable.
(determineOSXVersion): Remove newline from version number.
2019-11-15 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests loads committers.py 4 times, taking about 40ms
https://bugs.webkit.org/show_bug.cgi?id=204211
Reviewed by Aakash Jain.
* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLogEntry): Don't create CommitterList on import.
* Scripts/webkitpy/common/checkout/commitinfo.py:
(CommitInfo.__init__): Ditto.
2019-11-15 Aakash Jain <aakash_jain@apple.com>
[ews] Perform validation of patch before retrying JSC tests
https://bugs.webkit.org/show_bug.cgi?id=204222
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunJavaScriptCoreTests.evaluateCommand): Add a ValidatePatch step before retrying.
(ReRunJavaScriptCoreTests.evaluateCommand): Ditto.
2019-11-14 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.layout_tests.layout_package
https://bugs.webkit.org/show_bug.cgi?id=204212
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.layout_package.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(convert_trie_to_flat_paths): Use compatible iteritems.
(JSONResultsGenerator._insert_failure_summaries): Use compatible iterkeys.
(JSONResultsGenerator._convert_json_to_current_version): Use compatible iteritems.
(JSONResultsGenerator._convert_tests_to_trie): Use compatible iterkeys.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
(JSONGeneratorTest._verify_json_results): Use items instead of iteritems.
(JSONGeneratorTest.test_test_timings_trie): Python 3's json decoder is sensitive to ordering.
2019-11-14 Alex Christensen <achristensen@webkit.org>
Flaky API Test TestWebKitAPI.ServiceWorkers.ThrottleCrash
https://bugs.webkit.org/show_bug.cgi?id=203734
Reviewed by Youenn Fablet.
Some API tests using TCPServer have multiple concurrent HTTP requests in flight at the same time.
When this happens, sometimes NSURLSession will make multiple TCP connections to the same server.
TCPServer is not the right tool for this because it handles all its connections manually.
To make the test server agnostic to how many connections are initiated, I introduce HTTPServer,
which uses the Network framework to handle as many responses and as many connections as happen.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
* TestWebKitAPI/cocoa/HTTPServer.h: Added.
(TestWebKitAPI::HTTPServer::HTTPResponse::HTTPResponse):
* TestWebKitAPI/cocoa/HTTPServer.mm: Added.
(TestWebKitAPI::HTTPServer::HTTPServer):
(TestWebKitAPI::HTTPServer::respondToRequests):
(TestWebKitAPI::HTTPServer::port const):
(TestWebKitAPI::HTTPServer::request const):
* TestWebKitAPI/config.h:
2019-11-14 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.layout_tests.servers
https://bugs.webkit.org/show_bug.cgi?id=204209
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.servers.
* Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
(LayoutTestApacheHttpd.__init__): Use compatible iteritems.
* Scripts/webkitpy/layout_tests/servers/http_server.py:
(Lighttpd._prepare_config): Ditto.
2019-11-14 Megan Gardner <megan_gardner@apple.com>
Fix another build error from r252449
https://bugs.webkit.org/show_bug.cgi?id=204173
Unreviewed Build Fix for r252449
* TestWebKitAPI/ios/UIKitSPI.h:
2019-11-14 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.style
https://bugs.webkit.org/show_bug.cgi?id=203762
Reviewed by Stephanie Lewis.
* Scripts/check-webkit-style: Remove Python 2 version check.
* Scripts/test-webkitpy-python3: Add webkitpy.style.
* Scripts/webkitpy/style/checker.py: Use explicit imports.
* Scripts/webkitpy/style/checker_unittest.py:
(GlobalVariablesTest.test_max_reports_per_category): Use keys() over iterkeys.
* Scripts/webkitpy/style/checkers/contributors.py: Use explicit imports.
* Scripts/webkitpy/style/checkers/test_expectations.py:
(TestExpectationsChecker._should_log_linter_warning): Use compatible iteritems.
* Scripts/webkitpy/style/error_handlers_unittest.py: Use explicit imports.
* Scripts/webkitpy/style/filter.py:
(FilterConfiguration._get_path_specific_lower): Return list instead of iterator.
(FilterConfiguration._filter_from_path): Avoid confusion with filter builtin.
* Scripts/webkitpy/style/filter_unittest.py: Use explicit imports.
* Scripts/webkitpy/style/main.py:
(CheckWebKitStyle._engage_awesome_stderr_hacks): No reason to apply encoding to stderr
in Python 3.
* Scripts/webkitpy/style/main_unittest.py: Use explicit imports.
* Scripts/webkitpy/style/patchreader.py:
(PatchReader.check): Ensure that the provided patch is a string, use items over iteritems.
2019-11-14 Megan Gardner <megan_gardner@apple.com>
Fix build error from r252449
https://bugs.webkit.org/show_bug.cgi?id=204173
Reviewed by Wenson Hsieh.
Include needed header for all platforms, not just iPhone.
* TestWebKitAPI/ios/UIKitSPI.h:
2019-11-14 Brady Eidson <beidson@apple.com>
Summary: WKWebView is missing an equivalent to WebKit 1's API to set the media style.
<rdar://problem/49862107> and https://bugs.webkit.org/show_bug.cgi?id=203974
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/MediaType.mm: Added.
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-11-14 Brady Eidson <beidson@apple.com>
pageZoom/setPageZoom: should not be in a Mac-only part of WKWebView.mm
https://bugs.webkit.org/show_bug.cgi?id=204128
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/PageZoom.mm: Added.
(TestWebKitAPI::getClientWidth):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView waitUntilClientWidthIs:]):
2019-11-14 Jonathan Bedard <jbedard@apple.com>
webkitpy: Clarify webkitpy/style/optparser_unittest.py by removing parse variables
https://bugs.webkit.org/show_bug.cgi?id=204183
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/style/optparser_unittest.py:
(ArgumentParserTest.test_parse_documentation): Remove parse variable.
(ArgumentParserTest.test_parse_bad_values): Ditto.
(ArgumentParserTest.test_parse_default_arguments): Ditto.
(ArgumentParserTest.test_parse_explicit_arguments): Ditto.
(ArgumentParserTest.test_parse_files): Ditto.
2019-11-14 Aakash Jain <aakash_jain@apple.com>
Add support for remotes file for EWS builders (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=203899
Unreviewed follow-up fix.
* BuildSlaveSupport/ews-build/factories.py:
(JSCTestsFactory.__init__): Passed remotes parameter to JSCTestsFactory as well.
* BuildSlaveSupport/ews-build/loadConfig_unittest.py: Updated unit-test.
2019-11-14 Aakash Jain <aakash_jain@apple.com>
[ews] Enable JSC queue on new EWS
https://bugs.webkit.org/show_bug.cgi?id=204179
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json: Enabled the scheduler for JSC queue.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Enabled JSC queue bubble on new EWS.
* QueueStatusServer/config/queues.py: Removed JSC queue from old EWS.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer): Removed JSC queue from bot-watcher's dashboard.
2019-11-13 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Add support for Clipboard.write()
https://bugs.webkit.org/show_bug.cgi?id=204078
<rdar://problem/57087756>
Reviewed by Ryosuke Niwa.
Make the LocalPasteboard in WebKitTestRunner compatible with calls to -writeObjects: with a list of pasteboard
items. Currently, attempts to -writeObjects: result in a crash, since NSPasteboard code will attempt to
communicate with pasted and fail. We fix this by implementing -writeObjects: and storing the array of
NSPasteboardItems in LocalPasteboard, the same way we do in DumpRenderTree's LocalPasteboard implementation.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard declareTypes:owner:]):
(-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
Factor out logic to clear the pasteboard's content into a separate helper, and clear out the list of saved
pasteboard items here as well.
(-[LocalPasteboard clearContents]):
Implement -clearContents in DumpRenderTree's LocalPasteboard, so that we can test Clipboard.write() in WebKit1.
(-[LocalPasteboard writeObjects:]):
Also make it so that we save any NSPasteboardItems we write to the local pasteboard, so that we can return them
later in -pasteboardItems.
(-[LocalPasteboard pasteboardItems]):
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
(-[LocalPasteboard initWithName:]):
Clean up this code a bit by replacing manual reference counting for `typesArray` and its neighboring data
structures with `RetainPtr`. Additionally, underscore-prefix the instance variables on LocalPasteboard to match
most of the other Objective-C objects in WebKit.
(-[LocalPasteboard name]):
(-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
Clear out the NSPasteboardItem list here too.
(-[LocalPasteboard clearContents]):
(-[LocalPasteboard declareTypes:owner:]):
(-[LocalPasteboard addTypes:owner:]):
(-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
(-[LocalPasteboard changeCount]):
(-[LocalPasteboard types]):
(-[LocalPasteboard availableTypeFromArray:]):
(-[LocalPasteboard setData:forType:]):
(-[LocalPasteboard dataForType:]):
(-[LocalPasteboard pasteboardItems]):
(-[LocalPasteboard writeObjects:]):
Implement this by porting over the implementation that currently exists in DumpRenderTree. Like in
DumpRenderTree, we want to also save the NSPasteboardItem array we're given here, so that we can return it in
-pasteboardItems.
(-[LocalPasteboard dealloc]): Deleted.
2019-11-13 Megan Gardner <megan_gardner@apple.com>
Cleanup UIKitSPI for Testing
https://bugs.webkit.org/show_bug.cgi?id=204173
Reviewed by Simon Fraser.
Remove old staging for UIKit APIs that should not be needed now.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
* TestWebKitAPI/ios/UIKitSPI.h:
2019-11-13 Aakash Jain <aakash_jain@apple.com>
[ews] Add build step to Analyze JSC Tests Results
https://bugs.webkit.org/show_bug.cgi?id=204174
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ReRunJavaScriptCoreTests.evaluateCommand): invoke AnalyzeJSCTestsResults step.
(AnalyzeJSCTestsResults): Build step to analyze layout-test results.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestAnalyzeJSCTestsResults):
(TestAnalyzeJSCTestsResults.test_single_new_stress_failure): Added unit-test.
(TestAnalyzeJSCTestsResults.test_single_new_binary_failure): Ditto.
(TestAnalyzeJSCTestsResults.test_multiple_new_stress_failure): Ditto.
(TestAnalyzeJSCTestsResults.test_multiple_new_binary_failure): Ditto.
(TestAnalyzeJSCTestsResults.test_new_stress_and_binary_failure): Ditto.
(TestAnalyzeJSCTestsResults.test_stress_failure_on_clean_tree): Ditto.
(TestAnalyzeJSCTestsResults.test_binary_failure_on_clean_tree): Ditto.
(TestAnalyzeJSCTestsResults.test_stress_and_binary_failure_on_clean_tree): Ditto.
(TestAnalyzeJSCTestsResults.test_flaky_stress_and_binary_failures): Ditto.
(TestAnalyzeJSCTestsResults.test_flaky_and_consistent_stress_failures): Ditto.
(TestAnalyzeJSCTestsResults.test_flaky_and_consistent_failures_with_clean_tree_failures): Ditto.
2019-11-13 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.layout_tests.controllers
https://bugs.webkit.org/show_bug.cgi?id=204180
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.controllers.
* Scripts/webkitpy/common/message_pool.py:
(_MessagePool.__init__): Use Python 3 queue syntax.
(_MessagePool._can_pickle): Use Python 3 pickle syntax.
(_MessagePool._loop): Use Python 3 queue syntax.
(_Worker.run): Use Python 3 queue syntax.
(_Worker._raise): Python 2 and Python 3 have different semantics for raising an exception
With a stack trace. However, 'raise' will raise the exception we are in the process of capturing,
Which is exactly what we want in this case.
* Scripts/webkitpy/common/read_checksum_from_png.py:
(read_checksum): Standardize checksum as a string.
* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.write_binary_file): Binary files should be written with bytes, not strings.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.write_binary_file): Binary files should be written with bytes, not strings.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py: assertItemsEqual is not
Defined in Python 3.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(Worker._do_post_tests_work): Use compatible iteritems.
(Sharder._shard_by_directory): Ditto.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Use compatible itervalues.
(Manager._look_for_new_crash_logs): Use Python 3 item iteration.
(Manager._results_to_upload_json_trie): Use compatible itervalues.
(Manager._stats_trie): Use compatible iteritems.
* Scripts/webkitpy/port/base.py:
(Port.expected_text): Be explicit about decoding text expectations.
* Scripts/webkitpy/port/mock_drt.py:
(MockDRT.write_test_output):
2019-11-13 Per Arne Vollan <pvollan@apple.com>
REGRESSION: WKWebView navigation fails when navigating from about:blank
https://bugs.webkit.org/show_bug.cgi?id=203852
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm:
(TEST):
2019-11-13 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][DumpRenderTree][WebKitTestRunner] eventSender.keyDown should support function keys
https://bugs.webkit.org/show_bug.cgi?id=204146
Reviewed by Ross Kirsling.
Changed eventSender.keyDown of DRT and WTR to support sending
function keys.
In addition to that, this change set correct scan code to LPARAM
for all key events. Unfortunately, there is no API to get a
correct extended scan code from a virtual key because
MapVirtualKey and MapVirtualKeyEx doesn't work as expected.
makeKeyDataForScanCode turns on KF_EXTENDED flag for some keys
explicitly for the workaround.
<http://www.setnode.com/blog/mapvirtualkey-getkeynametext-and-a-story-of-how-to/>
* DumpRenderTree/win/EventSender.cpp:
(makeKeyDataForScanCode):
(keyDownCallback):
* WebKitTestRunner/win/EventSenderProxyWin.cpp:
(WTR::makeKeyDataForScanCode):
(WTR::EventSenderProxy::keyDown):
2019-11-13 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.style.checkers
https://bugs.webkit.org/show_bug.cgi?id=203761
Rubber-stamped by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.style.checkers.
* Scripts/webkitpy/port/builders.py:
(all_port_names): Convert map to a list before concatenating.
* Scripts/webkitpy/style/checkers/changelog.py: Use explicit imports.
* Scripts/webkitpy/style/checkers/changelog_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/cmake.py: Ditto.
* Scripts/webkitpy/style/checkers/cmake_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/common_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/contributors.py: Ditto.
* Scripts/webkitpy/style/checkers/cpp.py:
(Position): Add rich comparison functions.
(check_for_copyright): Use range instead of xrange.
(detect_functions): Ditto.
(check_language): Use r-string.
(check_for_include_what_you_use): Use range instead of xrange.
(_process_lines): Convert iterator to list, use range instead of xrange.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest): Be explicit about bytes vs strings.
* Scripts/webkitpy/style/checkers/js.py: Use explicit imports.
* Scripts/webkitpy/style/checkers/js_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/jsonchecker.py: Ditto.
(JSONFeaturesChecker.check):
* Scripts/webkitpy/style/checkers/jsonchecker_unittest.py: Ditto.
(JSONCheckerTest.test_conflict_marker): Differentiate between Python 2 and 3
json parsers.
* Scripts/webkitpy/style/checkers/jstest_unittest.py: Use explicit imports.
* Scripts/webkitpy/style/checkers/messagesin.py: Ditto.
* Scripts/webkitpy/style/checkers/messagesin_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/png_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/python.py:
(PythonChecker.check): Only run pylint in Python 2.
(PythonChecker._check_pylint): Use r string.
(Pylinter.run): Surpress logging from Pylint.
* Scripts/webkitpy/style/checkers/python_unittest.py: Use explicit imports.
(PythonCheckerTest.test_check): Add FIXME for running pylint in Python 3.
* Scripts/webkitpy/style/checkers/python_unittest_falsepositives.py:
* Scripts/webkitpy/style/checkers/python_unittest_input.py:
* Scripts/webkitpy/style/checkers/test_expectations.py: Use explicit imports.
* Scripts/webkitpy/style/checkers/test_expectations_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/text.py: Ditto.
* Scripts/webkitpy/style/checkers/text_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/watchlist_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/xcodeproj_unittest.py: Ditto.
* Scripts/webkitpy/style/checkers/xml_unittest.py: Ditto.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_pep8): Update pep8 version.
2019-11-13 Jer Noble <jer.noble@apple.com>
Link mediaDataLoadsAutomatically setting to AutoplayPolicy
https://bugs.webkit.org/show_bug.cgi?id=201738
<rdar://problem/55315194>
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/media-loading.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
2019-11-13 Carlos Alberto Lopez Perez <clopez@igalia.com>
test262-runner: use NUMBER_OF_PROCESSORS and stop multiplying the number of cores.
https://bugs.webkit.org/show_bug.cgi?id=204154
Reviewed by Ross Kirsling.
We have enabled running test262 on GTK and WPE test bots on r252362
But it seems this test262 runner is not respecting the environment
variable NUMBER_OF_PROCESSORS. We set that on the bot environments
to tell each worker how much parallelism it should use.
Instead this runner was using all the system cores (which on some
cases is 256) and that was causing issues on other containers/workloads
running on the same system at the same time.
This environment variable is understood by all webkit-related test scripts.
It should be accepted also by this test262 runner script.
On top of that, this patch removes the multiplication that is done
when the number of parallel jobs is not specified and its calculated
from the available cores of the system. On one hand there is no
written motivation for this multiplication behaviour, and on the other
hand there is evidence that it doesn't improve performance.
* Scripts/test262/Runner.pm:
(getProcesses):
2019-11-13 Myles C. Maxfield <mmaxfield@apple.com>
[Mac] Fix build
https://bugs.webkit.org/show_bug.cgi?id=204136
Reviewed by Alex Christensen.
Remove deprecation warnings.
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController validateMenuItem:]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
* TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:
(-[DragInfo ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[DragInfo draggedImage]): Deleted.
2019-11-13 Megan Gardner <megan_gardner@apple.com>
check-webkit-style: fix false errors for obj-c method calls in range-based for statements using colon syntax
https://bugs.webkit.org/show_bug.cgi?id=204142
Reviewed by Jonathan Bedard.
Allow for the existance of an obj-c method call in a range-based for statement that also uses colons.
Do not allow colons between square brackets to trigger the error.
Also add a test for this specific case.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_spacing):
2019-11-13 Aakash Jain <aakash_jain@apple.com>
[EWS] Parse jsc_results.json for JSC tests
https://bugs.webkit.org/show_bug.cgi?id=204090
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunJavaScriptCoreTests):
(RunJavaScriptCoreTests.start): Initialize log_observer for json.
(RunJavaScriptCoreTests.commandComplete): Parse jsc_results.json and set properties accordingly.
(RunJavaScriptCoreTests.getResultSummary): Update the build-step summary string.
(ReRunJavaScriptCoreTests):
(RunJSCTestsWithoutPatch):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestRunJavaScriptCoreTests.setUp): Added sample json files for testing.
(TestRunJavaScriptCoreTests.configureStep):
(TestRunJavaScriptCoreTests.test_single_stress_test_failure): Added unit-tests.
(TestRunJavaScriptCoreTests.test_lot_of_stress_test_failure): Ditto.
(TestRunJavaScriptCoreTests.test_masm_failure): Ditto.
(TestRunJavaScriptCoreTests.test_b3_and_stress_test_failure): Ditto.
(TestRunJavaScriptCoreTests.test_dfg_air_and_stress_test_failure): Ditto.
2019-11-13 Youenn Fablet <youenn@apple.com>
Take service worker assertions based on client processes assertion states
https://bugs.webkit.org/show_bug.cgi?id=204119
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Add tests checking service worker process assertion state.
2019-11-13 Aakash Jain <aakash_jain@apple.com>
Make webkitperl EWS robust against flakiness in webkitperl tests
https://bugs.webkit.org/show_bug.cgi?id=204155
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitPerlTests): Set haltOnFailure and flunkOnFailure to false.
(RunWebKitPerlTests.evaluateCommand): Add re-run step in case of failure.
(ReRunWebKitPerlTests):
(ReRunWebKitPerlTests.evaluateCommand): Overrided this to avoid running this step again.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestReRunJavaScriptCoreTests): Added unit-tests.
2019-11-13 Aakash Jain <aakash_jain@apple.com>
Flaky API Test TestWebKitAPI.ServiceWorkers.ThrottleCrash
https://bugs.webkit.org/show_bug.cgi?id=203734
<rdar://problem/56814638>
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: Disabled the flaky test for now.
2019-11-13 Aakash Jain <aakash_jain@apple.com>
Flaky API Test TestWebKitAPI.WebKit.ApplicationCacheDirectories
https://bugs.webkit.org/show_bug.cgi?id=203732
<rdar://problem/56814641>
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: Disabled the flaky test for now.
2019-11-13 Rob Buis <rbuis@igalia.com>
Support stale-while-revalidate cache strategy
https://bugs.webkit.org/show_bug.cgi?id=201461
Reviewed by Youenn Fablet.
Enable stale-while-revalidate for the test runner.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::websiteDataStore):
2019-11-12 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] WKWebView does not respect system spellchecking preference
https://bugs.webkit.org/show_bug.cgi?id=204100
<rdar://problem/56653808>
Reviewed by Tim Horton.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/cocoa/UIScriptControllerCocoa.h:
* DumpRenderTree/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::UIScriptControllerCocoa):
(WTR::UIScriptControllerCocoa::setContinuousSpellCheckingEnabled):
Add a new UIScriptControllerCocoa subclass for DumpRenderTree. For now, this will just contain the cross-
platform implementation of setContinuousSpellCheckingEnabled.
* DumpRenderTree/ios/UIScriptControllerIOS.h:
(WTR::UIScriptControllerIOS::UIScriptControllerIOS):
* DumpRenderTree/mac/UIScriptControllerMac.h:
(WTR::UIScriptControllerMac::UIScriptControllerMac):
Make both -IOS and -Mac subclasses inherit from UIScriptControllerCocoa.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::setContinuousSpellCheckingEnabled):
Add a new script controller method to change the platform spell checking preference during a layout test.
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
Adjust this to explicitly turn continuous spellchecking on or off based on the `shouldShowSpellCheckingDots`
test option flag, instead of toggling it on and then off when resetting state before and after the layout test.
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::setContinuousSpellCheckingEnabled):
2019-11-12 Aakash Jain <aakash_jain@apple.com>
Update unit-tests for JSC EWS
https://bugs.webkit.org/show_bug.cgi?id=204123
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestRunJavaScriptCoreTests.configureStep):
(TestRunJavaScriptCoreTests.test_success): Updated platform to mac-highsierra.
(TestRunJavaScriptCoreTests.test_failure): Ditto.
(TestRunJavaScriptCoreTests.test_remote_success): Unit-test for jsc-only platform.
(TestReRunJavaScriptCoreTests): Automatically run all unit-tests from TestRunJavaScriptCoreTests class.
2019-11-12 Diego Pino Garcia <dpino@igalia.com>
[GTK] Add 'test262-test' step to GTK and WPE build bots
https://bugs.webkit.org/show_bug.cgi?id=204063
Reviewed by Carlos Alberto Lopez Perez.
* BuildSlaveSupport/build.webkit.org-config/factories.py:
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2019-11-12 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Update W3C WebDriver imported tests.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_mozlog): Update the mozlog version and add mozterm that is ow required by mozlog.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
(WebDriverW3CExecutor.__init__): Add alternate domain for cross-origin checks.
2019-11-12 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] UIScriptController::zoomToScale not implemented
https://bugs.webkit.org/show_bug.cgi?id=180424
Reviewed by Alex Christensen.
* DumpRenderTree/PlatformWin.cmake:
* DumpRenderTree/win/UIScriptControllerWin.cpp: Added.
(WTR::UIScriptController::create):
(WTR::UIScriptControllerWin::doAsyncTask):
(WTR::UIScriptControllerWin::zoomToScale):
(WTR::UIScriptControllerWin::zoomScale const):
* DumpRenderTree/win/UIScriptControllerWin.h: Added.
(WTR::UIScriptControllerWin::UIScriptControllerWin):
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
* WebKitTestRunner/PlatformWin.cmake:
* WebKitTestRunner/win/UIScriptControllerWin.cpp: Added.
(WTR::UIScriptController::create):
(WTR::UIScriptControllerWin::doAsyncTask):
(WTR::UIScriptControllerWin::zoomToScale):
(WTR::UIScriptControllerWin::zoomScale const):
* WebKitTestRunner/win/UIScriptControllerWin.h: Added.
(WTR::UIScriptControllerWin::UIScriptControllerWin):
2019-11-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] WebDriver: implement new window command
https://bugs.webkit.org/show_bug.cgi?id=203994
Reviewed by Carlos Alberto Lopez Perez.
Add support for new window command to MiniBrowser and a test case to check the new API to unit tests.
* MiniBrowser/gtk/BrowserWindow.c:
(findActiveWindow):
(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/main.c:
(createWebViewForAutomationInWindowCallback):
(createWebViewForAutomationInTabCallback):
(automationStartedCallback):
(createWebViewForAutomationCallback): Deleted.
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
(testAutomationSessionRequestSession):
2019-11-11 Alex Christensen <achristensen@webkit.org>
Add SPI to access a WebsiteDataStore without instantiating it, and its configuration
https://bugs.webkit.org/show_bug.cgi?id=204089
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2019-11-11 Ross Kirsling <ross.kirsling@sony.com>
UTC offset for Samoa is miscalculated when !HAVE(TIMEGM)
https://bugs.webkit.org/show_bug.cgi?id=204032
Reviewed by Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
Allow environment variables to be passed to "complex" tests.
2019-11-11 Dean Jackson <dino@apple.com>
Regression r252309: API Test TestWebKitAPI._WKActivatedElementInfo.InfoForLinkAroundImage is failing consistently
https://bugs.webkit.org/show_bug.cgi?id=204058
<rdar://problem/57056000>
Unreviewed.
Remove test that looks at screen dimensions, because it fails on iPad.
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
(TestWebKitAPI::TEST):
2019-11-11 Aakash Jain <aakash_jain@apple.com>
[EWS] Use named arguments in factories.py
https://bugs.webkit.org/show_bug.cgi?id=204071
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(Factory.__init__):
(StyleFactory.__init__):
(WatchListFactory.__init__):
(BindingsFactory.__init__):
(WebKitPerlFactory.__init__):
(WebKitPyFactory.__init__):
(BuildFactory.__init__):
(TestFactory.__init__):
(JSCTestsFactory.__init__):
(WindowsFactory.__init__):
(WinCairoFactory.__init__):
(GTKFactory.__init__):
(WPEFactory.__init__):
(ServicesFactory.__init__):
2019-11-11 Aakash Jain <aakash_jain@apple.com>
EWS should retry build in case of kill-old-processes failure
https://bugs.webkit.org/show_bug.cgi?id=203858
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(KillOldProcesses.evaluateCommand): Retry the build in case of failure.
(KillOldProcesses.getResultSummary): Update the build-step summary string.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-11-09 Dean Jackson <dino@apple.com>
Clicky Orbing support.apple.com categories shows a PNG instead of the web page preview, tapping loads image asset only instead of web page
https://bugs.webkit.org/show_bug.cgi?id=204037
<rdar://55614939>
Reviewed by Simon Fraser.
New tests for a link wrapping an image, and the ordering of API and SPI.
Rename these tests so that they are much easier to filter on the command line.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(TEST):
(-[TestContextMenuAPIBeforeSPIUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuAPIBeforeSPIUIDelegate _webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuAPIBeforeSPIUIDelegate webView:contextMenuWillPresentForElement:]):
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/image.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/link-with-image.html: Added.
2019-11-08 Brady Eidson <beidson@apple.com>
WKWebView Find-in-page API.
<rdar://problem/46971112> and https://bugs.webkit.org/show_bug.cgi?id=203872
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/FindInPageAPI.mm: Added.
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView selectionRangeHasStartOffset:endOffset:]):
2019-11-08 Jonathan Bedard <jbedard@apple.com>
Simulators having trouble launching apps after booting
<rdar://problem/57032042>
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess._start): Temporarily increase timeout to help out bots.
2019-11-08 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: List failing tests for criteria
https://bugs.webkit.org/show_bug.cgi?id=203905
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/controller/api_routes.py:
(APIRoutes.__init__): Add FailureController and /failures endpoint.
* resultsdbpy/resultsdbpy/controller/failure_controller.py: Added.
(FailureController): Added FailureController object to drive /failure endpoint.
(FailureController.__init__):
(FailureController.failures): Return a json list of failures for a range.
* resultsdbpy/resultsdbpy/controller/failure_controller_unittest.py: Added.
(FailureControllerTest): Test the /failure API.
(FailureControllerTest.setup_webserver):
(FailureControllerTest.test_failures_collapsed):
(FailureControllerTest.test_unexpected_failures_collapsed):
(FailureControllerTest.test_failures):
(FailureControllerTest.test_unexpected_failures):
(FailureControllerTest.test_failure_by_time):
* resultsdbpy/resultsdbpy/model/failure_context.py: Added.
(FailureContext): Database access to tables recording test failures.
(FailureContext.TestFailuresBase):
(FailureContext.TestFailuresBase.unpack):
(FailureContext.TestFailuresByCommit): Save test failures sorted by commit.
(FailureContext.TestFailuresByStartTime): Save test failures sorted by start time.
(FailureContext.UnexpectedTestFailuresByCommit): Save unexpected test failures
sorted by commit.
(FailureContext.UnexpectedTestFailuresByStartTime): Save unexpected test failures
sorted by commit.
(FailureContext.__init__):
(FailureContext.register): Register test failures to each of the 4 tables for an upload.
(FailureContext._failures): Return a list of test failures from a table.
(FailureContext.failures_by_commit): Return a list of test failures from a table sorted
by commit.
(FailureContext.failures_by_start_time): Return a list of test failures from a table
sorted by commit.
* resultsdbpy/resultsdbpy/model/failure_context_unittest.py: Added.
(FailureContextTest):
(FailureContextTest.init_database):
(FailureContextTest.test_failures_collapsed):
(FailureContextTest.test_unexpected_failures_collapsed):
(FailureContextTest.test_failures):
(FailureContextTest.test_unexpected_failures):
* resultsdbpy/resultsdbpy/model/model.py:
(Model.__init__):
* resultsdbpy/resultsdbpy/view/templates/documentation.html: Add documentation
for the /failure endpoint.
2019-11-08 Alex Christensen <achristensen@webkit.org>
Fix flaky tests in http/tests/cache/disk-cache
https://bugs.webkit.org/show_bug.cgi?id=203822
Reviewed by Youenn Fablet.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::setCacheModel):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-11-08 Aakash Jain <aakash_jain@apple.com>
Clicking on EWS status-bubble should open the results in new tab
https://bugs.webkit.org/show_bug.cgi?id=204012
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
2019-11-06 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Return NotAllowedError immediately for UI cancellations
https://bugs.webkit.org/show_bug.cgi?id=203937
<rdar://problem/56962420>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
2019-11-08 Aakash Jain <aakash_jain@apple.com>
[ews] Prioritize builders over testers when a bot is shared over multiple queues
https://bugs.webkit.org/show_bug.cgi?id=204007
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig):
(prioritizeBuilders): Method to prioritize builder queues over tester queues.
2019-11-08 Alex Christensen <achristensen@webkit.org>
Build fix for platforms without WebRTC's SSL after r252185
https://bugs.webkit.org/show_bug.cgi?id=203934
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
The new test uses TLS with the HTTPS proxy. Don't compile it if we can't compile it.
2019-11-08 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add pointer lock permission request API
https://bugs.webkit.org/show_bug.cgi?id=203896
Reviewed by Adrian Perez de Castro.
Handle pointer lock permission requests in MiniBrowser and add a new tests case to check the new API.
* MiniBrowser/gtk/BrowserTab.c:
(pointerLockMessageTimeoutCallback):
(decidePermissionRequest):
(browserTabFinalize):
(browserTabConstructed):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewPointerLockPermissionRequest):
(beforeAll):
2019-11-07 Chris Dumez <cdumez@apple.com>
TestController may reuse a view that used window.open(), which prevents process-swapping and causes flakiness
https://bugs.webkit.org/show_bug.cgi?id=203981
Reviewed by Ryosuke Niwa.
Stop reusing WebViews that have created other WebViews (via window.open()) since this prevents process-swapping
and may therefore cause flakiness (see Bug 203965).
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::ensureViewSupportsOptionsForTest):
* WebKitTestRunner/TestController.h:
2019-11-07 Aakash Jain <aakash_jain@apple.com>
[ews] rename RunJavaScriptCoreTestsToT to RunJSCTestsWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=203959
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/steps.py:
(RunJSCTestsWithoutPatch): Renamed.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-11-07 Alex Christensen <achristensen@webkit.org>
Re-enable NSURLSession isolation after r252116
https://bugs.webkit.org/show_bug.cgi?id=203934
<rdar://problem/56921584>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(-[DataTaskIdentifierCollisionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[DataTaskIdentifierCollisionDelegate waitForMessages:]):
(-[DataTaskIdentifierCollisionDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TEST):
2019-11-07 Paulo Matos <pmatos@igalia.com>
Add support for remotes file for EWS builders
https://bugs.webkit.org/show_bug.cgi?id=203899
Reviewed by Aakash Jain.
Require to support builders that cross-compile and run tests on native machines
through the use of --remote-config-file.
* BuildSlaveSupport/ews-build/factories.py:
(Factory.__init__):
(StyleFactory.__init__):
(WatchListFactory.__init__):
* BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig):
* BuildSlaveSupport/ews-build/steps.py:
(ConfigureBuild.__init__):
(ConfigureBuild.start):
(RunJavaScriptCoreTests.start):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestRunJavaScriptCoreTests.test_remote_success):
2019-11-06 Antti Koivisto <antti@apple.com>
REGRESSION: [ iOS ] ( r251015 ) Layout Test fast/text/whitespace/pre-wrap-overflow-selection.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=203366
<rdar://problem/56580680>
Reviewed by Simon Fraser.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dump):
2019-11-06 Fujii Hironori <Hironori.Fujii@sony.com>
WEBCORE_TESTSUPPORT_EXPORT should be used only for WebCoreTestSupport, not for WebCore
https://bugs.webkit.org/show_bug.cgi?id=203876
Reviewed by Ross Kirsling.
* TestWebKitAPI/win/TestWebKitAPIPrefix.h:
* WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h:
* WebKitTestRunner/WebKitTestRunnerPrefix.h:
Define WEBCORE_TESTSUPPORT_EXPORT emtpy.
2019-11-06 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] DumpRenderTree.exe and WebKitTestRunner.exe shouldn't link with WebCoreTestSupport
https://bugs.webkit.org/show_bug.cgi?id=203879
Reviewed by Ross Kirsling.
After r252086, WinCairo DumpRenderTree.exe and
WebKitTestRunner.exe can't start because they are linked with
WinCairoRequirements DLLs unexpectedly.
DumpRenderTree.exe and WebKitTestRunner.exe are just wrapper
programs. They shouldn't link with WinCairoRequirements libs.
* DumpRenderTree/PlatformWin.cmake: Set DumpRenderTree_LIBRARIES only shlwapi.
* WebKitTestRunner/PlatformWin.cmake: Set WebKitTestRunner_LIBRARIES only shlwapi.
2019-11-06 Kate Cheney <katherine_cheney@apple.com>
Update entry in contributors.json to fix commit privileges.
* Scripts/webkitpy/common/config/contributors.json:
2019-11-06 Keith Rollin <krollin@apple.com>
Unreviewed build fix: fix TestWebKitAPI in macCatalyst, tvOS, and
watchOS builds by conditionalizing some code on HAVE_UIWEBVIEW and
HAVE_PDFKIT. Follow-up to r251976.
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/JSLockTakesWebThreadLock.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
* TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
* TestWebKitAPI/config.h:
2019-11-06 Aakash Jain <aakash_jain@apple.com>
All EWS status-bubbles shows #1 on security patches when patch is uploaded with webkit-patch --no-review
https://bugs.webkit.org/show_bug.cgi?id=203903
Reviewed by David Kilzer.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(BugzillaPatchFetcher.fetch):
2019-11-06 Aakash Jain <aakash_jain@apple.com>
[ews] Increase timeout for svn-apply
https://bugs.webkit.org/show_bug.cgi?id=203909
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
2019-11-06 Aakash Jain <aakash_jain@apple.com>
Add watchlist category for BuildSlaveSupport
https://bugs.webkit.org/show_bug.cgi?id=203900
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/config/watchlist:
2019-11-06 Philippe Normand <philn@igalia.com>
[GTK][WPE] Add libfdk-aac-dev to the install-dependencies script
https://bugs.webkit.org/show_bug.cgi?id=203812
Reviewed by Carlos Garcia Campos.
* gtk/install-dependencies:
* wpe/install-dependencies:
2019-11-06 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Implement support for Pointer Lock API
https://bugs.webkit.org/show_bug.cgi?id=202956
Reviewed by Carlos Alberto Lopez Perez.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::getGDKKeySymForKeyRef): Handle escape key.
2019-11-05 Chris Dumez <cdumez@apple.com>
[iOS] Scroll position does not get restored when doing a history navigation while the reader view is shown
https://bugs.webkit.org/show_bug.cgi?id=203871
<rdar://problem/56564603>
Reviewed by Tim Horton.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/simple-tall.html:
* TestWebKitAPI/Tests/WebKitCocoa/RestoreScrollPosition.mm: Added.
(TestWebKitAPI::TEST):
2019-11-05 Jonathan Bedard <jbedard@apple.com>
REGRESSION(r252031): layout tests fail to run in non apple ports after r252031 (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=203844
Rubber-stamped by Aakash Jain.
Remove infinite loop for Windows.
* Scripts/webkitpy/port/win.py:
(WinPort._path_to_default_image_diff):
(WinPort._path_to_image_diff): Deleted.
2019-11-05 Aakash Jain <aakash_jain@apple.com>
EWS should report test failures from clean-tree to results.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=203829
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig):
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests.__init__):
(RunWebKitTestsWithoutPatch.start):
(RunAPITestsWithoutPatch.start):
* BuildSlaveSupport/ews-build/steps_unittest.py: Added and updated unit-tests.
2019-11-05 Wenson Hsieh <wenson_hsieh@apple.com>
Native text substitutions interfere with HTML <datalist> options resulting in crash
https://bugs.webkit.org/show_bug.cgi?id=203116
<rdar://problem/49875932>
Reviewed by Tim Horton.
Add a new testing hook to wait for datalist suggestions to show up and choose the suggestion at the given index.
* DumpRenderTree/mac/UIScriptControllerMac.h:
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::activateDataListSuggestion):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::activateDataListSuggestion):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::activateDataListSuggestion):
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::isShowingDataListSuggestions const):
(WTR::UIScriptControllerMac::activateDataListSuggestion):
Dig through the view hierarchy of the NSWindow subclass used to show datalist suggestions for the table view
containing the suggestions; then, select the given row, and invoke the action on the target.
(WTR::UIScriptControllerMac::dataListSuggestionsTableView const):
2019-11-05 Daniel Bates <dabates@apple.com>
TestWebKitAPI.WebKit.DocumentEditingContext is failing on iPad
https://bugs.webkit.org/show_bug.cgi?id=203828
<rdar://problem/55854631>
Reviewed by Myles Maxfield.
Specify both a font size and line height when using Ahem as per [1]. Otherwise, text may be
rendered inconsistently. Plus, disable text-autosizing and fix viewport to make test result
consistent on both iPhone and iPad.
[1] <https://web-platform-tests.org/writing-tests/ahem.html>
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(applyStyle): Remove unused style for <iframe>s and fix up parameter name to conform to style guide.
(applyAhemStyle): Set -webkit-text-size-adjust to 100% to disable auto-sizing. Fix viewport width
and initial scale to ensure the result is the same on both iPhone and iPad. Also remove unused style
for <iframe>s and renamed parameter name to conform to style guide.
(TEST):
2019-11-05 Sihui Liu <sihui_liu@apple.com>
REGRESSION (r250754): web page using IDBIndex doesn't load occasionally
https://bugs.webkit.org/show_bug.cgi?id=203431
Reviewed by Brady Eidson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.mm: Added.
(-[IndexedDBInPageCacheMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBNotInPageCache.html: Added.
2019-11-05 Jonathan Bedard <jbedard@apple.com>
webkitpy: Build ImageDiff if it is missing (Follow-fix)
https://bugs.webkit.org/show_bug.cgi?id=183422
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/base.py:
(Port._path_to_image_diff): Use the host build directory.
* Scripts/webkitpy/port/config.py:
(Config.build_directory): Allow the caller to ignore the port argument, which will return the default
build directory for the host running the script.
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.make_port):
2019-11-05 Chris Lord <clord@igalia.com>
[WPE] WebKit.NewFirstVisuallyNonEmptyLayout* unexpected pass
https://bugs.webkit.org/show_bug.cgi?id=203846
Reviewed by Žan Doberšek.
* TestWebKitAPI/glib/TestExpectations.json:
2019-11-05 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r252031): layout tests fail to run in non apple ports after r252031
https://bugs.webkit.org/show_bug.cgi?id=203844
Reviewed by Žan Doberšek.
Since r252032 Port.check_image_diff() assumes that ImageDiff binary is built in the build path, which is not
true for all ports. This patch adds Port._path_to_default_image_diff() to be used instead of the build_path()
and overriden by ports not building the ImageDiff in the build path.
* Scripts/webkitpy/port/base.py:
(Port.check_image_diff):
(Port._path_to_default_image_diff):
(Port._path_to_image_diff):
* Scripts/webkitpy/port/gtk.py:
(GtkPort._path_to_default_image_diff):
* Scripts/webkitpy/port/win.py:
(WinPort._path_to_default_image_diff):
* Scripts/webkitpy/port/wpe.py:
(WPEPort._path_to_default_image_diff):
2019-11-05 Chris Lord <clord@igalia.com>
[WPE] Geolocation API tests are consistently passing
https://bugs.webkit.org/show_bug.cgi?id=203845
Reviewed by Žan Doberšek.
* TestWebKitAPI/glib/TestExpectations.json:
2019-11-05 youenn fablet <youenn@apple.com>
Enforce user gesture for getUserMedia in case a previous getUserMedia call was denied
https://bugs.webkit.org/show_bug.cgi?id=203362
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
(TestWebKitAPI::TEST_F):
Update test to take into account the ability to ask again for permission.
* TestWebKitAPI/Tests/WebKit/getDisplayMedia.html:
Update to make sure we notify test if internals is not available.
2019-11-04 Aakash Jain <aakash_jain@apple.com>
[ews] Perform validation of patch before retrying API and layout tests
https://bugs.webkit.org/show_bug.cgi?id=203756
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ValidatePatch.__init__): Added parameters to optionally skip certain validations.
(ValidatePatch.start): Skip certain validations based on the parameters.
(RunWebKitTests.evaluateCommand): Add a ValidatePatch step before retrying.
(ReRunWebKitTests.evaluateCommand): Ditto.
(RunAPITests.evaluateCommand): Ditto.
(ReRunAPITests.evaluateCommand): Ditto.
2019-11-04 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Guard against unexpected -[_WKWebAuthenticationPanel cancel]
https://bugs.webkit.org/show_bug.cgi?id=203830
<rdar://problem/56797134>
Reviewed by Brent Fulgham .
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(-[TestWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:]):
(TestWebKitAPI::TEST):
2019-11-04 Jonathan Bedard <jbedard@apple.com>
webkitpy: Build ImageDiff if it is missing
https://bugs.webkit.org/show_bug.cgi?id=183422
Reviewed by Alexey Proskuryakov.
ImageDiff is built with a different SDK than the rest of the WebKit
stack, and this frequently causes infrastructure failures where ImageDiff
is missing on testers. To address this, we should automatically build
ImageDiff if it is missing.
* Scripts/webkitpy/port/base.py:
(Port.check_build): Unconditionally build ImageDiff if it is missing.
(Port.check_image_diff): Use _build_path since _path_to_image_diff will
attempt to use a back-up location.
(Port._path_to_image_diff): If the provided path to ImageDiff does not
exist, use the path of the one we built.
2019-11-04 Daniel Bates <dabates@apple.com>
Add Googletest assertion support for CGRect and NSRect
https://bugs.webkit.org/show_bug.cgi?id=203817
Reviewed by Myles C. Maxfield.
Add operator== and operator<< overloads for CGRect and NSRect so that these types can be
passed to EXPECT_EQ() and other Googletest assertions.
To make use of these overloads Cocoa tests should include #import "TestCocoa.h" instead of
"Test.h". TestCocoa.h imports Test.h. With these overloads an assertion like this:
EXPECT_EQ(CGRectMake(0, 0, 23, 24), rects[0].CGRectValue);
will produce output like this when it fails:
Expected equality of these values:
CGRectMake(138, 0, 23, 24)
Which is: (origin = (x = 138, y = 0), size = (width = 23, height = 24))
rects.firstObject.CGRectValue
Which is: (origin = (x = 96, y = 0), size = (width = 16, height = 17))
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Add source files.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
Write in terms of EXPECT_EQ() now that it just works when passed CGRects.
* TestWebKitAPI/cocoa/TestCocoa.h: Added.
* TestWebKitAPI/cocoa/TestCocoa.mm: Added.
(ostreamRectCommon):
(operator<<):
(operator==):
2019-11-04 Aakash Jain <aakash_jain@apple.com>
[ews] Status bubble should be white for CANCELLED builds
https://bugs.webkit.org/show_bug.cgi?id=201204
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2019-11-04 John Wilander <wilander@apple.com>
Resource Load Statistics: Flush the shared ResourceLoadObserver when the webpage is closed by JavaScript
https://bugs.webkit.org/show_bug.cgi?id=203623
<rdar://problem/56756427>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2019-11-04 Wenson Hsieh <wenson_hsieh@apple.com>
Consolidate forEachViewInHierarchy and findAllViewsInHierarchyOfType into common helper file
https://bugs.webkit.org/show_bug.cgi?id=203777
Reviewed by Tim Horton.
* TestRunnerShared/cocoa/PlatformViewHelpers.h: Added.
* TestRunnerShared/cocoa/PlatformViewHelpers.mm: Added.
Add a new Cocoa helper file, PlatformViewHelpers, to make it easier to traverse platform view hierarchies
(NSView and UIView) for testing purposes. This is minor refactoring, before I try to create some new testing
primitives to make webkit.org/b/203116 testable.
(forEachViewInHierarchy):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::findEditableImageCanvas const):
(WTR::forEachViewInHierarchy): Deleted.
(WTR::findEditableImageCanvas): Deleted.
2019-11-04 Alex Christensen <achristensen@webkit.org>
Flaky API Test TestWebKitAPI.WebKit.UploadDirectory
https://bugs.webkit.org/show_bug.cgi?id=203652
Reviewed by Alexey Proskuryakov.
It is not important that the directory to upload does not exist before the test starts.
Make the test more robust to state left behind by previous iterations of this test by removing the check.
The important check in this test is the uploaded body size.
* TestWebKitAPI/Tests/WebKitCocoa/UploadDirectory.mm:
(TEST):
2019-11-04 Kate Cheney <katherine_cheney@apple.com>
updated email in contributors.json to match bugzilla.
* Scripts/webkitpy/common/config/contributors.json:
2019-11-04 Andy Estes <aestes@apple.com>
REGRESSION (r251623): When downloading a QuickLook file, the web view navigates to a "The URL can't be shown" error page instead of staying on the current page
https://bugs.webkit.org/show_bug.cgi?id=203790
<rdar://problem/56795440>
Reviewed by Alex Christensen.
Tested that "download" and "cancel" policy decisions for QuickLook files result in a
provisional navigation failure with error code WebKitErrorFrameLoadInterruptedByPolicyChange.
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(-[QuickLookDelegate navigationError]):
(-[QuickLookDelegate _webView:didFailNavigation:withError:userInfo:]):
(-[QuickLookDelegate webView:didFailProvisionalNavigation:withError:]):
(TEST):
2019-11-04 Peng Liu <peng.liu6@apple.com>
Cannot run WebKit layout tests on iOS devices
https://bugs.webkit.org/show_bug.cgi?id=203796
Reviewed by Jonathan Bedard.
Fix the error to parse iOS version numbers like "xx.yy".
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__):
2019-11-03 Tim Horton <timothy_horton@apple.com>
WKWebView can get stuck blank (Web Content process thinks the app is backgrounded)
https://bugs.webkit.org/show_bug.cgi?id=203774
<rdar://problem/53399054>
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm: Added.
(TEST):
(isBackground):
(createHostViewForExtensionIdentifier):
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewResizeCrash.mm: Removed.
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewStablePresentationUpdateCallback.mm: Removed.
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[WKWebView _test_waitForDidFinishNavigationWithoutPresentationUpdate]):
Merge existing WKPDFView tests into one file, and add one for this bug.
2019-11-02 Devin Rousso <drousso@apple.com>
Web Inspector: Add diagnostic logging for frontend feature usage
https://bugs.webkit.org/show_bug.cgi?id=203579
<rdar://problem/56717410>
Reviewed by Brian Burg.
Original patch by Matt Baker <mattbaker@apple.com>.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS.
2019-11-01 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.layout_tests.model
https://bugs.webkit.org/show_bug.cgi?id=203702
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.model.
* Scripts/webkitpy/layout_tests/models/test_configuration.py:
(SpecifierSorter.sort_specifiers): Convert iterator to list.
(TestConfigurationConverter.to_config_set): Use reduce from functors.
(TestConfigurationConverter.intersect_combination): Ditto.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationsModel.get_test_set_for_keyword): Use iterators in both Python 2
and Python 3.
(TestExpectationsModel._remove_from_sets): Ditto.
(TestExpectations.parse_generic_expectations): Covert iterators to lists for indexing.
(TestExpectations.parse_default_port_expectations): Ditto.
(TestExpectations.parse_override_expectations): Ditto.
(TestExpectations.remove_configuration_from_test): Use any instead of just checking the
first element in the set.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(summarize_results): Use items instead of iteritems.
2019-11-01 Devin Rousso <drousso@apple.com>
Web Inspector: Timelines: add a timeline that shows information about any recorded CSS animation/transition
https://bugs.webkit.org/show_bug.cgi?id=203651
<rdar://problem/56128726>
Reviewed by Brian Burg.
* TestWebKitAPI/Tests/WTF/Markable.cpp:
(TestWebKitAPI::TEST):
Add tests for extra utility operators.
2019-11-01 Brady Eidson <beidson@apple.com>
Promote "_getWebArchive" to API.
<rdar://problem/17317547> and https://bugs.webkit.org/show_bug.cgi?id=203767
Reviewed by Andy Estes.
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController saveAsPDF:]):
(-[BrowserWindowController saveAsWebArchive:]):
* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController saveAsWebArchive:]):
2019-11-01 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common
https://bugs.webkit.org/show_bug.cgi?id=202462
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.common.
* Scripts/webkitpy/common/find_files_unittest.py: Use full import path.
* Scripts/webkitpy/common/lru_cache_unittest.py:
(LRUCacheTest.test_size_one_pop): Convert iterator to list
* Scripts/webkitpy/common/prettypatch_unittest.py: Check for byte array explicitly.
* Scripts/webkitpy/common/read_checksum_from_png_unittest.py: Use unicode compatible
StringIO.
(ReadChecksumFromPngTest.test_read_checksum):
* Scripts/webkitpy/common/timeout_context.py:
(Timeout.__enter__): Use range instead of xrange.
2019-11-01 Tim Horton <timothy_horton@apple.com>
macCatalyst: Get TestWebKitAPI building
https://bugs.webkit.org/show_bug.cgi?id=203728
Reviewed by Alexey Proskuryakov.
* Makefile:
Only build gtest and TestWebKitAPI for macCatalyst.
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
Make use of WK_COCOA_TOUCH instead of SDK conditionals.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
Fix some #ifdefs for macCatalyst.
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm:
(-[LegacyLoadingDelegate webViewDidFinishLoad:]):
* TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
(-[AsyncPolicyDelegateForInsetTest webView:didFinishNavigation:]):
(TestWebKitAPI::TEST):
Util::runUntil wants a bool, not a BOOL.
* TestWebKitAPI/config.h:
Import WebKitLegacy.h after WebKit.h. Traditionally WebKit.h includes
WebKitLegacy.h, except in macCatalyst. Many tests depend on being able
to get WebKitLegacy.h this way.
* Scripts/webkitpy/style/checkers/sdkvariant.py:
* Scripts/webkitpy/port/factory.py:
* Scripts/webkitpy/port/mac.py:
Add a MacCatalyst port behind --maccatalyst, and do the bare minimum
required to get it working and finding the right binaries.
It inherits from Mac instead of iOS because for the purposes of
finding and running binaries, dealing with I/O, etc., these are
100% bona fide macOS products.
2019-11-01 Aakash Jain <aakash_jain@apple.com>
[ews] Improve summary string when there are flaky failures in API tests
https://bugs.webkit.org/show_bug.cgi?id=203747
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults.analyzeResults): Display pre-existing failure string string only
if there are pre-existing API test failures.
2019-11-01 Wenson Hsieh <wenson_hsieh@apple.com>
TestWebKitAPI.EditorStateTests.TypingAttributesTextAlignmentStartEnd is flaky in iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=203733
<rdar://problem/56814640>
Reviewed by Tim Horton.
Try to fix the flaky test by making EditingTestHarness more robust. Instead of checking for expected editor
state entries after the next presentation update, wait for the latest editor state entry to contain the expected
values.
* TestWebKitAPI/EditingTestHarness.mm:
(-[EditingTestHarness _execCommand:argument:expectEntries:]):
Preserve the existing log statement by printing it out once after a few seconds, if the entry is still not found
in the last known editor state.
2019-11-01 Aakash Jain <aakash_jain@apple.com>
[ews] Pass clobber-old-results parameter to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=203736
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests): Added --clobber-old-results paramter to run-webkit-tests. Also re-ordered
--no-new-test-results and --no-show-results to match with build.webkit.org configuration.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-11-01 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake] TestWebCore shouldn't link with WebCoreTestSupport
https://bugs.webkit.org/show_bug.cgi?id=203672
Reviewed by Don Olmstead.
TestWebCore doesn't need to link with WebCoreTestSupport. And, it
causes a problem for Windows because WebCoreTestSupport imports
WebCore symbols by using dllimport, however, WebCore is not a DLL.
(Bug 203663 Comment 4)
* TestWebKitAPI/CMakeLists.txt: Changed TestWebCore not to link
with WebCoreTestSupport. Changed TestWebCore to link with
WebCoreHeaderInterface instead.
2019-10-31 Jonathan Bedard <jbedard@apple.com>
REGRESSION (r251808): run-webkit-test cannot show results.html
https://bugs.webkit.org/show_bug.cgi?id=203709
<rdar://problem/56798620>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.show_results_html_file): os.devnull is a string, not a file.
2019-10-31 Matt Baker <mattbaker@apple.com>
Changed my emails list.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-31 Tim Horton <timothy_horton@apple.com>
Turn on IOSurface support in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=203026
<rdar://problem/56320993>
Reviewed by Simon Fraser.
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView):
Don't use RGB10 if we don't have it.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(TEST):
Don't allocate many megabytes on the stack.
This isn't currently a problem, but if you accidentally run the tests on
a 3x simulator it starts crashing.
2019-10-31 Tadeu Zagallo <tzagallo@apple.com>
[WebAssembly] Create a Wasm interpreter
https://bugs.webkit.org/show_bug.cgi?id=194257
<rdar://problem/44186794>
Reviewed by Saam Barati.
Add a mode that runs WebAssembly tests without the LLInt (i.e. only Air)
and update the no-air mode to also disable the LLInt tier.
* Scripts/run-jsc-stress-tests:
2019-10-31 Aakash Jain <aakash_jain@apple.com>
[ews-build] Display pre-existing API test names in the build summary
https://bugs.webkit.org/show_bug.cgi?id=199525
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults.analyzeResults): Include the names of pre-existing test failures in summary string and
limit the number of failures to display to NUM_API_FAILURES_TO_DISPLAY.
2019-10-31 Alex Christensen <achristensen@webkit.org>
Expose more WKPreferences SPI
https://bugs.webkit.org/show_bug.cgi?id=203631
<rdar://problem/56717160>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
(TEST):
2019-10-30 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] imported/mozilla/svg/text/textpath-selection.svg is still flaky
https://bugs.webkit.org/show_bug.cgi?id=203659
<rdar://problem/52124292>
Reviewed by Tim Horton.
This test still fails in some internal test runner configurations, because the iOS text selection grabber dots
sometimes show up in the actual result and not in the expectation. This still happens even after suppressing
UITextSelectionView during ref test snapshotting in r251526, since the selection grabber dots are embedded as
subviews of the text interaction container view, rather than UITextSelectionView itself, so hiding
UITextSelectionView does not affect the visibility of these grabber views (UITextRangeView's -startGrabber and
-endGrabber).
To address this, we augment the change made in r251526 to apply to the start and end grabber views as well.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage):
2019-10-31 Alex Christensen <achristensen@webkit.org>
CMake build should make WebKit framework able to be used by Safari
https://bugs.webkit.org/show_bug.cgi?id=203685
Rubber-stamped by Tim Horton.
* DumpRenderTree/PlatformMac.cmake:
2019-10-31 Aakash Jain <aakash_jain@apple.com>
[EWS] Limit API tests failures to display in the status-bubble tooltip and buildbot summary
https://bugs.webkit.org/show_bug.cgi?id=203678
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults): Define NUM_API_FAILURES_TO_DISPLAY as 10.
(AnalyzeAPITestsResults.analyzeResults): Truncate the failure string to contain 10 test failures.
2019-10-30 Peng Liu <peng.liu6@apple.com>
[Picture-in-Picture Web API] Enable the support for iOS
https://bugs.webkit.org/show_bug.cgi?id=202618
Reviewed by Jer Noble.
Enable the Picture-in-Picture API support for iOS (iPad only).
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-10-30 Alex Christensen <achristensen@webkit.org>
Prevent Mac CMake build from bit rotting
https://bugs.webkit.org/show_bug.cgi?id=203647
Rubber-stamped by Tim Horton.
* DumpRenderTree/PlatformMac.cmake:
* WebKitTestRunner/PlatformMac.cmake:
2019-10-30 Alex Christensen <achristensen@webkit.org>
WKContentRuleLists should block requests from service workers
https://bugs.webkit.org/show_bug.cgi?id=201980
<rdar://problem/55516735>
Reviewed by Chris Dumez.
NSString initWithContentsOfURL doesn't work with https URLs with certificates without a trusted root,
so I use an ephemeral NSURLSession instead so I can tell it to accept any connection, even our WebKit httpd server.
I also added an API test.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* WebKitTestRunner/mac/TestControllerMac.mm:
(-[WKTRSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(WTR::TestController::configureContentExtensionForTest):
2019-10-30 Daniel Bates <dabates@apple.com>
Add pretty printer for CompactPointerTuple
https://bugs.webkit.org/show_bug.cgi?id=203495
Reviewed by Jer Noble.
Make it easy to see the state of a CompactPointerTuple. Now we will print something like:
(WTF::CompactPointerTuple<WTF::String *, unsigned char>) $0 = { type = 7 } {
[0] = 0x00007ffeefbff220 { length = 8, contents = 'résumé' }
[1] = 7
}
for aCompactPointerTuple defined like this:
String aString { "résumé" };
CompactPointerTuple<String*, uint8_t> aCompactPointerTuple { &aString, 7 };
* lldb/lldbWebKitTester/main.cpp:
(testSummaryProviders):
* lldb/lldb_webkit.py:
(__lldb_init_module):
(__lldb_init_module.lldb_webkit):
(WTFCompactPointerTuple_SummaryProvider):
(WTFCompactPointerTupleProvider):
(WTFCompactPointerTupleProvider.__init__):
(WTFCompactPointerTupleProvider.type_as_string):
(WTFCompactPointerTupleProvider.is_human_readable_type):
The majority of the time CompactPointerTuple will be used with non-character type data. So,
I optimize for this use case and consider the integral value as more readable than than LLDB's
default summary provider that emits the character or equivalent C escape sequence.
(WTFCompactPointerTupleProvider.has_children):
(WTFCompactPointerTupleProvider.num_children):
(WTFCompactPointerTupleProvider.get_child_index):
(WTFCompactPointerTupleProvider.get_child_at_index):
(WTFCompactPointerTupleProvider.update):
* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFOptionSetProvider_aliased_flag):
(TestSummaryProviders):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_empty):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_simple):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_max_type_value):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_bool):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_empty):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_simple):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_max_type_value):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_simple_bool):
2019-10-30 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.port
https://bugs.webkit.org/show_bug.cgi?id=203489
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.port.
* Scripts/webkitpy/common/newstringio.py: Removed.
* Scripts/webkitpy/common/newstringio_unittest.py: Removed.
* Scripts/webkitpy/common/system/executive_mock.py:
(MockProcess.__init__): Ensure that stdout and stderr are byte arrays.
* Scripts/webkitpy/common/version.py:
(Version.__hash__): Add hash function for Version objects.
* Scripts/webkitpy/port/base.py:
(Port.default_baseline_search_path): Convert list to map.
(Port.diff_text): Decode for the native string type.
(Port.skipped_perf_tests): Convert filter to list.
(Port._run_script): No need to decode strings in Python 3, even if decode_output is set.
(Port.diff_text.to_raw_bytes): Deleted.
* Scripts/webkitpy/port/base_unittest.py:
(cmp): Add cmp function for Python 3 comparisons.
(PortTest.test_diff_text): Do not escape spaces.
(PortTest.test_parse_reftest_list): Write to test file explicitly.
* Scripts/webkitpy/port/builders_unittest.py: Use full import path.
* Scripts/webkitpy/port/config_standalone.py: script_dir was refering to Tools,
not Tools/Scripts.
* Scripts/webkitpy/port/config_unittest.py: Use full import path.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.show_results_html_file): Use os.devnull directly.
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_read_base64_block): Explicitly compare against byte array.
(DriverTest.test_setup_environ_base_vars): Convert iterators to lists.
* Scripts/webkitpy/port/factory.py:
(PortFactory.get.in): Imports need to use the full import path.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.default_baseline_search_path): Convert map to list.
* Scripts/webkitpy/port/leakdetector.py:
(LeakDetector._parse_leaks_output): Search byte array with byte array.
* Scripts/webkitpy/port/leakdetector_valgrind.py:
(ValgrindError.__str__): Split byte array with byte array.
(ValgrindError.error_hash): Correct regex.
(LeakDetectorValgrind._parse_leaks_output): Convert bytes to string.
(LeakDetectorValgrind.parse_and_print_leaks_detail): Standardize Python 2 and 3 sorting order.
* Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Make unit tests Python 3 compatible.
* Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator._get_trace_from_systemd): Modernize exception handling.
(GDBCrashLogGenerator.generate_crash_log): No need to decode strings in Python 3.
* Scripts/webkitpy/port/mac.py:
(MacPort.start_helper): is_ready will be a byte array.
(MacPort.stop_helper): stdin will be a byte array.
* Scripts/webkitpy/port/mock_drt_unittest.py:
(MockDRTTest.assertTest): Use unicode compatible StringIO objects.
(MockDRTTest.test_main): Ditto.
* Scripts/webkitpy/port/port_testcase.py:
(bind_mock_apple_additions.MockAppleAdditions.version_name_mapping): Use items instead of iteritems.
(PortTestCase.test_expectations_ordering): Convert iterator to list.
(PortTestCase.test_test_expectations): Ditto.
* Scripts/webkitpy/port/win.py:
(WinPort.__init__):
(WinPort.default_baseline_search_path): Convert map to list.
(WinPort.test_search_path): Ditto.
(WinPort.setup_crash_log_saving): Use items instead of iteritems.
(WinPort.restore_crash_log_saving): Ditto.
(WinPort.prevent_error_dialogs): Ditto.
(WinPort.allow_error_dialogs): Ditto.
(WinCairoPort.default_baseline_search_path): Convert map to list.
(WinCairoPort._port_specific_expectations_files): Ditto.
(FTWPort.default_baseline_search_path): Ditto.
(FTWPort._port_specific_expectations_files): Ditto.
* Scripts/webkitpy/port/win_unittest.py: Ditto.
(WinPortTest._assert_search_path): Ditto.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.default_baseline_search_path): Convert map to list.
(WPEPort._port_specific_expectations_files): Ditto.
2019-10-30 Jonathan Bedard <jbedard@apple.com>
Simulator testers are filling up
https://bugs.webkit.org/show_bug.cgi?id=203056
<rdar://problem/56344905>
Reviewed by Aakash Jain.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.tear_down): Remove some CoreSimulator temporary directories
after tearing down devices.
2019-10-30 Mark Lam <mark.lam@apple.com>
Gardening: fixing broken build.
Not reviewed.
JSON appears to not like commas at the end of the last element in an array.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-30 Chris Dumez <cdumez@apple.com>
WKFrameIsDisplayingMarkupDocument() should return true after a window.open/document.write
https://bugs.webkit.org/show_bug.cgi?id=203587
<rdar://problem/56717726>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:
(TestWebKitAPI::createNewPageThenClose):
(TestWebKitAPI::TEST):
(TestWebKitAPI::createNewPage):
* TestWebKitAPI/Tests/WebKit/window-open-then-document-open.html: Added.
2019-10-29 Andy Estes <aestes@apple.com>
[Quick Look] Clean up LegacyPreviewLoaderClients
https://bugs.webkit.org/show_bug.cgi?id=203472
Reviewed by Brady Eidson.
Updated API tests to compare data received in
-_webView:didFinishLoadForQuickLookDocumentInMainFrame: with expected data.
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(readFile):
(-[QuickLookDelegate initWithExpectedFileURL:responsePolicy:]):
(-[QuickLookDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
(-[QuickLookDelegate verifyDownload]):
(TEST):
2019-10-29 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Fix tooltip with drawer
https://bugs.webkit.org/show_bug.cgi?id=203527
Rubber-stamped by Aakash Jain.
The interaction between tooltips and drawers needs improvement, tooltips
are inconsistently under the drawer, do not treat the drawer as a boundary.
* resultsdbpy/resultsdbpy/view/static/css/tooltip.css:
(.tooltip): Use topZIndex variable.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(xAxisFromScale): Pass viewport to ToolTip.
(TimelineFromEndpoint): Ditto.
(TimelineFromEndpoint.prototype.update): Ditto.
(TimelineFromEndpoint.prototype.render): Ditto.
(TimelineFromEndpoint.prototype.render.onDotEnterFactory): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/tooltip.js:
(_ToolTip.prototype.toString): Use passed viewport instead of the document size.
(_ToolTip.prototype.setByElement): Set the viewport based on the passed viewport.
* resultsdbpy/resultsdbpy/view/templates/search.html: Define the viewport as the
content element.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
2019-10-29 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Add more information to _WKWebAuthenticationPanel
https://bugs.webkit.org/show_bug.cgi?id=202561
<rdar://problem/55973910>
Reviewed by Youenn Fablet and Brent Fulgham.
Adds new API tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(-[TestWebAuthenticationPanelUIDelegate panel]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid.html: Added.
2019-10-07 Jer Noble <jer.noble@apple.com>
Implement the Remote Playback API.
https://bugs.webkit.org/show_bug.cgi?id=162971
Reviewed by Youenn Fablet.
Enable RemotePlayback for DumpRenderTree and WebKitTestRunner.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2019-10-29 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Add fast path for String#localeCompare
https://bugs.webkit.org/show_bug.cgi?id=202676
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
2019-10-27 Wenson Hsieh <wenson_hsieh@apple.com>
Add enterkeyhint support
https://bugs.webkit.org/show_bug.cgi?id=189546
<rdar://problem/51021148>
Reviewed by Tim Horton.
Add new API tests to check the resulting UIReturnKeyType that gets set on text input traits in the UI process,
given the different values for "enterkeyhint". Also verifies that the default behaviors of search fields and
text input fields inside actionable form elements is to show "Search" or "Go" as the return key by default,
unless a different value for "enterkeyhint" is specified.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/EnterKeyHintTests.mm: Added.
(-[TestWKWebView test:enterKeyHint:returnKeyType:]):
(TestWebKitAPI::enterKeyHintTestCases):
(TestWebKitAPI::createWebViewAndInputDelegateForTesting):
(TestWebKitAPI::TEST):
2019-10-29 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r251639.
Caused flakey API failures for GetDisplayMediaTest.Constraints
Reverted changeset:
"Enforce user gesture for getUserMedia in case a previous
getUserMedia call was denied"
https://bugs.webkit.org/show_bug.cgi?id=203362
https://trac.webkit.org/changeset/251639
2019-10-29 Chris Dumez <cdumez@apple.com>
Notification permissions are not remembered for origins without port
https://bugs.webkit.org/show_bug.cgi?id=203537
<rdar://problem/55281080>
Reviewed by Brady Eidson.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/WKSecurityOrigin.cpp: Added.
(TestWebKitAPI::TEST):
2019-10-29 Kate Cheney <katherine_cheney@apple.com>
Removed duplicate email address.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-29 Kate Cheney <katherine_cheney@apple.com>
Edited email address for commiting.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-28 Kate Cheney <katherine_cheney@apple.com>
Added myself as a committer.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-28 Alex Christensen <achristensen@webkit.org>
Remove unused _WKProcessPoolConfiguration SPI
https://bugs.webkit.org/show_bug.cgi?id=203066
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
2019-10-28 Brady Eidson <beidson@apple.com>
Expose _printOperationWithPrintInfo: SPI as API
<rdar://problem/36557179> and https://bugs.webkit.org/show_bug.cgi?id=203496
Reviewed by Andy Estes.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController printWebView:]):
2019-10-28 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Show results which are missing expectations
https://bugs.webkit.org/show_bug.cgi?id=203494
<rdar://problem/56436643>
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/css/timeline.css:
(.dot.warning): Add warning dot with dark-orange color.
* resultsdbpy/resultsdbpy/view/static/js/expectations.js:
(Expectations.colorMap): Add warning.
(Expectations.failureTypes): Ditto.
(Expectations.failureTypeMap): Ditto.
(Expectations.symbolMap): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(Legend): Add warning bubble.
2019-10-28 John Wilander <wilander@apple.com>
Storage Access API: Make the API work with the experimental 3rd-party cookie blocking
https://bugs.webkit.org/show_bug.cgi?id=203428
<rdar://problem/56626949>
Reviewed by Alex Christensen.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsCallDidSetShouldDowngradeReferrerCallback):
(WTR::TestRunner::statisticsCallDidSetShouldBlockThirdPartyCookiesCallback):
Both of these were missing resets of their m_hasSet*Callback booleans.
2019-10-28 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Report more descriptive configurations for non-Apple ports
https://bugs.webkit.org/show_bug.cgi?id=203490
<rdar://problem/56658244>
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/webkitpy/port/gtk.py:
(GtkPort):
(GtkPort.configuration_for_upload): Return use GTK as the platform.
* Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest):
(GtkPortTest.test_default_upload_configuration):
* Scripts/webkitpy/port/win.py:
(WinCairoPort.configuration_for_upload): Use wincairo as the platform.
* Scripts/webkitpy/port/wpe.py:
(WPEPort):
(WPEPort.configuration_for_upload): Use WPE as the platform.
* Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest):
(WPEPortTest.test_default_upload_configuration):
2019-10-28 Aakash Jain <aakash_jain@apple.com>
[ews] Improve summary for CompileWebKit and CompileJSC build step
https://bugs.webkit.org/show_bug.cgi?id=203487
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(CompileWebKit.getResultSummary): Method to generate custom status message.
(CompileJSC.getResultSummary): Ditto.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-10-21 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Warn users when multiple NFC tags present
https://bugs.webkit.org/show_bug.cgi?id=200932
<rdar://problem/54890736>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(TestWebKitAPI::TEST):
Adds a new test for -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:].
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-multiple-tags.html: Added.
2019-10-27 Claudio Saavedra <csaavedra@igalia.com>
[GTK][WPE] Test PublicSuffix.TopPrivatelyControlledDomain is failing since r250589
https://bugs.webkit.org/show_bug.cgi?id=203193
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
(TestWebKitAPI::TEST_F): Add a test for a domain consisting only of dots.
2019-10-26 youenn fablet <youenn@apple.com>
Enforce user gesture for getUserMedia in case a previous getUserMedia call was denied
https://bugs.webkit.org/show_bug.cgi?id=203362
Reviewed by Eric Carlson.
Update test to take into account the ability to reask permission.
* TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
(TestWebKitAPI::TEST_F):
2019-10-26 Chris Lord <clord@igalia.com>
Put OffscreenCanvas behind a build flag
https://bugs.webkit.org/show_bug.cgi?id=203146
Reviewed by Ryosuke Niwa.
Put OffscreenCanvas behind a build flag and enable the runtime setting
when running tests on platforms where it's built (GTK and WPE).
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setOffscreenCanvasEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-10-25 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.checkout
https://bugs.webkit.org/show_bug.cgi?id=201956
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.common.checkout.
* Scripts/webkitpy/common/checkout/changelog.py: Import Python 3 compatible unicdoe.
* Scripts/webkitpy/common/checkout/changelog_unittest.py: Import Python 3 compatible StringIO.
* Scripts/webkitpy/common/checkout/checkout.py: Use Python 3 compatible reduce.
(Checkout._modified_files_matching_predicate): Convert iterators into lists before returning.
(Checkout.suggested_reviewers): Ditto.
* Scripts/webkitpy/common/checkout/checkout_mock.py: Use full import paths.
* Scripts/webkitpy/common/checkout/checkout_unittest.py: Use full import paths, convert
iterators into lists.
* Scripts/webkitpy/common/checkout/diff_parser_unittest.py: Use full import paths, use Python 3
compatible StringIO.
* Scripts/webkitpy/common/config/committers.py:
(Contributor.__hash__): Committers need to be hashable to be inserted into a set.
2019-10-25 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.xcode
https://bugs.webkit.org/show_bug.cgi?id=203417
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.xcode.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(ReadableBinaryFileObject.seek): Add seek function to mirror actual binary file
behavior and support plistlib.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._disambiguate_device_type): Use values instead of itervalues.
(SimulatedDeviceManager._get_device_identifier_for_type): Use items instead of iteritems.
(SimulatedDeviceManager.device_count_for_type): Use values instead of itervalues.
* Scripts/webkitpy/xcode/simulated_device_unittest.py:
(SimulatedDeviceTest.mock_host_for_simctl): Use items instead of iteritems.
(change_state_to): Explicitly use bytes to edit a binary file.
2019-10-25 Aakash Jain <aakash_jain@apple.com>
[EWS] Status page should show compiler ERRORS
https://bugs.webkit.org/show_bug.cgi?id=203418
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(BuildLogLineObserver): Class for Analyzing build logs and extracting error logs.
(CompileWebKit.start): Initialize the log observer.
(CompileWebKit):
(CompileWebKit.errorReceived): Add the error to the errors log.
2019-10-25 Matt Lewis <jlewis3@apple.com>
Rolling out r251579,r251162,r251512,r251500, and r251498 for build failures
and test failures
Unreviewed rollout.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
(-[TestWebAuthenticationPanelUIDelegate panel]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-multiple-tags.html: Removed.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid.html: Removed.
2019-10-24 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS 13] fast/forms/ios/accessory-bar-navigation.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=203294
<rdar://problem/54520848>
Reviewed by Tim Horton.
This layout test consistently fails when it is the first test to involve bringing up the keyboard that is run in
a newly created iOS simulator. This is because a software keyboard is presented when focusing the input fields
in the test, and the test expectation (which depends on the visual viewport) requires a hardware keyboard.
WebKitTestRunner already simulates the hardware keyboard being attached using the call to GraphicsServices SPI
in TestController::platformResetStateToConsistentValues. However, this was effectively a no-op in the case where
the simulated device has never (in its lifetime, even through reboots) brought up an input view. This is because
-[UIKeyboardImpl hardwareKeyboardAvailabilityChanged] is never called, due to UIInputResponderController never
having an active instance with an input view set. As a result, the automaticMinimizationEnabled property of
UIKeyboardImpl is never set to its correct initial value (which depends on GSEventIsHardwareKeyboardAttached()).
This leads to UIKeyboardImpl not automatically minimizing itself even though the hardware keyboard is attached
(but only until the next time the keyboard is shown, after a hardware keyboard availability change notification
has been sent, which occurs between every layout test).
To work around this source of flakiness, we ensure that the keyboard preference for enabling automatic
minimization has been set to @YES by the time we attempt to simulate connecting the hardware keyboard by calling
GSEventIsHardwareKeyboardAttached. Note that the extra step of writing the value to com.apple.Preferences is
necessary because logic in TextInput.framework exists that periodically wipes out any cached values for keyboard
preferences on UIInputResponderController, and then attempts to regenerate them by reading defaults in
com.apple.Preferences. However, the same logic also fails to actually update com.apple.Preferences before
reading from it, which results in a software keyboard *very* rarely appearing again when running layout tests
that don't expect to observe a software keyboard.
* WebKitTestRunner/ios/TestControllerIOS.mm:
2019-10-24 Ryosuke Niwa <rniwa@webkit.org>
Add exclusion rules to text manipulation SPI
https://bugs.webkit.org/show_bug.cgi?id=203398
<rdar://problem/56567256>
Reviewed by Wenson Hsieh.
Added tests for including & excluding content based on element names and attribute values.
Also added a test to make sure _startTextManipulationsWithConfiguration calls the completion handler
even when the _WKTextManipulationDelegate isn't set.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2019-10-25 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Report the correct flavor for leaks
https://bugs.webkit.org/show_bug.cgi?id=203413
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunWebKit1LeakTests.start):
2019-10-25 Ross Kirsling <ross.kirsling@sony.com>
test262-runner should be able to pass JSC a feature flag
https://bugs.webkit.org/show_bug.cgi?id=203301
Reviewed by Keith Miller.
* Scripts/test262/Runner.pm:
Recognize mapping from 262 features to JSC runtime options.
2019-10-25 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.checkout.scm
https://bugs.webkit.org/show_bug.cgi?id=203277
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.common.checkout.scm, add --all flag.
* Scripts/webkitpy/common/checkout/scm/detection.py: Use full import paths.
* Scripts/webkitpy/common/checkout/scm/detection_unittest.py: Ditto.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.revisions_changing_file): Convert filter iterator to list.
(Git.prepend_svn_revision): Patches need to be bytes.
* Scripts/webkitpy/common/checkout/scm/scm.py: Import unicode.
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Use full import paths,
differentiate between binary and text files, replace assertItemsEqual with sorted,
list fix regexes on byte arrays.
* Scripts/webkitpy/common/checkout/scm/stub_repository.py: Use full import paths.
* Scripts/webkitpy/common/checkout/scm/stub_repository_unittest.py: Use full import paths.
* Scripts/webkitpy/common/checkout/scm/svn.py: Use full import paths.
(SVN.diff_for_revision): Diff for revision should be byte array.
(SVN.propget): Use Python 3 compatible encoding.
2019-10-23 Ryosuke Niwa <rniwa@webkit.org>
Add a mechanism to find and manipulate text by paragraphs
https://bugs.webkit.org/show_bug.cgi?id=203286
Reviewed by Wenson Hsieh.
Added basic API tests for the new SPI.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: Added.
(-[TextManipulationDelegate init]):
(-[TextManipulationDelegate _webView:didFindItem:forFrame:]):
(-[TextManipulationDelegate items]):
(TestWebKitAPI::createItem):
2019-10-24 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r251558.
This broke internal builds
Reverted changeset:
"Add a mechanism to find and manipulate text by paragraphs"
https://bugs.webkit.org/show_bug.cgi?id=203286
https://trac.webkit.org/changeset/251558
2019-10-24 Brady Eidson <beidson@apple.com>
Expose pageZoom as API.
https://bugs.webkit.org/show_bug.cgi?id=203381
Reviewed by Andy Estes.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController toggleZoomMode:]):
(-[WK2BrowserWindowController resetZoom:]):
(-[WK2BrowserWindowController canResetZoom]):
(-[WK2BrowserWindowController currentZoomFactor]):
(-[WK2BrowserWindowController setCurrentZoomFactor:]):
2019-10-23 Ryosuke Niwa <rniwa@webkit.org>
Add a mechanism to find and manipulate text by paragraphs
https://bugs.webkit.org/show_bug.cgi?id=203286
Reviewed by Wenson Hsieh.
Added basic API tests for the new SPI.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: Added.
(-[TextManipulationDelegate init]):
(-[TextManipulationDelegate _webView:didFindItem:forFrame:]):
(-[TextManipulationDelegate items]):
(TestWebKitAPI::createItem):
2019-10-24 Brady Eidson <beidson@apple.com>
Formalize PDF snapshot API.
https://bugs.webkit.org/show_bug.cgi?id=203374
Reviewed by Tim Horton.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController saveAsPDF:]):
* TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
(TestWebKitAPI::TEST):
2019-10-24 Andy Estes <aestes@apple.com>
[Cocoa] Make it possible to convert SharedBuffer segments and data views to NSData without copying
https://bugs.webkit.org/show_bug.cgi?id=203348
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
(TestWebKitAPI::TEST_F):
2019-10-23 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS 13] imported/mozilla/svg/text/textpath-selection.svg is flaky
https://bugs.webkit.org/show_bug.cgi?id=203247
<rdar://problem/52124292>
Reviewed by Tim Horton.
Roughly 1 in 3000 runs, this test fails due to an image diff, where only the expectation or test page shows a
native selection view on iOS. Both the test and expectation create DOM selections on the page, which is then
followed by a native selection view on the page at some point in the future.
This "point in the future" depends on both WebKit implementation details (i.e. when the next remote layer tree
commit happens) as well as UIKit implementation details (for example, many methods in UITextSelectionView and
UIWKTextInteractionAssistant will schedule changes to UIView geometry using a runloop timer, instead of applying
the updates immediately). Because of the latter, it's impractical to expect native selection views on iOS to
always appear or not appear after finishing this layout test.
To mitigate this rare source of flakiness, we hide these native text selection views when snapshotting iOS
WKWebViews for the purposes of ref and pixel testing.
Note that we still have a considerable number of layout tests that inspect these native selection views on iOS,
but they work by waiting until the native selection views reach a particular state (e.g. by polling for the
number of ranged selection subviews, or the presence of selection handles, or waiting for a caret selection with
a given geometry, etc.), which ensures that they are robust against subtle changes to the timing of selection
updates in the UI process.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage):
2019-10-23 Chris Dumez <cdumez@apple.com>
WebBackForwardCache::removeEntriesMatching() may re-enter and crash
https://bugs.webkit.org/show_bug.cgi?id=203341
<rdar://problem/56553939>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-10-23 Megan Gardner <megan_gardner@apple.com>
Rename force-press-related functions to refer to context menus, and fix a former force-press test
https://bugs.webkit.org/show_bug.cgi?id=202663
<rdar://problem/52699530>
Reviewed by Dean Jackson.
Rename all relevant fuctions to more correctly reflect that this does not specifically
require a force press to activate any longer.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptContext.h:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setDidShowContextMenuCallback):
(WTR::UIScriptController::didShowContextMenuCallback const):
(WTR::UIScriptController::setDidDismissContextMenuCallback):
(WTR::UIScriptController::didDismissContextMenuCallback const):
(WTR::UIScriptController::setDidShowForcePressPreviewCallback): Deleted.
(WTR::UIScriptController::didShowForcePressPreviewCallback const): Deleted.
(WTR::UIScriptController::setDidDismissForcePressPreviewCallback): Deleted.
(WTR::UIScriptController::didDismissForcePressPreviewCallback const): Deleted.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView resetInteractionCallbacks]):
(-[TestRunnerWKWebView _didShowContextMenu]):
(-[TestRunnerWKWebView _didDismissContextMenu]):
(-[TestRunnerWKWebView _didShowForcePressPreview]): Deleted.
(-[TestRunnerWKWebView _didDismissForcePressPreview]): Deleted.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::setDidShowContextMenuCallback):
(WTR::UIScriptControllerIOS::setDidDismissContextMenuCallback):
(WTR::UIScriptControllerIOS::setDidShowForcePressPreviewCallback): Deleted.
(WTR::UIScriptControllerIOS::setDidDismissForcePressPreviewCallback): Deleted.
2019-10-23 Aakash Jain <aakash_jain@apple.com>
[EWS] Multiple builds are triggered for one patch sometimes in new EWS
https://bugs.webkit.org/show_bug.cgi?id=199417
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(BugzillaPatchFetcher.fetch): Set the flag before sending the patch to buildbot. Unset it in case of failure.
Also added additional check for sent_to_buildbot flag before processing patch.
* BuildSlaveSupport/ews-app/ews/models/patch.py:
(Patch.save_patch): Improved logging.
(Patch.set_sent_to_buildbot): Modified to accept sent_to_buildbot paramater, and set the value accordingly.
2019-10-23 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r251261.
This broke multiple tests
Reverted changeset:
"Using version 1 CFRunloopSource for faster task dispatch"
https://bugs.webkit.org/show_bug.cgi?id=202874
https://trac.webkit.org/changeset/251261
2019-10-23 Aakash Jain <aakash_jain@apple.com>
[ews] iOS-13-Simulator-WK2-Tests-EWS is failing with an KeyError exception
https://bugs.webkit.org/show_bug.cgi?id=203281
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/layout_test_failures.py:
(LayoutTestFailures.results_from_string.get_failing_tests): Gracefully handle the case of missing 'report' key.
2019-10-23 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.results
https://bugs.webkit.org/show_bug.cgi?id=202478
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/test-webkitpy-python3: Add webkitpy.results.
* Scripts/webkitpy/results/upload.py:
(Upload.Encoder.default): Use range instead of xrange.
(Upload.create_configuration): Support items iteration for Python 3.
(Upload.create_run_stats): Change iteritems to items.
(Upload.create_test_result): Ditto.
* Scripts/webkitpy/results/upload_unittest.py:
(UploadTest.Options.__init__): Change iteritems to items.
(UploadTest.normalize): Ditto.
2019-10-22 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Supply FrameInfo in -[WKUIDelegatePrivate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=202563
<rdar://problem/55973968>
Reviewed by Brent Fulgham.
Adds new test contents into existing tests.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelUIDelegate init]):
(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(-[TestWebAuthenticationPanelUIDelegate frame]):
(TestWebKitAPI::TEST):
2019-10-23 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix tvOS and watchOS engineering builds after r251377
-[UIPasteboard itemProviders] is only available on iOS.
* TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm:
(writeMultipleObjectsToPlatformPasteboard):
2019-10-23 Jonathan Bedard <jbedard@apple.com>
Python 3: 2to3 script may not be in a user's path
https://bugs.webkit.org/show_bug.cgi?id=203213
Reviewed by Dewei Zhu.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.__init__): Remove executive dependencies.
(AutoinstallImportHook._install_beautifulsoup): Use multiprocess because 2to3 sets
Some undesirable global logging state.
2019-10-23 Tim Horton <timothy_horton@apple.com>
prepare-ChangeLog should whine about not having tests in WebKit-only patches
https://bugs.webkit.org/show_bug.cgi?id=203027
Reviewed by Ryosuke Niwa.
* Scripts/prepare-ChangeLog:
(generateNewChangeLogs):
Put the "No new tests" or list of newly added tests in the deeper
of the WebCore or WebKit ChangeLogs, depending on which directories
the patch touches.
This is mostly intended to encourage tests for WebKit-only changes.
2019-10-22 Aakash Jain <aakash_jain@apple.com>
[ews] Status bubble should show previous failures if any in case patch is skipped
https://bugs.webkit.org/show_bug.cgi?id=203261
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble): Display build information from previous builds for skipped patch in
case there are multiple builds.
2019-10-22 Alex Christensen <achristensen@webkit.org>
Re-enable legacy TLS by default, keep runtime switch
https://bugs.webkit.org/show_bug.cgi?id=203253
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
(TestWebKitAPI::getWebSocketEventWebKitLegacy):
2019-10-22 Aakash Jain <aakash_jain@apple.com>
[ews] Download the build archive from master when download from S3 fails
https://bugs.webkit.org/show_bug.cgi?id=203263
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(DownloadBuiltProduct.evaluateCommand):
(DownloadBuiltProductFromMaster): Build step to download the archive from build master.
(DownloadBuiltProductFromMaster.getResultSummary): Added custom failure message.
(DownloadBuiltProductFromMaster.evaluateCommand): Overrided to ensure it doesn't use this method from base
class DownloadBuiltProduct.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2019-10-22 youenn fablet <youenn@apple.com>
Remove mayHaveServiceWorkerRegisteredForOrigin
https://bugs.webkit.org/show_bug.cgi?id=203055
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Remove obsolete test.
2019-10-22 Antti Koivisto <antti@apple.com>
operator==(Vector, Vector) should work with different inline capacities
https://bugs.webkit.org/show_bug.cgi?id=203245
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2019-10-22 Carlos Alberto Lopez Perez <clopez@igalia.com>
Add a script to run ImageDiff manually
https://bugs.webkit.org/show_bug.cgi?id=203226
Reviewed by Adrian Perez de Castro.
This allows to manually run the ImageDiff tool more easily, that
is sometimes useful when debugging problems with it.
* Scripts/run-imagediff: Added.
2019-10-21 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Thread JSGlobalObject* instead of ExecState*
https://bugs.webkit.org/show_bug.cgi?id=202392
Reviewed by Geoffrey Garen.
* DumpRenderTree/TestRunner.cpp:
2019-10-22 Dirk Schulze <krit@webkit.org>
Restore my committer status.
Uneviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-21 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org] Change dot and lengend dot use same mechanism to center text and image
https://bugs.webkit.org/show_bug.cgi?id=203216
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/css/docs.yaml:
* resultsdbpy/resultsdbpy/view/static/library/css/index.html:
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.dot *):
(.dot img, .dot .text):
(.dot>img, .dot>.text):
(.dot.small img, .dot.small .text):
(.dot.small>img, .dot.small>.text):
(.dot.medium img, .dot.medium .text):
(.dot.medium>img, .dot.medium>.text):
(.dot.large img, .dot.large .text):
(.dot.large>img, .dot.large>.text):
(.lengend>.item .dot):
(.lengend>.item .dot img, .lengend>.item .dot .text):
(.lengend>.item .dot>img, .lengend>.item .dot>.text):
(.dot.small *): Deleted.
(.dot img, .dot.small img): Deleted.
(.dot.medium *): Deleted.
(.dot.medium img): Deleted.
(.dot.large *): Deleted.
(.dot.large img): Deleted.
(.lengend>.item .dot .text): Deleted.
(.lengend>.item .dot img): Deleted.
2019-10-21 youenn fablet <youenn@apple.com>
Move service worker registration matching for navigation loads to network process
https://bugs.webkit.org/show_bug.cgi?id=203144
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
We are now creating a WebSWClientConnection whenever receiving a WebSWClientConnection message
from NetworkProcess. It is free to do so given it no longer requires sending some IPC.
Update the tests accordingly.
A future patch will remove the service worker registration bit feature and corresponding test.
2019-10-21 Simon Fraser <simon.fraser@apple.com>
TestWebKitAPI.ScrollViewScrollabilityTests.ScrollableWithOverflowHiddenAndInputView is failing on iPad simulator
https://bugs.webkit.org/show_bug.cgi?id=203053
Reviewed by Wenson Hsieh.
Make ScrollableWithOverflowHiddenAndInputView only test the results on iPhones. Test is not designed for ipad.
* TestWebKitAPI/Tests/ios/ScrollViewScrollabilityTests.mm:
(TestWebKitAPI::TEST):
2019-10-21 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Add ability to display time on bubbles
https://bugs.webkit.org/show_bug.cgi?id=203202
<rdar://problem/56436621>
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js: Add switch to show times under each bubble.
* resultsdbpy/resultsdbpy/view/templates/search.html: Correctly update timeline on callback.
2019-10-21 Dean Jackson <dino@apple.com>
Dispatch AR event on the originating anchor element
https://bugs.webkit.org/show_bug.cgi?id=203198
<rdar://55743929>
Reviewed by Simon Fraser.
Improve this test, most importantly so that it
actually works :)
Retrieve the ElementIdentifier for the <a> element,
and trigger a system preview action on it.
* TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
(-[TestSystemPreviewTriggeredHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/system-preview-trigger.html:
2019-10-21 Alex Christensen <achristensen@webkit.org>
ServiceWorker tests should use TCPServer instead of WKURLSchemeHandler
https://bugs.webkit.org/show_bug.cgi?id=203141
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[SWMessageHandlerForRestoreFromDiskTest userContentController:didReceiveScriptMessage:]):
(-[SWSchemes handledRequests]): Deleted.
(-[SWSchemes webView:startURLSchemeTask:]): Deleted.
(-[SWSchemes webView:stopURLSchemeTask:]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerTCPServer.h: Added.
(ServiceWorkerTCPServer::ServiceWorkerTCPServer):
(ServiceWorkerTCPServer::request):
(ServiceWorkerTCPServer::requestWithLocalhost):
(ServiceWorkerTCPServer::requestWithFragment):
(ServiceWorkerTCPServer::userAgentsChecked):
(ServiceWorkerTCPServer::requestWithFormat):
* TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
(-[StorageSchemes webView:startURLSchemeTask:]): Deleted.
(-[StorageSchemes webView:stopURLSchemeTask:]): Deleted.
2019-10-21 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.config
https://bugs.webkit.org/show_bug.cgi?id=202463
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.common.config to the test list.
* Scripts/webkitpy/common/config/committers.py:
(Contributor.__init__): Convert lists to maps.
(Contributor.__str__): __str__ will always return the native string type.
(Contributor.__unicode__): Use .format() string.
(CommitterList._exclusive_contributors): Convert filter to list.
(CommitterList._exclusive_committers): Ditto.
(CommitterList.contributors_by_search_string): Ditto.
* Scripts/webkitpy/common/config/committervalidator_unittest.py: Use full import paths.
* Scripts/webkitpy/common/config/contributionareas_unittest.py: Use full import paths.
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.makeArgs): Use 'in' instead of has_key.
* Scripts/webkitpy/common/config/urls_unittest.py:
* Scripts/webkitpy/common/unicode_compatibility.py:
(encode_for): Encode string for type.
* Scripts/webkitpy/thirdparty/BeautifulSoup.py: Make html5lib import auto-install compatible.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Add html5lib.
(AutoinstallImportHook._install_html5lib): Make html5lib a stand-alone installed package.
(AutoinstallImportHook._install_mechanize): Install html5lib.
(AutoinstallImportHook._install_beautifulsoup): Ditto.
2019-10-21 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Implement ClipboardItem.getType() for platform clipboard items
https://bugs.webkit.org/show_bug.cgi?id=203168
Reviewed by Tim Horton.
Add support for the new layout tests, as well as a new API test.
* DumpRenderTree/ios/UIScriptControllerIOS.h:
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::copyText):
Implement UIScriptController.copyText in WebKit1. This is used in one of the new layout tests, which passes in
WebKit1 on macOS and iOS.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard declareTypes:owner:]):
(-[LocalPasteboard addTypes:owner:]):
(-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
Adjust logic when declaring types on the platform pasteboard, such that it behaves more like the platform; when
declaring types, even if the owner doesn't change, the change count should still get bumped up by 1.
* DumpRenderTree/mac/UIScriptControllerMac.h:
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::copyText):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm: Added.
(-[TestWKWebView readClipboard]):
(createWebViewForClipboardTests):
(writeMultipleObjectsToPlatformPasteboard):
Add a new API test to verify that clipboard items contain the right data when writing multiple items (each with
different sets of types) to the platform pasteboard using native APIs.
* TestWebKitAPI/Tests/WebKitCocoa/clipboard.html: Added.
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
(-[LocalPasteboard declareTypes:owner:]):
(-[LocalPasteboard addTypes:owner:]):
(-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
2019-10-21 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.net
https://bugs.webkit.org/show_bug.cgi?id=202464
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.common.net.
* Scripts/webkitpy/common/net/credentials_unittest.py: Replace raw_input with input for Python3.
* Scripts/webkitpy/common/net/ewsserver.py:
* Scripts/webkitpy/common/net/resultsjsonparser.py:
(ParsedJSONResults.__init__): Sort results by test name.
* Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
(test_basic): Sort results by test name.
* Scripts/webkitpy/common/net/statusserver.py:
(StatusServer._fetch_url):
* Scripts/webkitpy/common/net/unittestresults_unittest.py:
2019-10-18 Aakash Jain <aakash_jain@apple.com>
EWS should have a way to retry a patch
https://bugs.webkit.org/show_bug.cgi?id=196599
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/models/build.py:
(Build): Add the retried field to keep track of whether a build is requested to be retried or not.
(Build.set_retried): Method to set the retried field.
* BuildSlaveSupport/ews-app/ews/templates/statusbubble.html: Added the 'Retry failed builds' button.
* BuildSlaveSupport/ews-app/ews/views/retrypatch.py:
(RetryPatch.post): Added a check if the build is already retried. Also, set the retried flag appropriately.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble): Updated the status-bubble to in-progress while waiting for build to be retried.
(StatusBubble._build_bubbles_for_patch): Display the retry button only if there are failed builds.
* BuildSlaveSupport/ews-app/ews/migrations/0002_build_retried.py: Added database migration.
2019-10-21 Alicia Boya García <aboya@igalia.com>
[MSE][GStreamer] Revert WebKitMediaSrc rework temporarily
https://bugs.webkit.org/show_bug.cgi?id=203078
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/style/checker.py:
2019-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Mark some more WTF unit tests as slow for GTK and WPE
* TestWebKitAPI/glib/TestExpectations.json:
2019-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Check we don't leak the WebKitWebContext in all tests
https://bugs.webkit.org/show_bug.cgi?id=202981
Reviewed by Žan Doberšek.
Also include the number of references left in leaks report.
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
(Test::~Test):
2019-10-18 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Warn users when no credentials are found
https://bugs.webkit.org/show_bug.cgi?id=203147
<rdar://problem/55931123>
Reviewed by Brent Fulgham.
Adds new tests for _WKWebAuthenticationPanelUpdateNoCredentialsFound.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-cancel.html:
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-no-credentials.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html:
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html:
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-u2f-no-credentials.html: Added.
2019-10-18 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Refactor Pasteboard::read() to take an optional item index
https://bugs.webkit.org/show_bug.cgi?id=203161
Reviewed by Tim Horton.
Add a couple of new API tests to verify that the web archive type identifier ("com.apple.webarchive") is (1)
written to the pasteboard when copying a rich text selection, and (2) is read when attempting to paste web
content.
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
2019-10-18 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.watchlist
https://bugs.webkit.org/show_bug.cgi?id=202473
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.common.watchlist.
* Scripts/webkitpy/common/watchlist/watchlist.py:
(WatchList.find_matching_definitions): Use items instead of iteritems.
* Scripts/webkitpy/common/watchlist/watchlist_unittest.py:
(WatchListTest.test_filename_definition_no_matches): Back-slash needs to be escaped.
(WatchListTest.test_filename_definition): Ditto.
(WatchListTest.test_cc_rules_simple): Ditto.
(WatchListTest.test_cc_rules_complex): Ditto.
(WatchListTest.test_cc_and_message_rules_complex): Ditto.
(WatchListTest.test_cc_and_message_rules_no_matches): Ditto.
(WatchListTest.test_more_and_less_match): Ditto.
(WatchListTest.test_complex_match): Ditto.
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:
(WatchListParserTest.test_bad_definition): Back-slash needs to be escaped.
(WatchListParserTest.test_bad_filename_regex): Ditto.
(WatchListParserTest.test_bad_more_regex): Ditto.
(WatchListParserTest.test_bad_match_type): Ditto.
(WatchListParserTest.test_match_type_typo): Ditto.
(WatchListParserTest.test_empty_cc_rule): Ditto.
(WatchListParserTest.test_cc_rule_with_invalid_email): Ditto.
(WatchListParserTest.test_cc_rule_with_secondary_email): Ditto.
(WatchListParserTest.test_empty_message_rule): Ditto.
(WatchListParserTest.test_unused_defintion): Ditto.
(WatchListParserTest.test_cc_rule_with_undefined_defintion_with_suggestion): Ditto.
2019-10-18 Raphael Kubo da Costa <rakuco@webkit.org>
Remove myself from the CMake watchlist
https://bugs.webkit.org/show_bug.cgi?id=203166
Reviewed by Aakash Jain.
* Scripts/webkitpy/common/config/watchlist:
2019-10-18 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, remove an extraneous header import after r251279
Address a post-landing review comment.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2019-10-18 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Implement AuthenticatorCancel
https://bugs.webkit.org/show_bug.cgi?id=191523
<rdar://problem/55920204>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-cancel.html: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html:
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html:
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion.html:
2019-10-18 Brian Burg <bburg@apple.com>
Cleanup: Stop setting -ApplePersistenceIgnoreState when running debug Mac WebKit
https://bugs.webkit.org/show_bug.cgi?id=203156
Reviewed by Jonathan Bedard.
This is no longer needed. The new value has been supported since 2014.
* Scripts/webkitdirs.pm:
(argumentsForRunAndDebugMacWebKitApp):
2019-10-17 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Support navigator.clipboard.read()
https://bugs.webkit.org/show_bug.cgi?id=203021
Reviewed by Ryosuke Niwa.
Make adjustments to WebKitTestRunner and DumpRenderTree to support the new layout tests. See below for more
details.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard pasteboardItems]):
Fixes an existing issue with the mock NSPasteboard used for layout tests. Currently, our logic for converting
the contents of the platform pasteboard to NSPasteboardItem simply writes the pasteboard data as-is to
NSPasteboardItems. However, these pasteboard types may be legacy pasteboard types, in which case
NSPasteboardItem will simply handle the call to `-setData:forType:` as a no-op. AppKit has logic in this
scenario to canonicalize these legacy pasteboard types to their modern counterparts, but this is absent in
DumpRenderTreePasteboard and WebKitTestRunnerPasteboard.
Address this by teaching the mock pasteboards to convert legacy types to modern types when generating platform
pasteboard items.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::copyText):
Add a new UIScriptController method to write a string to the platform pasteboard. This patch adds support for
this new testing hook on macOS and iOS, in WebKit2 (WebKitTestRunner).
* TestRunnerShared/mac/NSPasteboardAdditions.h: Copied from Tools/WebKitTestRunner/mac/UIScriptControllerMac.h.
* TestRunnerShared/mac/NSPasteboardAdditions.mm: Added.
(+[NSPasteboard _modernPasteboardType:]):
Add a helper to convert legacy pasteboard types (and dynamic UTIs that map to legacy pasteboard types) to
modern pasteboard types, suitable for writing to NSPasteboardItems on macOS.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::copyText):
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::copyText):
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
Apply the same fix for WebKitTestRunner's mock NSPasteboard.
(-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
(-[LocalPasteboard clearContents]):
Make -clearContents clear out all the contents on the mock pasteboard, instead of crashing in AppKit.
(-[LocalPasteboard declareTypes:owner:]):
(-[LocalPasteboard pasteboardItems]):
2019-10-17 Mark Lam <mark.lam@apple.com>
Use constexpr in more places and remove some unnecessary external linkage.
https://bugs.webkit.org/show_bug.cgi?id=203115
Reviewed by Yusuke Suzuki.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/IsNavigationActionTrusted.mm:
2019-10-17 Sihui Liu <sihui_liu@apple.com>
Using version 1 CFRunloopSource for faster task dispatch
https://bugs.webkit.org/show_bug.cgi?id=202874
Reviewed by Geoffrey Garen.
Fix a flaky test.
* TestWebKitAPI/Tests/WebKit/getUserMedia.html:
2019-10-17 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.net.buildbot
https://bugs.webkit.org/show_bug.cgi?id=202466
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.common.net.buildbot to the test list.
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
(Builder.url_encoded_name): Call compatible urllib quote.
(Builder.revision_build_pairs_with_results): Convert iterator to list before returning.
(Build.results_url): Call compatible urllib quote.
(BuildBot._parse_last_build_cell):renderContents needs to be decoded in Python 3.
(BuildBot._parse_current_build_cell): BeautifulSoup and bs4 render breaks differently.
(BuildBot._fetch_build_dictionary): Call compatible urllib quote.
* Scripts/webkitpy/common/net/regressionwindow.py:
(RegressionWindow.revisions): Convert range(...) to list.
2019-10-17 Aakash Jain <aakash_jain@apple.com>
[ews] status bubbles should show details from all the builds in case build is retried
https://bugs.webkit.org/show_bug.cgi?id=203117
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble): Display messages from all the builds (including retried builds) for a patch on a queue.
(StatusBubble._steps_messages_from_multiple_builds): Method to generate status using information from all the retried builds.
(StatusBubble.get_all_builds_for_queue): Method to get all the builds instead of just the latest one.
(StatusBubble.get_latest_build_for_queue): Modified to use the new get_all_builds_for_queue() method.
2019-10-17 Emilio Cobos Álvarez <emilio@crisal.io>
[GTK] Explicitly use Python 2 in jhbuild-wrapper
https://bugs.webkit.org/show_bug.cgi?id=202790
Reviewed by Adrian Perez de Castro.
jhbuildutils.py requires Python 2 for the moment, so using just
`python` fails in distros where Python 3 is the default.
* jhbuild/jhbuild-wrapper:
2019-10-17 Paulo Matos <pmatos@igalia.com>
Check values of variables before extracting index in perl
https://bugs.webkit.org/show_bug.cgi?id=202333
Reviewed by Jonathan Bedard.
If compiler doesn't properly report the host and target it was
compiled for, lacking better information we just go ahead and assume
there is no cross compilation involved.
* Scripts/webkitdirs.pm:
(isCrossCompilation):
2019-10-17 Pablo Saavedra <psaavedra@igalia.com>
Add a driver for MiniBrowser running with WPE for
benchmark_runner
https://bugs.webkit.org/show_bug.cgi?id=202994
Reviewed by Žan Doberšek.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowserwpe_driver.py: Added.
(WPEMiniBrowserDriver):
(WPEMiniBrowserDriver.launch_url):
(WPEMiniBrowserDriver.launch_driver):
2019-10-17 Carlos Alberto Lopez Perez <clopez@igalia.com>
run-buildbot-test: sqlalchemy exception when upgrading the database
https://bugs.webkit.org/show_bug.cgi?id=202927
Reviewed by Adrian Perez de Castro.
Update the version of sqlalchemy-migrate for pip used for the test.
That fixes the exception when upgrading the database.
* BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py:
2019-10-16 Andy Estes <aestes@apple.com>
[Quick Look] Test that legacy web views load previews before deciding content policy
https://bugs.webkit.org/show_bug.cgi?id=202971
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(-[QuickLookLegacyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
(TEST):
(-[QuickLookFrameLoadDelegate webView:didFinishLoadForFrame:]): Deleted.
2019-10-16 Chris Dumez <cdumez@apple.com>
Rename PageCache to BackForwardCache
https://bugs.webkit.org/show_bug.cgi?id=203048
Reviewed by Alex Christensen.
Rename PageCache to BackForwardCache for clarity and consistency with the UIProcess's WebBackForwardCache.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestRunner.cpp:
(overridePreferenceCallback):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
(setWebPreferencesForTestOptions):
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionNoCache.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionNoCache_Bundle.cpp:
(TestWebKitAPI::DOMWindowExtensionNoCache::willDisconnectDOMWindowExtensionFromGlobalObject):
(TestWebKitAPI::DOMWindowExtensionNoCache::didReconnectDOMWindowExtensionToGlobalObject):
* TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp:
(TestWebKitAPI::DidRemoveFrameFromHiearchyInBackForwardCacheTest::DidRemoveFrameFromHiearchyInBackForwardCacheTest):
(TestWebKitAPI::DidRemoveFrameFromHiearchyInBackForwardCacheTest::didCreatePage):
* TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::overridePreference):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* lldb/lldb_webkit.py:
(WebCoreFrame_SummaryProvider):
(WebCoreDocument_SummaryProvider):
(WebCoreDocumentProvider.page_cache_state):
2019-10-16 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.net.bugzilla
https://bugs.webkit.org/show_bug.cgi?id=202468
Reviewed by Stephanie Lewis.
Make the irc library we use Python 3 compatible.
* Scripts/test-webkitpy-python3: Add webkitpy.common.net.bugzilla to the test list.
* Scripts/webkitpy/thirdparty/irc/ircbot.py: Use full import paths.
* Scripts/webkitpy/thirdparty/irc/irclib.py: Fix exceptions, printing for Python 3.
(Connection._get_socket):
(ServerConnection.connect):
(ServerConnection.process_data):
(ServerConnection.disconnect):
(ServerConnection.send_raw):
(DCCConnection.connect):
(DCCConnection.listen):
(DCCConnection.disconnect):
(DCCConnection.process_data):
(DCCConnection.privmsg):
2019-10-16 John Wilander <wilander@apple.com>
Resource Load Statistics (experimental): Block all third-party cookies on websites without prior user interaction
https://bugs.webkit.org/show_bug.cgi?id=203017
<rdar://problem/56262708>
Reviewed by Alex Christensen.
These changes are test infrastructure to be able to toggle the function
through testRunner.setStatisticsShouldBlockThirdPartyCookies().
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsShouldBlockThirdPartyCookies):
(WTR::TestRunner::statisticsCallDidSetShouldBlockThirdPartyCookiesCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsShouldBlockThirdPartyCookies):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didSetShouldBlockThirdPartyCookies):
* WebKitTestRunner/TestInvocation.h:
2019-10-16 Kate Cheney <katherine_cheney@apple.com>
WKWebsiteDataStoreStatisticsResetToConsistentState() should call store.setUseITPDatabase(false)
https://bugs.webkit.org/show_bug.cgi?id=203020
<rdar://problem/56314484>
Reviewed by Chris Dumez.
Added a completion handler to setUseITPDatabase() to avoid race
conditions.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setUseITPDatabase):
2019-10-16 Fujii Hironori <Hironori.Fujii@sony.com>
DumpRenderTree should clear WTFLogChannelState::OnWithAccumulation state set by testRunner.accummulateLogsForChannel
https://bugs.webkit.org/show_bug.cgi?id=203024
Reviewed by Alex Christensen.
If a test case calls testRunner.accummulateLogsForChannel("IndexedDB"),
all subsequent IndexedDB tests also dump the log.
This is unnecessarily bloating DumpRenderTree log because
DumpRenderTree is run with --debug-rwt-logging switch on Buildbot.
Add a function to clear WTFLogChannelState::OnWithAccumulation
state, and call it for every test execution.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
Call WebCoreTestSupport::clearAllLogChannelsToAccumulate.
2019-10-16 Wenson Hsieh <wenson_hsieh@apple.com>
Remove an API test workaround that is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=203037
Reviewed by Tim Horton.
This worked around <rdar://problem/51510554> by avoiding codepaths that resulted in failure to read dropped
content from NSItemProviders on iOS. <rdar://problem/51510554> is fixed in iOS 13, so we can remove this hack.
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView initWithFrame:configuration:addToWindow:]):
(applyWorkaroundToAllowWritingAttributedStringsToItemProviders): Deleted.
2019-10-16 Pablo Saavedra <psaavedra@igalia.com>
[Tools] Add a driver for cog for benchmark_runner.py
https://bugs.webkit.org/show_bug.cgi?id=202995
Reviewed by Žan Doberšek.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_cog_driver.py: Added.
(CogBrowserDriver):
(CogBrowserDriver.launch_url):
(CogBrowserDriver.launch_driver):
(CogFdoBrowserDriver):
(CogFdoBrowserDriver.launch_url):
2019-10-16 Youenn Fablet <youenn@apple.com>
WebAudioSourceProviderAVFObjC::provideInput should set its WebAudioBufferList parameters correctly
https://bugs.webkit.org/show_bug.cgi?id=202930
<rdar://problem/56006776>
Reviewed by Eric Carlson.
Add a test that has an audio track that goes from 1 to 2 channels while being piped to a WebAudio pipeline.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(-[GUMMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/getUserMedia-webaudio.html: Added.
2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add user messages API
https://bugs.webkit.org/show_bug.cgi?id=202847
Reviewed by Adrian Perez de Castro.
Add a test to check the new API.
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(UserMessageTest::webViewUserMessageReceivedCallback):
(UserMessageTest::webContextUserMessageReceivedCallback):
(UserMessageTest::UserMessageTest):
(UserMessageTest::~UserMessageTest):
(UserMessageTest::sendMessage):
(UserMessageTest::sendMedssageToAllExtensions):
(UserMessageTest::viewUserMessageReceived):
(UserMessageTest::contextUserMessageReceived):
(UserMessageTest::waitUntilViewMessageReceived):
(UserMessageTest::waitUntilContextMessageReceived):
(readFileDescritpor):
(testWebExtensionUserMessages):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(documentLoadedCallback):
(pageMessageReceivedCallback):
(pageCreatedCallback):
(extensionMessageReceivedCallback):
(webkit_web_extension_initialize_with_user_data):
2019-10-15 Aakash Jain <aakash_jain@apple.com>
Improve summary for WebKitPerl Tests build step
https://bugs.webkit.org/show_bug.cgi?id=203006
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitPerlTests.getResultSummary): Override method to customize summary.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-10-15 Zhifei Fang <zhifei_fang@apple.com>
Tool to mark jsc test skip/enable
https://bugs.webkit.org/show_bug.cgi?id=202063
Reviewed by Keith Miller.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* Scripts/run-jsc-stress-tests:
2019-10-15 Peng Liu <peng.liu6@apple.com>
[Picture-in-Picture Web API] Implement HTMLVideoElement.requestPictureInPicture() / Document.exitPictureInPicture()
https://bugs.webkit.org/show_bug.cgi?id=201024
Reviewed by Eric Carlson.
Add configurations for Picture-in-Picture API and enable it in the test runner.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPictureInPictureAPIEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-10-15 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Rename -[WKUIDelegatePrivate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:] to -[WKUIDelegatePrivate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=202564
<rdar://problem/55974027>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): Deleted.
2019-10-15 Aakash Jain <aakash_jain@apple.com>
[ews] Use python 3 compatible way to represent octal in buildbot code
https://bugs.webkit.org/show_bug.cgi?id=202999
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/buildbot.tac:
* BuildSlaveSupport/ews-build/steps.py:
2019-10-15 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Add os version to various unix ports
https://bugs.webkit.org/show_bug.cgi?id=202955
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__): Use platform.release() to defined the os_version.
2019-10-15 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION: editing/async-clipboard/clipboard-interfaces.html is failing in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=202940
<rdar://problem/56262298>
Reviewed by Ryosuke Niwa.
Add some plumbing to support the async clipboard API experimental test option in Windows.
* DumpRenderTree/win/DumpRenderTree.cpp:
(setWebPreferencesForTestOptions):
2019-10-15 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Write more tests for _WKWebAuthenticationPanel
https://bugs.webkit.org/show_bug.cgi?id=202565
<rdar://problem/55974128>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:]):
(-[TestWebAuthenticationPanelUIDelegate init]):
(-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html: Added.
2019-10-15 Alex Christensen <achristensen@webkit.org>
Pass CORS-enabled schemes through WebProcess instead of having them NetworkProcess-global
https://bugs.webkit.org/show_bug.cgi?id=202891
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[SWMessageHandlerWithExpectedMessage userContentController:didReceiveScriptMessage:]):
Use EXPECT_WK_STREQ so I can see what is going on on EWS.
2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix several GTK tests in /WebKit2Gtk/TestUIClient crashing since r241988
This was not caused by r241988, but revealed the existing bug. We were not creating the new WebKitWebView in
UIClientTest with the related WebKitWebView. Since r241988, the new WebPageProxy drawing area is passed to
creationParameters(), but it's nullptr because the WebPageProxy hasn't been initialized yet. When using related
views, the new WebPageProxy is already initialized because it has running processes on creation.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewCreateNavigationData):
2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK test /WebKit2Gtk/TestWebViewEditor
It's failing since we delay the web process launch until the first load. Load about:blank in the test
constructor to fix it.
* TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK test /webkit/Authentication/authentication-storage after r249962
The test was still using the legacy private browsing API that is a no-op since r249962. This partch updates the
test to use a ephemeral WebView instead.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(EphemeralAuthenticationTest::setup):
(EphemeralAuthenticationTest::teardown):
(testWebViewAuthenticationEphemeral):
(testWebViewAuthenticationStorage):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK test /webkit/WebKitSettings/webkit-settings after r249962.
Stop testing WebKitSettings:enable-private-browsing.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2019-10-15 Alicia Boya García <aboya@igalia.com>
gdb webkit.py: Fix iterator error in Python3
https://bugs.webkit.org/show_bug.cgi?id=202926
Reviewed by Jonathan Bedard.
Some distros use Python3 for gdb, so the script needs to be compatible with both versions for it to work.
* gdb/webkit.py:
(WTFVectorPrinter.Iterator.__next__):
2019-10-14 Zhifei FANG <zhifei_fang@apple.com>
results.webkit.org: TypeError when evaluating empty commits
https://bugs.webkit.org/show_bug.cgi?id=202936
Reviewed by Jonathan Bedard.
*resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js: Draw empty line when invaild scales or dots state pass in
2019-10-14 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.net.bugzilla
https://bugs.webkit.org/show_bug.cgi?id=202465
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.common.net.bugzilla to the test list.
* Scripts/webkitpy/common/net/bugzilla/__init__.py: Use full import paths.
* Scripts/webkitpy/common/net/bugzilla/attachment_unittest.py: Ditto.
* Scripts/webkitpy/common/net/bugzilla/bug.py: Ditto.
(Bug.commit_revision): Dictionary sorting is no longer well defined in Python 3.
* Scripts/webkitpy/common/net/bugzilla/bug_unittest.py: Use full import paths.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py: Ditto.
(EditUsersParser.login_userid_pairs_from_edit_user_results): Return list, not an iterator.
(EditUsersParser.user_dict_from_edit_user_page): HTML_ENTITIES is logically connected to BeautifulSoup, not
BeautifulStoneSoup.
(BugzillaQueries._parse_attachment_ids_request_query): Explicitly cast date_tag to unicode.
(Bugzilla._parse_attachment_element): Legacy BeautifulSoup and bs4 Elements have different function calls.
(Bugzilla._file_object_for_upload): Use BytesIO instead of StringIO.
(Bugzilla.create_bug):
(reopen_bug): Access map as list, not iterator.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py: Use full import paths.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: Ditto.
* Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py:
(TestExpectationUpdater._update_from_generic_attachment): Use items over iteritems().
(TestExpectationUpdater._update_from_platform_specific_attachment): Ditto.
(TestExpectationUpdater.do_update): Ditto.
* Scripts/webkitpy/common/net/buildbot/buildbot.py: Use Python 2/3 compatible urllib.
* Scripts/webkitpy/common/net/credentials.py: Use import statement to force autoinstall logic.
* Scripts/webkitpy/common/net/file_uploader.py: Use Python 2/3 compatible urllib.
(FileUploader._upload_data.callback):
(FileUploader):
* Scripts/webkitpy/common/net/resultsjsonparser.py:
(JSONTestResult._tokenize): Force map() call to return a list.
* Scripts/webkitpy/common/net/web_mock.py: Use Python 2/3 compatible urllib.
* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller.install): Return True if install was required, otherwise, return False.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.__init__): Encode strings before writing them to the filesystem.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: Use Python 2/3 compatible urllib.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser): Use items over iteritems().
* Scripts/webkitpy/layout_tests/models/test_failures.py: Use Python 3 compatible Pickle library.
* Scripts/webkitpy/layout_tests/models/test_results.py: Ditto.
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_crashlog_path): Use dictionary for files.
* Scripts/webkitpy/test/main.py:
(Tester._run_tests): Update directories excluded from testing.
* Scripts/webkitpy/thirdparty/BeautifulSoup.py: Replaced.
(BeautifulSoup):Wrapper class making bs4 BeautifulSoup compatible with legacy BeautifulSoup calls.
(BeautifulStoneSoup): Ditto.
* Scripts/webkitpy/thirdparty/BeautifulSoup_legacy.py: Copied from Tools/Scripts/webkitpy/thirdparty/BeautifulSoup.py.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.__init__): Accept executive.
(AutoinstallImportHook.find_module): Add beautifulsoup.
(AutoinstallImportHook._install_beautifulsoup): bs4 must be converted via 2to3 before use in Python 3.
(AutoinstallImportHook._install): Return result from installer.
* Scripts/webkitpy/thirdparty/mock.py:
(Mock.reset_mock): Use values() instead of itervalues().
2019-10-14 Matt Mokary <mmokary@apple.com>
FindController::findString always updates foundStringMatchIndex even if match is the same as before
https://bugs.webkit.org/show_bug.cgi?id=201775
<rdar://problem/55352425>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm:
(TestWebKitAPI::TEST):
_WKFindOptionsNoIndexChange test
2019-10-14 Andy Estes <aestes@apple.com>
REGRESSION (r243682): Quick Look previews loaded from the memory cache render with the wrong content type
https://bugs.webkit.org/show_bug.cgi?id=202935
<rdar://problem/54318133>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView synchronouslyGoBack]):
(-[WKWebView synchronouslyGoForward]):
2019-10-14 Alex Christensen <achristensen@webkit.org>
REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
https://bugs.webkit.org/show_bug.cgi?id=201902
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
2019-10-14 Saam Barati <sbarati@apple.com>
Canonicalize how we prepare the prototype chain for inline caching
https://bugs.webkit.org/show_bug.cgi?id=202827
<rdar://problem/56193919>
Reviewed by Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
2019-10-14 Nikolas Zimmermann <nzimmermann@igalia.com>
Update my nickname.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-14 Nikolas Zimmermann <nzimmermann@igalia.com>
Fix Tools/Scripts/update-webkitgtk-libs build failure in 'gst-plugins-bad'
https://bugs.webkit.org/show_bug.cgi?id=202931
Reviewed by Philippe Normand.
OpenEXR dependency is not required and causes a build failure on Ubuntu
19.04 with OpenEXR 2.2.1, as described here:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1089
* gstreamer/jhbuild.modules: Disable openexr in meson build options.
2019-10-14 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Make recent=False more usable
https://bugs.webkit.org/show_bug.cgi?id=202873
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/model/configuration_context.py:
(ConfigurationContext.search_for_configuration): If no configuration is specified,
use a set of configurations defined by recent platform.
* resultsdbpy/resultsdbpy/model/configuration_context_unittest.py:
(ConfigurationContextTest.test_expired_configurations): Test that recent=False works.
2019-10-14 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed, set Adrian Perez de Castro as WebKit Reviewer
* Scripts/webkitpy/common/config/contributors.json:
2019-10-14 youenn fablet <youenn@apple.com>
Reuse existing web processes for running service workers
https://bugs.webkit.org/show_bug.cgi?id=202195
Reviewed by Chris Dumez.
Add support for enforcing a separate process for service workers.
This is useful for tests trying to crash the service worker process.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Update test to use serviceWorkerProcessCount.
Add test to check for in process and out of process service workers.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUseSeparateServiceWorkerProcess):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-10-12 Chris Dumez <cdumez@apple.com>
Back/Forward cache does not work after doing a favorite navigation
https://bugs.webkit.org/show_bug.cgi?id=202762
<rdar://problem/56126911>
Reviewed by Antti Koivisto.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-10-12 Ryosuke Niwa <rniwa@webkit.org>
requestIdleCallback cannot be enabled in DumpRenderTree on Windows
https://bugs.webkit.org/show_bug.cgi?id=202876
Reviewed by Wenson Hsieh.
Added the missing plumbing for Windows port.
* DumpRenderTree/win/DumpRenderTree.cpp:
(setWebPreferencesForTestOptions):
2019-10-11 Aakash Jain <aakash_jain@apple.com>
Update build.webkit.org basedir
https://bugs.webkit.org/show_bug.cgi?id=202856
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/buildbot.tac: Updated basedir. Also increased the
size of twistd.log files and reduced number of files for easier maintenance.
2019-10-11 Aakash Jain <aakash_jain@apple.com>
[ews] Services EWS should also run build.webkit.org unit tests
https://bugs.webkit.org/show_bug.cgi?id=202864
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(ServicesFactory.__init__): Added new RunBuildWebKitUnitTests step.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Added paths for build.webkit.org code.
(RunBuildWebKitUnitTests): Build step to run build.webkit.org unit tests.
(RunBuildWebKitUnitTests.__init__): Set workdir, timeout and logEnviron.
(RunBuildWebKitUnitTests.getResultSummary): Customize Buildbot messages for this build step.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2019-10-11 Chris Dumez <cdumez@apple.com>
Move SuspendedPage logic from WebProcessPool to new WebBackForwardCache class
https://bugs.webkit.org/show_bug.cgi?id=202660
Reviewed by Antti Koivisto.
Drop test that relied on reusing a SuspendedPage's process from a loadHTMLStringLoad (optimization).
This no longer works now that SuspendedPages are owned by their associated back/forward item because
we currently do not create a back/forward item for loadHTMLString requests. Suspending a page for a
loadHTMLString was also wasteful since there was no way to restore that page (given that there was
no WebBackForwardListItem to go back to).
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-10-11 Brian Burg <bburg@apple.com>
Remove some dead code in webkitpy's mac.py
https://bugs.webkit.org/show_bug.cgi?id=202853
Reviewed by Alexey Proskuryakov.
- Remove _build_java_test_support as it no longer does anything.
- Remove _check_port_build as it's only used to build Java test support.
- Remove unused is_mavericks() function.
- Remove a log stripping pattern that was fixed several releases ago.
* Scripts/webkitpy/port/base.py:
(Port.check_build):
(Port.check_api_test_build):
(Port._check_driver):
(Port._check_port_build): Deleted.
* Scripts/webkitpy/port/mac.py:
(MacPort.operating_system):
(MacPort.default_child_processes):
(MacPort.logging_patterns_to_strip):
(MacPort.is_mavericks): Deleted.
(MacPort._build_java_test_support): Deleted.
(MacPort._check_port_build): Deleted.
2019-10-11 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] API tests should output result summary in json format
https://bugs.webkit.org/show_bug.cgi?id=202854
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunAPITests): Output results in json format as well.
2019-10-11 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r250945.
Broke 18 Debug API tests
Reverted changeset:
"Add support for CompactPointerTuple<..., OptionSet<...>>"
https://bugs.webkit.org/show_bug.cgi?id=201316
https://trac.webkit.org/changeset/250945
2019-10-10 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] auto-installing raises exception "Inner message: global name 'urllib2' is not defined" since r250869
https://bugs.webkit.org/show_bug.cgi?id=202839
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller._download_to_stream): Replaced urllib2.urlopen with urlopen.
2019-10-10 Kenneth Russell <kbr@chromium.org>
New html5lib requires newer version of six.py than that shipped in macOS 10.14.6
https://bugs.webkit.org/show_bug.cgi?id=202830
Autoinstall six along with html5lib.
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_mechanize):
(AutoinstallImportHook._install_pytest):
2019-10-10 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Sort out certificates on Catalina
https://bugs.webkit.org/show_bug.cgi?id=202837
Unreviewed infrastructure repair.
This is a temporary strategy until we sort out our certificates on the newly
deployed Catalina bots.
* Scripts/webkitpy/results/upload.py:
(Upload.upload):
(Upload.upload_archive):
* Scripts/webkitpy/results/upload_unittest.py:
(UploadTest.test_upload):
(UploadTest.test_archive_upload):
2019-10-10 Carlos Alberto Lopez Perez <clopez@igalia.com>
W3C test importer breaks svg files.
https://bugs.webkit.org/show_bug.cgi?id=202806
Reviewed by Jonathan Bedard.
The WebKit W3C importer tries to rewrite the xml/html/css files
when importing the tests to rewrite paths and such.
The issue is that to decide if rewrite the file or not uses the
mimetype and the current code was comparing for something like
if "xml" in str(mimetype[0])
But svg files have mimetype "image/svg+xml" so the previous code
was trying to rewrite svg files, breaking them.
This patches changes that code to only rewrite if the mimetype
also contains the "application/" or "text/" string.
It also adds an info log (printed when verbose enabled) to tell
that a file has been rewritten.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.import_tests):
2019-10-10 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Serve correct exit codes when aborting
https://bugs.webkit.org/show_bug.cgi?id=202817
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/view_routes.py:
(ViewRoutes.error): Return exit code along with html string.
2019-10-10 Matt Lewis <jlewis3@apple.com>
Emergency unittest fix for wkbuild.
Unreviewed test fix.
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
2019-10-10 Aakash Jain <aakash_jain@apple.com>
Updated new Catalina queues names as per new Buildbot naming scheme
https://bugs.webkit.org/show_bug.cgi?id=202816
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json: Renamed builder name and removed spaces.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: Ditto.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Ditto.
2019-10-10 Matt Lewis <jlewis3@apple.com>
Fixing build scheduling for Catalina queues.
https://bugs.webkit.org/show_bug.cgi?id=202814
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/config.json: Drive By fix of Trigger.
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
2019-10-10 Sihui Liu <sihui_liu@apple.com>
Add a unit test for StorageQuotaManager
https://bugs.webkit.org/show_bug.cgi?id=202755
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/StorageQuotaManager.cpp: Added.
(TestWebKitAPI::TEST):
2019-10-10 Wenson Hsieh <wenson_hsieh@apple.com>
Support programmatic paste requests on macOS
https://bugs.webkit.org/show_bug.cgi?id=202773
<rdar://problem/48957166>
Reviewed by Tim Horton.
Adds new testing support to enable us to test programmatic paste requests on macOS.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
Add a few new UIScriptController methods:
- activateAtPoint(x, y, callback): used to activate content underneath at (x, y), in root view coordinates
(WKWebView on macOS, and WKContentView on iOS). On macOS, this moves the mouse to the given location and
clicks.
- chooseMenuAction(action, callback): used to select a menu item with the given title.
- dismissMenu(): dismisses the platform menu.
Note that dismissMenu and chooseMenuAction currently only work for the DOM paste menu, but could be extended in
the future to handle the system context menu.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::dismissMenu):
(WTR::UIScriptController::chooseMenuAction):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::activateAtPoint):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView initWithFrame:configuration:]):
(-[TestRunnerWKWebView _didShowMenu]):
(-[TestRunnerWKWebView _didHideMenu]):
Make these present across both macOS and iOS. On macOS, we listen for NSMenuDidBeginTrackingNotification and
NSMenuDidEndTrackingNotification to know when a menu has been shown or dismissed.
(-[TestRunnerWKWebView dismissActiveMenu]):
(-[TestRunnerWKWebView resetInteractionCallbacks]):
Make these available on both iOS and macOS. The only interaction callbacks on macOS are currently
didShowMenuCallback and didHideMenuCallback.
(-[TestRunnerWKWebView _willHideMenu]):
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::setDidShowMenuCallback):
(WTR::UIScriptControllerCocoa::setDidHideMenuCallback):
(WTR::UIScriptControllerCocoa::dismissMenu):
(WTR::UIScriptControllerCocoa::isShowingMenu const):
Move these implementations into UIScriptControllerCocoa, from UIScriptControllerIOS.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
Instead of clearing all interaction callbacks in TestControllerIOS, do it in TestControllerCocoa where it
affects both macOS and iOS.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::activateAtPoint):
(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
(WTR::UIScriptControllerIOS::chooseMenuAction):
(WTR::UIScriptControllerIOS::rectForMenuAction const):
(WTR::UIScriptControllerIOS::setDidShowMenuCallback): Deleted.
(WTR::UIScriptControllerIOS::setDidHideMenuCallback): Deleted.
(WTR::UIScriptControllerIOS::isShowingMenu const): Deleted.
Abstract rectForMenuAction and singleTapAtPointWithModifiers out into private helper methods, such that they can
be used from within other script controller methods.
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
Implement the new script controller hooks on macOS.
(WTR::UIScriptControllerMac::clearAllCallbacks):
(WTR::UIScriptControllerMac::chooseMenuAction):
(WTR::UIScriptControllerMac::activateAtPoint):
2019-10-10 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Increase default limit for test results (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=202757
Unreviewed follow-up fix.
* resultsdbpy/resultsdbpy/view/templates/commits.html: Switch default and maximum limits.
2019-10-10 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Start reporting results
https://bugs.webkit.org/show_bug.cgi?id=202639
Reviewed by Dewei Zhu.
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
(loadBuilderConfig): Load API key for results.webkit.org.
* BuildSlaveSupport/build.webkit.org-config/make_passwords_json.py:
(create_mock_slave_passwords_dict): Add mock for API key.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunWebKitTests): Start reporting to results.webkit.org.
(RunWebKitTests.__init__): Do not print the environment to hide the API key.
(RunWebKitTests.start): Add the API key to the environment.
(RunAPITests): Start reporting to results.webkit.org.
(RunAPITests.__init__): Do not print the environment to hide the API key.
(RunAPITests.start): Add the API key to the environment.
(RunPythonTests): Start reporting to results.webkit.org.
(RunPythonTests.__init__): Do not print the environment to hide the API key.
(RunPythonTests.start): Add the API key to the environment.
* Scripts/webkitpy/results/upload.py:
(Upload):
(Upload.upload): Add API_KEY, if it exists, to the request.
(Upload.upload_archive): Ditto.
2019-10-09 Russell Epstein <repstein@apple.com>
Unreviewed, rolling out r250930.
Broke watchOS Builds
Reverted changeset:
"Add support for CompactPointerTuple<..., OptionSet<...>>"
https://bugs.webkit.org/show_bug.cgi?id=201316
https://trac.webkit.org/changeset/250930
2019-10-09 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Move the mock testing entrance to Internals
https://bugs.webkit.org/show_bug.cgi?id=202560
<rdar://problem/55973793>
Reviewed by Chris Dumez.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setWebAuthenticationMockConfiguration): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-10-09 Daniel Bates <dabates@apple.com>
Add support for CompactPointerTuple<..., OptionSet<...>>
https://bugs.webkit.org/show_bug.cgi?id=201316
Reviewed by Yusuke Suzuki.
Add a test to ensure we encode and decode a compact pointer tuple correctly when an uint8_t and
a OptionSet<> as the byte value portion of the tuple.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CompactPointerTuple.cpp: Added.
(TestWebKitAPI::TEST):
2019-10-09 Simon Fraser <simon.fraser@apple.com>
Rename WheelEventTestTrigger and improve naming in related code
https://bugs.webkit.org/show_bug.cgi?id=202772
Reviewed by Tim Horton.
Change the "test trigger" terminology to "monitor wheel events"; after all, tests
call monitorWheelEvents() and callAfterScrollingCompletes(), and this is not triggering
a test.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2019-10-09 Daniel Bates <dabates@apple.com>
Add support for CompactPointerTuple<..., OptionSet<...>>
https://bugs.webkit.org/show_bug.cgi?id=201316
Reviewed by Yusuke Suzuki.
Add a test to ensure we encode and decode a compact pointer tuple correctly when an uint8_t and
a OptionSet<> as the byte value portion of the tuple.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CompactPointerTuple.cpp: Added.
(TestWebKitAPI::TEST):
2019-10-09 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Increase default limit for test results
https://bugs.webkit.org/show_bug.cgi?id=202757
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/controller/suite_controller.py:
(SuiteController): Increase DEFAULT_LIMIT.
* resultsdbpy/resultsdbpy/controller/test_controller.py:
(TestController): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/commit.js:
(_CommitBank.prototype._load): Make commit shards larger.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js: Increase default slider size.
* resultsdbpy/resultsdbpy/view/templates/commits.html: Keep smaller slider size.
2019-10-09 Dean Jackson <dino@apple.com>
Provide an alternate command-line flag for timeout in run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=202758
<rdar://problem/56124032>
Reviewed by Tim Horton.
I always get the flag "--time-out-ms" wrong.
Everywhere else we use the single-word version of "timeout", including
the documentation for --time-out-ms!
Add an alternate that is just "--timeout", and update the documentation
to mention it is measured in milliseconds.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
2019-10-09 youenn fablet <youenn@apple.com>
Remove testRunner.setWebRTCUnifiedPlanEnabled
https://bugs.webkit.org/show_bug.cgi?id=202700
Reviewed by Eric Carlson.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-10-09 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r250597): [GTK][WPE] 2.27.1 shows HTML content as text/plain in custom protocols when passing a charset in content type
https://bugs.webkit.org/show_bug.cgi?id=202633
Reviewed by Žan Doberšek.
Add a test case.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextURIScheme):
2019-10-08 Jiewen Tan <jiewen_tan@apple.com>
Partially undo r250811
https://bugs.webkit.org/show_bug.cgi?id=202715
<rdar://problem/56084287>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKit/navigation-client-default-crypto.html:
Modified to crash if SerializedScriptValue doesn't wrap CryptoKey objects.
2019-10-08 Jonathan Bedard <jbedard@apple.com>
REGRESSION (r250375): [old EWS] JSC EWS is always marking Patches as success
https://bugs.webkit.org/show_bug.cgi?id=202419
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/common/system/executive.py:
(Executive._run_command_with_teed_output): Return exit code.
* Scripts/webkitpy/common/system/executive_unittest.py:
(ExecutiveTest.test_run_command_with_bad_command): Test that exceptions are raised
For non-zero exit codes.
2019-10-08 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support to auto-importer
https://bugs.webkit.org/show_bug.cgi?id=201955
Reviewed by Aakash Jain.
* Scripts/test-webkitpy-python3: Auto-install everything.
* Scripts/webkitpy/common/system/autoinstall.py: Import urlopen and urlparse for Python3.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Update function definition for Python3.
(AutoinstallImportHook._install_mechanize): Use Python 2/3 compatible version of mechanize.
(AutoinstallImportHook._install_requests): Update urllib3 and requests version.
(AutoinstallImportHook._install_coverage): Use Python 2/3 compatible version of coverage.
(AutoinstallImportHook.greater_than_equal_to_version): Use range instead of xrange.
(AutoinstallImportHook._install_selenium): Update urllib3 version.
(AutoinstallImportHook.install_chromedriver):
(AutoinstallImportHook.install_geckodriver):
(AutoinstallImportHook.get_latest_pypi_url):
(AutoinstallImportHook.install_binary):
* Scripts/webkitpy/thirdparty/__init___unittest.py:
(ThirdpartyTest):
(ThirdpartyTest.test_import_hook): Deleted.
2019-10-08 Yury Semikhatsky <yurys@chromium.org>
Restore my committer status.
Uneviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-08 Kate Cheney <katherine_cheney@apple.com>
Implement Telemetry and Dumping Routines for SQLite backend (195088)
https://bugs.webkit.org/show_bug.cgi?id=195088
<rdar://problem/54213407>
Reviewed by John Wilander.
Updated the current testing for telemetry which only tested 3
statistics. With this patch it now tests 10 statistics.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsDidRunTelemetryCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-10-08 Timothy Hatcher <timothy@apple.com>
Copying white text from dark mode WebKit apps and pasting in a light mode app results in white (invisible) text.
https://bugs.webkit.org/show_bug.cgi?id=202662
rdar://problem/48677354
Reviewed by Megan Gardner.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/CopyRTF.mm: Added.
(readRTFDataFromPasteboard):
(copyAttributedStringFromHTML):
(checkColor):
(TEST):
2019-10-08 Brady Eidson <beidson@apple.com>
Service Worker Fetch events should time out.
https://bugs.webkit.org/show_bug.cgi?id=202188
Reviewed by Alex Christensen.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setServiceWorkerFetchTimeout):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::setServiceWorkerFetchTimeoutForTesting):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-10-08 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r250784.
Broke running layout tests.
Reverted changeset:
"results.webkit.org: Start reporting results"
https://bugs.webkit.org/show_bug.cgi?id=202639
https://trac.webkit.org/changeset/250784
2019-10-08 Matt Lewis <jlewis3@apple.com>
Make iPhone simulators pass --iPhone-simulator instead of --iOS
https://bugs.webkit.org/show_bug.cgi?id=202701
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(appendCustomTestingFlags):
2019-10-08 Aakash Jain <aakash_jain@apple.com>
[ews-build] Do not print worker environment variables in each build step [part 3]
https://bugs.webkit.org/show_bug.cgi?id=202698
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunJavaScriptCoreTests.__init__): Disabled logging of environment variables.
(ExtractTestResults.__init__): Ditto.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-10-08 Matt Lewis <jlewis3@apple.com>
Fixing the triggerable templates in the config for catalina.
https://bugs.webkit.org/show_bug.cgi?id=202652
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2019-10-07 Ryosuke Niwa <rniwa@webkit.org>
Add IDL for requestIdleCallback
https://bugs.webkit.org/show_bug.cgi?id=202653
Reviewed by Geoffrey Garen.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
2019-10-07 Jiewen Tan <jiewen_tan@apple.com>
Only wrapping CryptoKeys for IDB during serialization
https://bugs.webkit.org/show_bug.cgi?id=202500
<rdar://problem/52445927>
Reviewed by Chris Dumez.
Modifies IndexedDB.StructuredCloneBackwardCompatibility test to include CryptoKeys.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibility.mm:
(-[StructuredCloneBackwardCompatibilityNavigationDelegate _webCryptoMasterKeyForWebView:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3:
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-shm:
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-wal:
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibilityRead.html:
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibilityWrite.html:
2019-10-07 Dean Jackson <dino@apple.com>
Various filter-build-webkit updates
https://bugs.webkit.org/show_bug.cgi?id=202558
Reviewed by Tim Horton.
Add rules for:
- RuleScriptExecution
- tapi
- plutil
- A postprocessing ANGLE script
- "Prepare build"
- Signing Identity
* Scripts/filter-build-webkit:
2019-10-07 Saam Barati <sbarati@apple.com>
Allow OSR exit to the LLInt
https://bugs.webkit.org/show_bug.cgi?id=197993
Reviewed by Tadeu Zagallo.
* Scripts/run-jsc-stress-tests:
2019-10-07 Kate Cheney <katherine_cheney@apple.com>
Domain relationships in the ITP Database should be inserted in a single query and ignore repeat insert attempts. (202604)
https://bugs.webkit.org/show_bug.cgi?id=202604
<rdar://problem/55995831>
Reviewed by Chris Dumez.
Updates to testing infrastructure to test successful list-merging of
top domains into the ITP SQLite database and test against repeat
inserts.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsMergeStatistic):
(WTR::TestRunner::isStatisticsHasHadUserInteraction):
(WTR::TestRunner::isStatisticsOnlyInDatabaseOnce):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsMergeStatistic):
(WTR::TestController::isStatisticsOnlyInDatabaseOnce):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-10-07 Matt Lewis <jlewis3@apple.com>
Bring up queues for Catalina
https://bugs.webkit.org/show_bug.cgi?id=202652
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2019-10-07 Antoine Quint <graouts@apple.com>
Crash in WebKitTestRunnerApp: invocation function for block in WTR::UIScriptControllerIOS::sendEventStream
https://bugs.webkit.org/show_bug.cgi?id=202646
<rdar://problem/54576522>
Reviewed by Tim Horton.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::sendEventStream):
2019-10-07 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Start reporting results
https://bugs.webkit.org/show_bug.cgi?id=202639
Reviewed by Dewei Zhu.
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
(loadBuilderConfig): Load API key for results.webkit.org.
* BuildSlaveSupport/build.webkit.org-config/make_passwords_json.py:
(create_mock_slave_passwords_dict): Add mock for API key.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunWebKitTests): Start reporting to results.webkit.org.
(RunWebKitTests.__init__): Do not print the environment to hide the API key.
(RunWebKitTests.start): Add the API key to the environment.
(RunAPITests): Start reporting to results.webkit.org.
(RunAPITests.__init__): Do not print the environment to hide the API key.
(RunAPITests.start): Add the API key to the environment.
(RunPythonTests): Start reporting to results.webkit.org.
(RunPythonTests.__init__): Do not print the environment to hide the API key.
(RunPythonTests.start): Add the API key to the environment.
* Scripts/webkitpy/results/upload.py:
(Upload):
(Upload.upload): Add API_KEY, if it exists, to the request.
(Upload.upload_archive): Ditto.
2019-10-07 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r250750.
Reverting change as this broke interal test over the weekend.
Reverted changeset:
"Allow OSR exit to the LLInt"
https://bugs.webkit.org/show_bug.cgi?id=197993
https://trac.webkit.org/changeset/250750
2019-10-07 youenn fablet <youenn@apple.com>
[iOS] Unmuting capture of a page is not working
https://bugs.webkit.org/show_bug.cgi?id=202627
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm: Added.
(-[GetUserMediaCaptureUIDelegate _webView:requestMediaCaptureAuthorization:decisionHandler:]):
(-[GetUserMediaCaptureUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(-[GetUserMediaTestView haveStream:]):
(TestWebKitAPI::waitUntilCaptureState):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/getUserMedia.html:
2019-10-07 Philippe Normand <pnormand@igalia.com>
[GStreamer][JHBuild] Update to 1.16.1
https://bugs.webkit.org/show_bug.cgi?id=202619
Reviewed by Žan Doberšek.
* flatpak/org.webkit.CommonModules.yaml:
* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-bad-do-not-retry-downloads-during-shutdown.patch: Removed.
* gstreamer/patches/gst-plugins-good-glibc-2.30-compat.patch: Removed.
* gstreamer/patches/gst-plugins-good-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch: Removed.
2019-10-04 Saam Barati <sbarati@apple.com>
Allow OSR exit to the LLInt
https://bugs.webkit.org/show_bug.cgi?id=197993
Reviewed by Tadeu Zagallo.
* Scripts/run-jsc-stress-tests:
2019-10-04 Matt Lewis <jlewis3@apple.com>
Fix iPad testers platform for downloading build product and fixing tests to run
https://bugs.webkit.org/show_bug.cgi?id=202365
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json: Added device_model.
* BuildSlaveSupport/build.webkit.org-config/factories.py: Added device_model property.
(Factory.__init__):
(BuildFactory.__init__):
(TestFactory.__init__):
(BuildAndTestFactory.__init__):
(BuildAndTestLLINTCLoopFactory.__init__):
(BuildAndTest32bitJSCFactory.__init__):
(BuildAndRemoteJSCTestsFactory.__init__):
(TestWebKit1LeaksFactory.__init__):
(TestJSCFactory.__init__):
(Test262Factory.__init__):
(BuildAndPerfTestFactory.__init__):
(DownloadAndPerfTestFactory.__init__):
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Added device_model to loaded properties.
(loadBuilderConfig):
* BuildSlaveSupport/build.webkit.org-config/steps.py: Added ability to run based on device_model to
WebKit Tests and API tests for iPad and iPhone simulators.
(ConfigureBuild.__init__):
(ConfigureBuild.start):
(appendCustomTestingFlags):
(RunWebKitTests.start):
(RunAPITests.start):
2019-10-04 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Remove percentages from bubbles
https://bugs.webkit.org/show_bug.cgi?id=202591
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(inPlaceCombine): Add 'worst' key to combined results.
(TimelineFromEndpoint.constructor): Use the 'worst' key to populate the tag
instead of a percentage.
2019-10-04 Aakash Jain <aakash_jain@apple.com>
[EWS] Assign webkit-misc to various queues
https://bugs.webkit.org/show_bug.cgi?id=202584
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json:
2019-10-03 Aakash Jain <aakash_jain@apple.com>
[ews] wincairo queue should use del instead of rm command (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=202477
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(CleanUpGitIndexLock.start): Use regular 'rm' command on windows as it use cygwin.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestCleanUpGitIndexLock.test_success_windows): Added unit-test for windows.
2019-10-04 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Implement _WKWebAuthenticationPanel SPI
https://bugs.webkit.org/show_bug.cgi?id=202559
<rdar://problem/55932094>
Reviewed by Brent Fulgham.
This patch adds a very limited test case to _WKWebAuthenticationPanel.
Bug 202560 and Bug 202565 will follow up to write more tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: Added.
(-[TestWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:]):
(-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion.html: Added.
* WebKitTestRunner/TestController.cpp:
(WTR::runWebAuthenticationPanel):
(WTR::TestController::createWebViewWithOptions):
2019-10-04 Alex Christensen <achristensen@webkit.org>
Move WKProcessPool._registerURLSchemeServiceWorkersCanHandle to _WKWebsiteDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=202553
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
2019-10-04 Alex Christensen <achristensen@webkit.org>
Simplify sandbox enabling macros
https://bugs.webkit.org/show_bug.cgi?id=202536
Reviewed by Brent Fulgham.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-10-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Print the revision number on command "--version" of the MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=202581
Reviewed by Carlos Garcia Campos.
When WebKit its build from source repository instead of a tarball
we can print the SVN revision to be more precise about the version
of WebKit when the option --version is passed to the MiniBrowser.
* MiniBrowser/gtk/main.c:
(main):
* MiniBrowser/wpe/main.cpp:
(main):
2019-10-04 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK distcheck
* gtk/manifest.txt.in: Add Source/WebKit/Resources/gtk to the tarball.
2019-10-03 Per Arne Vollan <pvollan@apple.com>
REGRESSION(249649): Unable to open local files in MiniBrowser on macOS
https://bugs.webkit.org/show_bug.cgi?id=201798
Reviewed by Brent Fulgham.
Added API test WKWebView.LoadFileWithLoadRequest.
* TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm:
2019-10-03 Jonathan Bedard <jbedard@apple.com>
Add myself to various tools watchlists
https://bugs.webkit.org/show_bug.cgi?id=202532
Reviewed by Aakash Jain.
* Scripts/webkitpy/common/config/watchlist: Add myself to the watchlist of
PerformanceTests, SVNScripts, webkitperl and webkitpy.
2019-10-03 Jiewen Tan <jiewen_tan@apple.com>
Support googleLegacyAppidSupport extension
https://bugs.webkit.org/show_bug.cgi?id=202427
<rdar://problem/55887473>
Reviewed by Brent Fulgham.
Adds an API test for googleLegacyAppidSupport extension.
* TestWebKitAPI/Tests/WebCore/FidoTestData.h:
* TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp:
(TestWebKitAPI::constructMakeCredentialRequest):
(TestWebKitAPI::constructMakeCredentialRequestWithGoogleLegacyAppidSupport):
(TestWebKitAPI::TEST):
2019-10-03 Thibault Saunier <tsaunier@igalia.com>
REGRESSION(r249428): [GStreamer] VP9 video rendered green
https://bugs.webkit.org/show_bug.cgi?id=201422
Adding patches in -base to fix the issue.
Reviewed by Philippe Normand.
* gstreamer/jhbuild.modules:
* gstreamer/patches/base-0001-glupload-Add-VideoMetas-and-GLSyncMeta-to-the-raw-up.patch: Added.
2019-10-03 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Make PSON optional
https://bugs.webkit.org/show_bug.cgi?id=200967
Reviewed by Michael Catanzaro.
Enable PSON in MiniBrowser and unit tests. Also add more tests to page-id to check that we can still talk to the
right web process after cross-site history navigation.
* MiniBrowser/gtk/main.c:
(main):
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebExtensionPageID):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
2019-10-03 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add WebKitWebView:page-id property
https://bugs.webkit.org/show_bug.cgi?id=201642
Reviewed by Michael Catanzaro.
Add a test case to check the new property.
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(checkTitle):
(testWebExtensionGetTitle):
(webViewPageIDChanged):
(testWebExtensionPageID):
(beforeAll):
2019-10-02 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Only automatically search when multiple lines are pasted
https://bugs.webkit.org/show_bug.cgi?id=202496
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/search.js:
(SearchBar): If only a single line has been pasted, do not automatically dispatch
the search.
2019-10-02 Jonathan Bedard <jbedard@apple.com>
Python 3: Add test-webkitpy for Python 3 (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=201954
Unreviewed follow-up fix.
* Scripts/test-webkitpy-python3: Add copyright.
2019-10-02 Thibault Saunier <tsaunier@igalia.com>
[GSTreamer] Let playbin handle redirects for us when appropriate
https://bugs.webkit.org/show_bug.cgi?id=195326
Added required patche in GStreamer
Reviewed by Xabier Rodriguez-Calvar.
* gstreamer/patches/base-0001-playbin-Handle-error-message-with-redirection-indica.patch: Added.
* gstreamer/patches/good-0001-qtdemux-Specify-REDIRECT-information-in-error-messag.patch: Added.
2019-10-01 Aakash Jain <aakash_jain@apple.com>
[ews] Add API endpoint to retry failed builds for a patch
https://bugs.webkit.org/show_bug.cgi?id=202424
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/urls.py: Added url mapping for /retry.
* BuildSlaveSupport/ews-app/ews/views/retrypatch.py: Added.
(RetryPatch.get): Display the web-form to retry the patch. Retry button which will be added soon will
use this form.
(RetryPatch.post): Handle the post request and retry the patch.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble.find_failed_builds_for_patch): Method to find failed builds for a patch.
* BuildSlaveSupport/ews-app/ews/templates/retry.html: Added, similar to submittoews.html. This
allows to retry a patch through a web-form as well.
2019-10-02 Kate Cheney <katherine_cheney@apple.com>
Updated resource load statistics are never merged into the SQLite Database backend (202372).
https://bugs.webkit.org/show_bug.cgi?id=202372
<rdar://problem/55854542>
Reviewed by Brent Fulgham.
Added testing functionality to the mergeStatistics() function of the
SQLite backend.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsMergeStatistic):
(WTR::TestRunner::statisticsCallDidSetMergeStatisticCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsMergeStatistic):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didMergeStatistic):
* WebKitTestRunner/TestInvocation.h:
2019-10-02 Aakash Jain <aakash_jain@apple.com>
[ews] windows or wincairo queue should use del instead of rm command
https://bugs.webkit.org/show_bug.cgi?id=202477
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(CleanUpGitIndexLock.start): Use 'del' command instead of rm for windows and wincairo.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestCleanUpGitIndexLock.test_success_wincairo): Added unit-test.
2019-10-02 youenn fablet <youenn@apple.com>
Add a test to check the case of launching two service worker processes shortly one after the other
https://bugs.webkit.org/show_bug.cgi?id=202450
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2019-10-02 Aakash Jain <aakash_jain@apple.com>
[ews] Dedicate a bot for macOS-High-Sierra-Debug-Build-EWS queue
https://bugs.webkit.org/show_bug.cgi?id=202469
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json: Dedicate ews112 to macOS debug builder queue.
2019-10-01 Jonathan Bedard <jbedard@apple.com>
Python 3: Add test-webkitpy for Python 3
https://bugs.webkit.org/show_bug.cgi?id=201954
Reviewed by Aakash Jain.
* Scripts/test-webkitpy-python3: Added.
2019-10-02 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Stop using legacy custom protocol implementation
https://bugs.webkit.org/show_bug.cgi?id=202407
Reviewed by Žan Doberšek.
Remove the tests to check failure after committed, because it's not possible to test it with current code.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextURIScheme):
2019-10-01 Alexey Shvayka <shvaikalesh@gmail.com>
[win-ews] No such file or directory: u'/cygdrive/C/cygwin/home/buildbot/WebKit/WebKitBuild/Release/bin32/layout-test-results/pywebsocket.ws.log-out.txt'
https://bugs.webkit.org/show_bug.cgi?id=188640
Reviewed by Alex Christensen.
1. Properly shutdown WebSocket server so that port 8880 is released.
2. Prevent failure of WebSocket tests when launched in freshly cloned repository.
* Scripts/new-run-webkit-websocketserver:
(main): Tweak import and use class constants of PyWebSocket directly.
* Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket._prepare_config): Create test output directory if it doesn't exist.
2019-10-01 Alex Christensen <achristensen@webkit.org>
Progress towards a functioning CMake build on Mac
https://bugs.webkit.org/show_bug.cgi?id=202443
Rubber-stamped by Tim Horton.
* DumpRenderTree/PlatformMac.cmake:
* MiniBrowser/mac/CMakeLists.txt:
* TestRunnerShared/cocoa/ClassMethodSwizzler.mm:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformMac.cmake:
* WebKitTestRunner/PlatformMac.cmake:
2019-10-01 John Wilander <wilander@apple.com>
Storage Access API: document.hasStorageAccess() should return true when the cookie policy allows access
https://bugs.webkit.org/show_bug.cgi?id=202435
<rdar://problem/55718526>
Reviewed by Brent Fulgham.
This change makes sure topPrivatelyControlledDomain() correctly handles domains
with leading dots, as often used in cookie domains.
* TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
(TestWebKitAPI::TEST_F):
2019-10-01 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Standardize styles in the drawer
https://bugs.webkit.org/show_bug.cgi?id=202428
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/css/search.css: Rename boldInverseColor.
* resultsdbpy/resultsdbpy/view/static/css/tooltip.css: Ditto.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js: Move style specifications into webkit.css.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js: Ditto.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.input>label): Use the boldInverseColor instead of grey.
(.input>input[type="text"][required], .input>input[type="number"][required],): Darken the border,
decrease the font weight.
(.input>input[type="text"][required]~label, .input>input[type="number"][required]~label,): Use the inverseColor instead of grey.
2019-10-01 Antti Koivisto <antti@apple.com>
[CSS Shadow Parts] Parse 'part' attribute
https://bugs.webkit.org/show_bug.cgi?id=202409
Reviewed by Ryosuke Niwa.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
2019-10-01 Aakash Jain <aakash_jain@apple.com>
Follow-up fix to r250572 to fix a typo.
[ews] Add method to retry a build using Buildbot API
https://bugs.webkit.org/show_bug.cgi?id=202408
Unreviewed follow-up fix.
* BuildSlaveSupport/ews-app/ews/common/buildbot.py:
2019-10-01 Aakash Jain <aakash_jain@apple.com>
[ews] Add method to retry a build using Buildbot API
https://bugs.webkit.org/show_bug.cgi?id=202408
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/common/buildbot.py:
(Buildbot.retry_build): Method to retry given build using Buildbot API.
2019-10-01 David Kilzer <ddkilzer@apple.com>
clang-tidy: Fix unnecessary copying/ref churn of for loop variables in Tools
<https://webkit.org/b/202387>
Reviewed by Darin Adler.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::setAllowedMenuActions): Make loop variable
a reference to fix unnecessary copying/ref churn.
2019-10-01 Nikolas Zimmermann <nzimmermann@igalia.com>
Update my affiliation - since today I work for Igalia.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-01 Keith Miller <keith_miller@apple.com>
Add support for the Wasm multi-value proposal
https://bugs.webkit.org/show_bug.cgi?id=202250
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests:
2019-10-01 youenn fablet <youenn@apple.com>
Remove races condition when validating capture sandbox extension revocation
https://bugs.webkit.org/show_bug.cgi?id=202133
<rdar://problem/55660905>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
Updated test to not use page cache so that on going back, the page is reloaded and will call getUserMedia again.
2019-09-30 Alex Christensen <achristensen@webkit.org>
Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=202384
Rubber-stamped by Tim Horton.
* DumpRenderTree/PlatformMac.cmake:
* TestWebKitAPI/PlatformMac.cmake:
2019-09-30 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org Timeline] New axis style
https://bugs.webkit.org/show_bug.cgi?id=202292
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
2019-09-30 Alex Christensen <achristensen@webkit.org>
Move DownloadMonitor test speed multiplier from WebProcessPool to WebsiteDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=202339
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TestWebKitAPI::webViewWithDownloadMonitorSpeedMultiplier):
2019-09-30 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] IconDatabase is not thread-safe
https://bugs.webkit.org/show_bug.cgi?id=201303
Reviewed by Žan Doberšek.
Rewrite the WebKitFaviconDatabase tests, splitting tests cases again and making them independent to each other.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
(testFaviconDatabaseInitialization):
(testFaviconDatabaseGetFavicon):
(ephemeralViewFaviconChanged):
(testFaviconDatabaseEphemeral):
(testFaviconDatabaseClear):
(beforeAll):
(afterAll):
* TestWebKitAPI/glib/TestExpectations.json: TestWebKitFaviconDatabase shouls always pass now.
2019-09-30 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add about:gpu
https://bugs.webkit.org/show_bug.cgi?id=202305
Reviewed by Žan Doberšek.
Allow to use about:gpu in MiniBrowser. Add a script to get the current svn revision.
* MiniBrowser/gtk/BrowserTab.c:
(getInternalURI):
* MiniBrowser/gtk/main.c:
(argumentToURL):
* MiniBrowser/wpe/main.cpp:
(main):
* glib/svn-revision: Added.
2019-09-27 Andres Gonzalez <andresg_22@apple.com>
Support accessibility for <figure> element on iOS.
https://bugs.webkit.org/show_bug.cgi?id=202272
<rdar://problem/54789907>
Reviewed by Chris Fleizach.
Implemented titleUIElement and roleDescription properties for <figure> elements on iOS.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::roleDescription):
2019-09-27 Alex Christensen <achristensen@webkit.org>
Move shouldUseTestingNetworkSession from NetworkProcessCreationParameters to NetworkSessionCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=202327
Reviewed by Tim Horton.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::websiteDataStore):
2019-09-27 Alex Christensen <achristensen@webkit.org>
Move service worker process termination delay disabling from process pool to website data store
https://bugs.webkit.org/show_bug.cgi?id=202308
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2019-09-27 Alex Christensen <achristensen@webkit.org>
Remove unused WebProcessPool::setCanHandleHTTPSServerTrustEvaluation
https://bugs.webkit.org/show_bug.cgi?id=202285
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(-[ServerTrustDelegate webView:didFinishNavigation:]):
(-[ServerTrustDelegate webView:didFailProvisionalNavigation:withError:]):
(-[ServerTrustDelegate waitForDidFinishNavigation]):
(-[ServerTrustDelegate waitForDidFailProvisionalNavigationError]):
(-[ServerTrustDelegate authenticationChallengeCount]):
(-[ServerTrustDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setCanHandleHTTPSServerTrustEvaluation): Deleted.
(WTR::TestRunner::canDoServerTrustEvaluationInNetworkProcess): Deleted.
(WTR::TestRunner::serverTrustEvaluationCallbackCallsCount): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::didReceiveAuthenticationChallenge):
(WTR::TestController::canDoServerTrustEvaluationInNetworkProcess const): Deleted.
* WebKitTestRunner/TestController.h:
(WTR::TestController::serverTrustEvaluationCallbackCallsCount const): Deleted.
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::canDoServerTrustEvaluationInNetworkProcess const): Deleted.
2019-09-27 Alex Christensen <achristensen@webkit.org>
Remove unused APIProcessPoolConfiguration::diskCacheSpeculativeValidationEnabled
https://bugs.webkit.org/show_bug.cgi?id=202290
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::websiteDataStore):
(WTR::TestController::generatePageConfiguration):
2019-09-27 Youenn Fablet <youenn@apple.com>
Make IsNSURLSessionWebSocketEnabled an experimental flag
https://bugs.webkit.org/show_bug.cgi?id=202135
<rdar://problem/55694721>
Reviewed by Geoff Garen.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Set preference to false by default.
2019-09-27 Jiewen Tan <jiewen_tan@apple.com>
SubFrameSOAuthorizationSession should ensure messages are posted in the right order to the parent frame
https://bugs.webkit.org/show_bug.cgi?id=202061
<rdar://problem/55485666>
Reviewed by Youenn Fablet.
Adds tests that check the order of messages posted by SubFrameSOAuthorizationSession.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(-[TestSOAuthorizationScriptMessageHandler userContentController:didReceiveScriptMessage:]):
(resetState):
(TestWebKitAPI::TEST):
2019-09-26 Kate Cheney <katherine_cheney@apple.com>
Resource Load Statistics: Downgrade all third-party referrer headers
https://bugs.webkit.org/show_bug.cgi?id=201353
<rdar://problem/54895650>
Majority of this patch was written by John Wilander <wilander@apple.com>.
Reviewed by Brent Fulgham.
The changes to the TestRunner facilitates an opt-out for test cases
that either test the referrer mechanism explicitly or tests that
rely on the full referrer to be sent.
The new boolean variable and early return in
TestRunner::setStatisticsShouldDowngradeReferrer() prevent the same
event from trying to set multiple TestRunner callbacks.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsShouldDowngradeReferrer):
(WTR::TestRunner::statisticsCallDidSetShouldDowngradeReferrerCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsShouldDowngradeReferrer):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didSetShouldDowngradeReferrer):
* WebKitTestRunner/TestInvocation.h:
2019-09-26 Dean Jackson <dino@apple.com>
Build fix.
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]): Deleted.
(-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuWillPresentForElement:]): Deleted.
(-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuForElement:willCommitWithAnimator:]): Deleted.
(-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuDidEndForElement:]): Deleted.
2019-09-26 Dean Jackson <dino@apple.com>
ContextMenu on a link in an email no longer shows web preview
https://bugs.webkit.org/show_bug.cgi?id=201120
<rdar://54353617>
Reviewed by Wenson Hsieh.
Test context menus on a link that is also an image.
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(contextMenuWebViewDriver):
(-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuWillPresentForElement:]):
(-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuForElement:willCommitWithAnimator:]):
(-[TestContextMenuImageWithoutConfigurationUIDelegate webView:contextMenuDidEndForElement:]):
(TEST):
2019-09-26 Frederic Wang <fwang@igalia.com>
run-safari --ios-simulator is no longer working with Xcode 11
https://bugs.webkit.org/show_bug.cgi?id=199852
Path of MobileSafari.app has changed in Xcode 11. This patch updates
the run-safari script to use the new path. This removes support for
running Safari on iOS < 13, see discussions on bug 177595.
Reviewed by Jonathan Bedard.
* Scripts/webkitdirs.pm:
(iosSimulatorApplicationsPath):
2019-09-26 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org] Timeline support Image inner label
https://bugs.webkit.org/show_bug.cgi?id=202180
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/js/expectations.js:
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.lengend>.item .dot img): support img symbol for lengend and dot
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(Timeline.CanvasSeriesComponent): Support user pass a Image object or a image url as inner label
2019-09-26 Chris Dumez <cdumez@apple.com>
Stop using testRunner.overridePreference() to turn on Page Cache
https://bugs.webkit.org/show_bug.cgi?id=202274
Reviewed by Alex Christensen.
* DumpRenderTree/TestRunner.cpp:
(overridePreferenceCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::overridePreference):
2019-09-26 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Use cursor: pointer for clickable elements
https://bugs.webkit.org/show_bug.cgi?id=202268
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js: Give collapse button a pointer for cursor.
* resultsdbpy/resultsdbpy/view/templates/search.html: Make 'X' to close test timeline a link-button.
2019-09-26 Kate Cheney <katherine_cheney@apple.com>
Enable LayoutTests using ResourceLoadStatistics SQLite backend (195420)
https://bugs.webkit.org/show_bug.cgi?id=195420
<rdar://problem/54213551>
Reviewed by Brent Fulgham.
Added in logic to send a message from the UIProcess to the Network
Process which will initalize the ITP Database backend to allow for
layout testing.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUseITPDatabase):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setUseITPDatabase):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-09-26 Wenson Hsieh <wenson_hsieh@apple.com>
TestWebKitAPI.WebKit.ReloadWithDifferingInitialScale is failing consistently
https://bugs.webkit.org/show_bug.cgi?id=202273
Reviewed by Aakash Jain.
The content width scaling limits added in r250361 prevent this test from scaling down the content width (2000px
wide) to fit the viewport (375px). To avoid this issue, change the content width from 2000px to 1500px, which is
still a very wide content width for a web page.
* TestWebKitAPI/Tests/WebKitCocoa/ReloadWithDifferingInitialScale.mm:
2019-09-26 Alexey Shvayka <shvaikalesh@gmail.com>
toExponential, toFixed, and toPrecision should allow arguments up to 100
https://bugs.webkit.org/show_bug.cgi?id=199163
Reviewed by Ross Kirsling.
Adjust StringNumberFixedWidth test due to lowering kMaxFixedDigitsBeforePoint.
* TestWebKitAPI/Tests/WTF/WTFString.cpp:
2019-09-26 Jiewen Tan <jiewen_tan@apple.com>
TestWebKitAPI.SOAuthorizationSubFrame.AuthorizationOptions is failing consistently on iOS API tests EWS
https://bugs.webkit.org/show_bug.cgi?id=202249
Reviewed by Alex Christensen.
Swizzles +[AKAuthorizationController isURLFromAppleOwnedDomain:] following other tests.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(TestWebKitAPI::TEST):
2019-09-25 Alex Christensen <achristensen@webkit.org>
Add replacement SPI on _WKWebsiteDataStoreConfiguration for enabling speculative cache validation and IPC-free server trust evaluation
https://bugs.webkit.org/show_bug.cgi?id=202251
Reviewed by Tim Horton.
Adopt new SPI instead of deprecated SPI.
* MiniBrowser/mac/AppDelegate.m:
(persistentDataStore):
(defaultConfiguration):
(-[BrowserAppDelegate fetchDefaultStoreWebsiteData:]):
(-[BrowserAppDelegate fetchAndClearDefaultStoreWebsiteData:]):
(-[BrowserAppDelegate clearDefaultStoreWebsiteData:]):
2019-09-25 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.system
https://bugs.webkit.org/show_bug.cgi?id=201826
<rdar://problem/55452671>
Reviewed by Stephanie Lewis.
Tested compatibility by running 'python3 -m unittest webkitpy.common.system.<_unittest>' on
each of the effected files.
* Scripts/webkitpy/common/checkout/changelog.py: Import StringIO from io module.
(set_reviewer):
(set_short_description_and_bug_url):
* Scripts/webkitpy/common/checkout/checkout.py: Import StringIO from io module.
(Checkout._latest_entry_for_changelog_at_revision):
* Scripts/webkitpy/common/config/committers.py:
(CommitterList.load_json): iteritems -> items.
* Scripts/webkitpy/common/net/networktransaction.py:
(NetworkTransaction.run): urllib2 is urllib in Python3.
* Scripts/webkitpy/common/system/abstractexecutive.py:
(AbstractExecutive._stringify_args):
(AbstractExecutive.command_for_printing): The str type is unicode in Python3.
* Scripts/webkitpy/common/system/crashlogs_unittest.py: Explicitly encode and decode binary crashlogs.
* Scripts/webkitpy/common/system/environment_unittest.py: Use absolute imports.
* Scripts/webkitpy/common/system/executive.py:
(ScriptError.message_with_output): The str type is unicode in Python3.
(Executive.WrappedPopen): Python3's Popen object is a context manager. To allow us to use it as one,
our Python2 Popen needs to be one as well.
(Executive.WrappedPopen.__init__):
(Executive.WrappedPopen.__enter__):
(Executive.WrappedPopen.__exit__):
(Executive._run_command_with_teed_output): Simplify loop, decode unicode strings.
(Executive.run_and_throw_if_fail): The child output file should not be unicode strings.
(Executive.running_pids): Use the Popen context manager to guarantee clean-up.
(Executive._compute_stdin):
(Executive.run_command): Use the Popen context manager to guarantee clean-up.
(Executive._stringify_args): The str type is unicode in Python3.
(Executive.popen): Return a context manager if the Popen object is not one.
* Scripts/webkitpy/common/system/executive_mock.py:
(MockProcess.__init__): StringIO -> BytesIO.
(MockProcess.__enter__):
(MockProcess):
(MockProcess.__exit__):
* Scripts/webkitpy/common/system/executive_unittest.py:
(ExecutiveTest.test_auto_stringify_args): Use the Popen context manager to guarantee clean-up.
(ExecutiveTest.test_popen_args): Ditto.
(ExecutiveTest.serial_test_kill_process): Ditto.
(ExecutiveTest.serial_test_kill_all): Ditto.
* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.read_binary_file): Use 'open' instead of 'file'.
(FileSystem.write_binary_file): Ditto.
(FileSystem.write_text_file): The str type is unicode in Python3.
(FileSystem.relpath):
(FileSystem.remove): The WindowsError is just anther OSError in Python3.
(FileSystem._WindowsError): Deleted.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.glob): filter returns a generator instead of a list.
(WritableBinaryFileObject.__init__): Binary files are comprised of bytes, not string in Python3.
(WritableBinaryFileObject.write): Ditto.
(ReadableTextFileObject.__init__): Ditto.
* Scripts/webkitpy/common/system/filesystem_mock_unittest.py:
(MockFileSystemTest.test_normpath):
(MockFileSystemTest.test_dirs_under): assertEquals -> assertEqual.
* Scripts/webkitpy/common/system/filesystem_unittest.py:
(RealFileSystemTest.test_read_and_write_file): Explicitly define byte arrays instead of strings.
(RealFileSystemTest.test_remove_file_with_retry.remove_with_exception): The WindowsError is just
anther OSError in Python3.
* Scripts/webkitpy/common/system/outputcapture.py:
* Scripts/webkitpy/common/system/outputtee_unittest.py:
(SimpleTeeTest.test_simple_tee):
* Scripts/webkitpy/common/system/path.py:
(_escape): urllib library has been broken into parts.
* Scripts/webkitpy/common/system/pemfile.py:
(_parse_pem_format.find_end): Python3 does not define a maxint.
* Scripts/webkitpy/common/system/pemfile_unittest.py:
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.total_bytes_memory): Not 'long' type in Python3.
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_real_code): assertNotEquals -> assertNotEqual.
(TestPlatformInfo.test_display_name): Ditto.
* Scripts/webkitpy/common/system/profiler.py:
(ProfilerFactory.create_profiler): Manually implement ifilter.
* Scripts/webkitpy/common/system/profiler_unittest.py: Use absolute imports.
* Scripts/webkitpy/common/system/stack_utils_unittest.py:
(current_thread_id): items() returns a generator in Python3.
* Scripts/webkitpy/common/system/systemhost.py: Use absolute imports.
* Scripts/webkitpy/common/system/urlfetcher.py: Removed.
* Scripts/webkitpy/common/system/urlfetcher_mock.py: Removed.
* Scripts/webkitpy/common/system/user.py:
(User.prompt): Use absolute imports, raw_input -> input.
(User.prompt_with_multiple_lists):
(User.prompt_with_list):
(User.confirm):
* Scripts/webkitpy/common/unicode.py: Tooling to manage compatibility between Python 2
and Python 3 unicode handling.
* Scripts/webkitpy/common/system/user_mock.py:
(MockUser.prompt): raw_input -> input.
(MockUser.prompt_with_list): Ditto.
* Scripts/webkitpy/common/version.py:
(Version.from_iterable): xrange -> range.
(Version.from_name): Use absolute import path.
(Version.__contains__): xrange -> range.
(Version.__str__): xrange -> range.
(Version.__cmp__): amp is no longer an operator in Python3, but versions are comprised
Of integers, so subtraction has the same effect.
(Version):
(Version.__eq__): __cmp__ operator is no longer respected, so we need to implement
each comparison.
(Version.__ne__): Ditto.
(Version.__lt__): Ditto.
(Version.__le__): Ditto.
(Version.__gt__): Ditto.
(Version.__ge__): Ditto.
* Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap._automap_to_major_version):
(VersionNameMap.to_name): xrange -> range.
(VersionNameMap.from_name): iteritems -> items.
* Scripts/webkitpy/common/version_name_map_unittest.py: Use absolute imports.
* Scripts/webkitpy/common/version_unittest.py: Ditto.
* Scripts/webkitpy/common/wavediff.py:
(WaveDiff.__init__): StringIO -> BytesIO.
* Scripts/webkitpy/port/__init__.py:
(outside):
2019-09-25 Aakash Jain <aakash_jain@apple.com>
[EWS] RunJavaScriptCoreTestsToT should use the same command as RunJavaScriptCoreTests
https://bugs.webkit.org/show_bug.cgi?id=202216
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunJavaScriptCoreTestsToT): Removed the command so as to use the command from base class.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updatd unit-tests.
2019-09-25 Aakash Jain <aakash_jain@apple.com>
[ews] JSC queues should run or skip tests based on runTests key from config.json
https://bugs.webkit.org/show_bug.cgi?id=202223
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json: Added the runTests key.
* BuildSlaveSupport/ews-build/factories.py:
(JSCTestsFactory.__init__): Add RunJavaScriptCoreTests step based on runTests key.
* BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig): Pass the runTests key to the factory.
* BuildSlaveSupport/ews-build/loadConfig_unittest.py:
(ConfigDotJSONTest.test_builder_keys): Added the runTests key.
2019-09-25 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Add investigation drawer
https://bugs.webkit.org/show_bug.cgi?id=202106
Reviewed by Dewei Zhu.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js: Support multiple 'main' classes.
* resultsdbpy/resultsdbpy/view/static/js/expectations.js: Added.
(Expectations.colorMap): Return a dictionary mapping type strings to colors.
(Expectations.stringToStateId): Map a string to a state ID for sorting.
(Expectations.typeForId): Return a type string given an ID.
(Expectations.symbolForId): Return a symbol for a type given an ID.
(Expectations.colorForId): Return a color given an ID.
(Expectations.unexpectedResults): Given a list of actual results and expected results,
return a state.
(Expectations):
* resultsdbpy/resultsdbpy/view/static/js/investigate.js: Added.
(commitsForUuid):
(testRunLink):
(elapsed):
(percentage):
(contentForAgregateData):
(contentForData):
(_InvestigateDrawer):
(_InvestigateDrawer.prototype.isRendered):
(_InvestigateDrawer.prototype.expand): Expand the investigation drawer.
(_InvestigateDrawer.prototype.collapse): Collapse the investigation drawer.
(_InvestigateDrawer.prototype.select): Select an element to investigate.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(statsForSingleResult): Move Expectation constants.
(TimelineFromEndpoint.prototype.render): Investigate specific data points instead
of jumping to the build.
(Expectations.stringToStateId): Deleted.
(Expectations.unexpectedResults): Deleted.
(Expectations): Deleted.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.drawer.display): Make minimum height.
(@media screen and (min-width: 600px)): Move main and sidebar so they override drawer.
(@media screen and (min-width: 768px)): Ditto.
* resultsdbpy/resultsdbpy/view/templates/commits.html:
* resultsdbpy/resultsdbpy/view/templates/search.html:
* resultsdbpy/resultsdbpy/view/templates/suite_results.html:
2019-09-25 Alex Christensen <achristensen@webkit.org>
Remove duplicate WebsiteDataStoreConfiguration copying code
https://bugs.webkit.org/show_bug.cgi?id=202215
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2019-09-25 Alex Christensen <achristensen@webkit.org>
Replace WebsiteDataStoreParameters::privateSessionParameters with re-initializing all sessions immediately upon NetworkProcess resumption
https://bugs.webkit.org/show_bug.cgi?id=202211
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcessCrashNonPersistentDataStore.mm:
(checkRecoveryAfterCrash):
(TEST):
2019-09-25 Aakash Jain <aakash_jain@apple.com>
[EWS] JSC queues should dynamically add required build steps for re-testing the patch
https://bugs.webkit.org/show_bug.cgi?id=202170
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(JSCTestsFactory.__init__): Do not add ReRunJavaScriptCoreTests and related steps here, as
these are dynamically added (if required) in steps.py.
* BuildSlaveSupport/ews-build/steps.py:
(CompileJSCToT): Remove doStepIf() and hideStepIf() method, these are no longer required as we add
this step dynamically only if required. We don't need an extra property ('patchFailedToBuild') to be set.
(RunJavaScriptCoreTests.evaluateCommand): Dynamically add ReRunJavaScriptCoreTests step if required.
(ReRunJavaScriptCoreTests): Removed doStepIf() and hideStepIf() method.
(ReRunJavaScriptCoreTests.evaluateCommand): Dynamically add UnApplyPatchIfRequired(), CompileJSCToT() and RunJavaScriptCoreTestsToT steps.
(RunJavaScriptCoreTestsToT.evaluateCommand): Overriden to avoid caling the base-class method which dynamically adds
more steps.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests accordingly.
2019-09-25 Wenson Hsieh <wenson_hsieh@apple.com>
[iPadOS] [DataActivation] Focus moves away after focusing input fields on www.att.com
https://bugs.webkit.org/show_bug.cgi?id=202167
<rdar://problem/55185021>
Reviewed by Tim Horton.
Rebaseline an API test.
* TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
(TestWebKitAPI::TEST):
2019-09-25 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r250324.
Tools/ChangeLog
Reverted changeset:
"Enable LayoutTests using ResourceLoadStatistics SQLite
backend (195420)"
https://bugs.webkit.org/show_bug.cgi?id=195420
https://trac.webkit.org/changeset/250324
2019-09-24 Fujii Hironori <Hironori.Fujii@sony.com>
[Windows][webkitpy] _apache_config_file_name_for_platform should take the system PHP version into account
https://bugs.webkit.org/show_bug.cgi?id=202134
Reviewed by Jonathan Bedard.
_apache_config_file_name_for_platform always returns a config file
name for PHP5 on Cygwin Python, one for PHP7 on Win32 Python. It
should detect the system PHP version as Linux ports do.
Both AppleWin and WinCairo are using XAMPP Apache. Unify the code
paths for them. And, remove a stale conf file.
This change makes it possible to use Cygwin Python with PHP7.
* Scripts/webkitpy/port/base.py:
(Port._win_php_version): Added.
(Port._apache_config_file_name_for_platform): Unified cygwin and
win32 code path by using _win_php_version.
* Scripts/webkitpy/port/port_testcase.py:
(test_apache_config_file_name_for_platform): Updated cygwin and
win32 test cases.
2019-09-24 Matt Lewis <jlewis3@apple.com>
Bring up queues for iPadOS Simulator Tests
https://bugs.webkit.org/show_bug.cgi?id=202151
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2019-09-24 Kate Cheney <katherine_cheney@apple.com>
Enable LayoutTests using ResourceLoadStatistics SQLite backend (195420)
https://bugs.webkit.org/show_bug.cgi?id=195420
<rdar://problem/54213551>
Reviewed by Brent Fulgham.
Added in logic to send a message from the UIProcess to the Network
Process which will initalize the ITP Database backend to allow for
layout testing.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUseITPDatabase):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setUseITPDatabase):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-09-24 Patrick Griffis <pgriffis@igalia.com>
Add Patrick Griffis to contributors.json
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-09-24 Aakash Jain <aakash_jain@apple.com>
[ews-build] Improve summary for Validate Patch step
https://bugs.webkit.org/show_bug.cgi?id=202163
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Remove the redundant message saying:
'Some messages were logged while the patch was still eligible'.
* BuildSlaveSupport/ews-build/steps.py:
(ValidatePatch.skip_build): Updated the descritionDone with the reason to skip the patch.
(ValidatePatch.getResultSummary): Overrode this method so as to prevent buildbot from automatically
appending '(failure)' at the end of the summary string.
2019-09-24 Keith Rollin <krollin@apple.com>
Coalesce or remove PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
https://bugs.webkit.org/show_bug.cgi?id=202119
<rdar://problem/55638792>
Reviewed by Alex Christensen.
After refactoring and other code evolution, some platform checks have
ended up looking like PLATFORM(MAC) || PLATFORM(IOS_FAMILY) (or
vice-versa). These can be converted into the equivalent
PLATFORM(COCOA). Where the instance occurs in a Cocoa-only file, the
check can be removed altogether (along with any "#else" branches).
* DumpRenderTree/AccessibilityTextMarker.h:
* DumpRenderTree/AccessibilityUIElement.cpp:
(AccessibilityUIElement::setValue):
2019-09-24 Zhifei Fang <zhifei_fang@apple.com>
Add tests for Ref.js.
https://bugs.webkit.org/show_bug.cgi?id=201778.
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/js/Ref.js:
(applyStateDiff): null, 0, false are all valid state
(Ref.prototype.setState): We should do nothing for undefined stateDiff
* resultsdbpy/resultsdbpy/view/static/library/js/Test.js: Added.
(AssertFailedError):
(Expect): Perform assertions during unit tests.
(Expect.prototype.isType):
(Expect.prototype.equalToValue):
(Expect.prototype.equalToHtmlWithoutRef):
(Expect.prototype.notEqualToValue):
(Expect.prototype.greaterThan):
(Expect.prototype.greaterThanOrEqualTo):
(Expect.prototype.lessThan):
(Expect.prototype.lessThanOrEqualTo):
(TestSuite): Common TestSuite class for user to extend.
(TestSuite.prototype.expect):
(TestSuite.prototype.sleep): Test will sleep for certain ms
(TestSuite.prototype.waitForSignal): Wait until we receive a certain signal with timeout
(TestSuite.prototype.waitForRefMounted): Wait until we receive ref object's onElementMount signal with timeout
(TestSuite.prototype.waitForRefUnmounted): Wait until we receive ref object's onElementUnmount signal with timeout
(TestSuite.prototype.waitForStateUpdated):Wait until we receive ref object's onStateUpdate signal with timeout
(TestSuite.prototype.async.setup): Common interface for setup a test suite
(TestSuite.prototype.async.clearUp): Common interface for clear up a test suite
(getTestFucntionNames): Collect all the test method of a test instance.
(TestResult):
(TestResult.prototype.catchException):
(async.getTestResult): Run the test and generate a TestResult object
(TestController):
(TestController.prototype.addResultHandler): Test controller will send notification of a test result to result handler
(TestController.prototype.addSetupArgs): This gives some additional args for the common setup method for each test class,
it is the best place to setup something like a root element, a fake data source, etc
(TestController.prototype.collect): This method used for collect the test classes.
(TestController.prototype.async.collectFile): It will import the file as a module dynamicly and collect all the test classes that module export
(TestController.prototype.async.runTest): It will run a test method of a test class
(TestController.prototype.async.run): It will run all test or a test class or a test method
* resultsdbpy/resultsdbpy/view/static/library/js/components/TestComponents.js: components for test app.
* resultsdbpy/resultsdbpy/view/static/library/js/test/RefTest.js: Ref.js test cases.
* resultsdbpy/resultsdbpy/view/static/library/js/test/index.html: Test app entry.
2019-09-24 Wenson Hsieh <wenson_hsieh@apple.com>
FocusPreservationTests.ChangingFocusedNodeResetsFocusPreservationState triggers a debug assertion
https://bugs.webkit.org/show_bug.cgi?id=202145
<rdar://problem/51273128>
Reviewed by Tim Horton.
Fixes this API test to work on iPad as well as iPhone. Importantly, we show a popover when focusing
select elements on iPad, which means that there is no -inputView present on WKContentView, and upon
dismissing the form accessory view, the select element is still focused.
* TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
2019-09-25 Cathie Chen <cathiechen@igalia.com>
Add Cathie Chen as WebKit committer
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-09-24 Alex Christensen <achristensen@webkit.org>
Require a WebsiteDataStore when creating or resuming downloads
https://bugs.webkit.org/show_bug.cgi?id=202081
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
(-[DownloadProgressTestRunner startDownload:expectedLength:]):
2019-09-23 Zan Dobersek <zdobersek@igalia.com>
run-web-platform-tests: remove support for in-repository manifest, expectation management
https://bugs.webkit.org/show_bug.cgi?id=202037
Reviewed by Carlos Alberto Lopez Perez.
Instead of keeping wpt metadata inside the WebKit repository or have it
generated on-the-fly, provide additional option flags for the
run-web-platform-tests script that allows detailed specification of the
metadata, manifest and include manifest locations, if necessary.
If the metadata location is not provided, the wptrunner tool will simply
not rely on any metadata to adjust expected results. With no manifest
path specified, the manifest will be generated inside the wpt checkout.
If no include manifest is specified, all the tests will be initially
selected for running (until they're possibly filtered through additional
command line arguments).
* Scripts/webkitpy/common/config/ports_mock.py:
(MockPort.run_bindings_tests_command):
(MockPort.wpt_metadata_directory): Deleted.
(MockPort.wpt_manifest_file): Deleted.
* Scripts/webkitpy/port/base.py:
(Port.default_results_directory):
(Port.wpt_metadata_directory): Deleted.
(Port.wpt_manifest_file): Deleted.
* Scripts/webkitpy/w3c/wpt_runner.py:
(parse_args):
(WPTRunner.prepare_wpt_checkout):
(WPTRunner.run):
(WPTRunner._generate_metadata_directory): Deleted.
(WPTRunner._wpt_run_paths): Deleted.
* Scripts/webkitpy/w3c/wpt_runner_unittest.py:
(WPTRunnerTest.TestInstance.__init__):
(WPTRunnerTest.test_prepare_wpt_checkout_specified_path):
(WPTRunnerTest.test_run):
(WPTRunnerTest.test_run_with_specified_options):
(WPTRunnerTest.test_run_with_args):
(WPTRunnerTest.TestInstance.prepare_mock_files_for_run): Deleted.
(WPTRunnerTest.test_generate_metadata_directory): Deleted.
2019-09-23 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][WebKitTestRunner] Implement EventSenderProxy::keyDown
https://bugs.webkit.org/show_bug.cgi?id=201913
Reviewed by Ross Kirsling.
Implemented eventSender.keyDown for Windows WebKitTestRunner based
on DumpRenderTree implementation.
There is a difference between them. Only WTR truns KF_UP and
KF_REPEAT flags on for WM_KEYUP event.
EventSenderProxy::dispatchMessage is used in WTR. It calls
TranslateMessage, this introduces the difference. If I didn't turn
those bits, TranslateMessage posts WM_CHAR even for WM_KEYUP.
According the spec, WM_KEYUP needs those bits.
<https://docs.microsoft.com/en-us/windows/win32/inputdev/wm-keyup>
DRT doesn't need the those bits becasuse it doesn't use
TranslateMessage for WM_KEYUP.
* WebKitTestRunner/win/EventSenderProxyWin.cpp:
(WTR::makeKeyDataForScanCode): Added.
(WTR::pumpMessageQueue): Added.
(WTR::EventSenderProxy::keyDown): Implemented by using DRT code.
2019-09-23 Aakash Jain <aakash_jain@apple.com>
[EWS] Rename CompileJSCOnly to CompileJSC
https://bugs.webkit.org/show_bug.cgi?id=202118
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(JSCTestsFactory.__init__): Renamed CompileJSCOnly to CompileJSC.
* BuildSlaveSupport/ews-build/steps.py:
(CompileWebKit.evaluateCommand): Ditto.
(AnalyzeCompileWebKitResults.start): Ditto.
(CompileJSC): Changed step-name to 'compile-jsc' to better match with similar steps like 'compile-webkit'.
(CompileJSCToT): Ditto for 'compile-jsc-tot'.
* BuildSlaveSupport/ews-build/steps_unittest.py: Renamed CompileJSCOnly to CompileJSC and CompileJSCOnlyToT to CompileJSCToT.
2019-09-23 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Drop animation when dragging images from Photos to WebKit2 Mail compose is incorrect
https://bugs.webkit.org/show_bug.cgi?id=201674
<rdar://problem/51250952>
Reviewed by Tim Horton.
Add a couple of new API tests to exercise the new image placeholder drop codepath, in addition to testing
infrastructure to simulate the timing of drop animation delegate calls.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[NSArray _attachmentWithName:]):
(-[TestWKWebView allBoundingClientRects:]):
Add some new API testing helper methods.
(TestWebKitAPI::targetedImageDragPreview):
(TestWebKitAPI::TEST):
Add two new tests, to:
(1) verify that images are dropped as attachment-backed placeholder image elements when the web view is editable
and enables attachment elements, and
(2) verify that when dropping an image taller than the web view, the bottom portion of the drop preview is
clipped using the targeted preview parameter's visiblePath.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:]): Deleted.
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/cocoa/NSItemProviderAdditions.h: Added.
* TestWebKitAPI/cocoa/NSItemProviderAdditions.mm: Added.
Move some common helpers for registering data on a NSItemProvider to a separate file, so that it can be used in
both WKAttachmentTests and DragAndDropTests.
(-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
(-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:loadingDelay:]):
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator initWithWebView:]):
(-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
(-[DragAndDropSimulator clearExternalDragInformation]):
(-[DragAndDropSimulator setExternalItemProviders:defaultDropPreviews:]):
Add a new method to allow tests to specify both a list of externally dragged item providers, as well as default
targeted previews for each of the corresponding items. These default previews are used when invoking the drop
interaction delegate's preview generation methods.
(-[DragAndDropSimulator addAnimations:]):
Not implemented yet; for now, this simply asserts.
(-[DragAndDropSimulator addCompletion:]):
Queues a completion handler, which is invoked when the drop animation for each item completes. Depending on the
value of DragAndDropSimulator's -dropAnimationTiming, this may occur either before or after handling the drop.
By default, these will be invoked after the drop completes, which represents the common case where data can be
loaded quickly relative to the drop animation.
(-[DragAndDropSimulator _invokeDropAnimationCompletionBlocksAndConcludeDrop]):
(-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
2019-09-23 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Collapse results with the same version name (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=201779
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/configuration.js:
(Configuration.prototype.compare): Correctly compare constructed version names.
2019-09-16 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] LocalAuthenticator tests are failing on internal bots
https://bugs.webkit.org/show_bug.cgi?id=201844
<rdar://problem/54278693>
Reviewed by Brent Fulgham.
LocalAuthenticator tests utilize Keychain for mock testing. Unlike iOS simulator tests which
each test runner is running in different simulator containers, all test runners are running
in the same macOS container in macOS. Therefore, Keychain is shared among all test runners
in macOS while it is not in iOS simulators. And therefore, race conditions would happen in
macOS which make the current tests flaky given they don't consider race conditions.
This patch then makes each test generate a random credential, and thus no other tests would
be able to access it, and therefore eliminate any race condition. To support this, a few new
functionalities are introduced to the mock test infrastructure as well:
1) TestRunner.cleanUpKeychain accepts a new parameter to more precisely identify an item.
2) WebAuthenticationMockConfiguration.Local has a new member to uniquely select a credential
for getAssertion ceremony when multiple presents.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration):
(WTR::TestRunner::cleanUpKeychain):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::cleanUpKeychain):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cleanUpKeychain):
2019-09-20 Aakash Jain <aakash_jain@apple.com>
[EWS] JSC queues should re-build ToT and compare results on build failure
https://bugs.webkit.org/show_bug.cgi?id=201999
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(JSCTestsFactory.__init__): Do not add the UnApplyPatchIfRequired and CompileJSCOnlyToT step here, as
these are dynamically added (if required) in steps.py in CompileWebKit.evaluateCommand() using addStepsAfterCurrentStep().
Also setting skipUpload=False since we don't need to upload the archive for this queue. Building and testing is done in same build.
* BuildSlaveSupport/ews-build/steps.py:
(CompileWebKit.evaluateCommand): Add CompileJSCOnlyToT or CompileWebKitToT build-step based on 'group' property.
(AnalyzeCompileWebKitResults.start): Ditto.
(CompileJSCOnly.start): Set the 'group' property to 'jsc'.
(CompileJSCOnlyToT.evaluateCommand): Over-ride evaluateCommand, so that base-class' (CompileWebKit) evaluateCommand is
not used, base class evaluateCommand adds build-steps dynamically.
2019-09-20 Keith Rollin <krollin@apple.com>
Remove some support for < iOS 13
https://bugs.webkit.org/show_bug.cgi?id=201967
<rdar://problem/55504738>
Reviewed by Andy Estes.
Remove some support for iOS versions less than 13.0.
Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED
and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
values >= 130000. This means that expressions like
"__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and
"__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True.
After version checks have been removed, there are some cases where the
preprocessor conditional looks like "#if PLATFORM(MAC) ||
PLATFORM(IOS_FAMILY)". These can be collapsed into "#if
PLATFORM(COCOA)". This additional cleanup will be performed in a
subsequent patch.
This removal is part of a series of patches effecting the removal of
dead code for old versions of iOS. This particular pass involves
changes in which Andy Estes was involved. These changes are isolated
from other similar changes in order to facilitate the reviewing
process.
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm: Removed.
2019-09-20 Alex Christensen <achristensen@webkit.org>
Begin moving WebsiteDataStore setters to WebsiteDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=202025
Reviewed by Chris Dumez.
One expected change in behavior is that the resource load statistics directory is not created on startup with an ephemeral session any more
because we call the constructor of WebsiteDataStoreConfiguration inside _WKWebsiteDataStoreConfiguration and set the default directory like we do the other directories.
* TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::websiteDataStore):
(WTR::TestController::generatePageConfiguration):
2019-09-20 Keith Rollin <krollin@apple.com>
Remove some support for < iOS 13
https://bugs.webkit.org/show_bug.cgi?id=201973
<rdar://problem/55506966>
Reviewed by Alex Christensen.
Remove some support for iOS versions less than 13.0.
Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED
and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
values >= 130000. This means that expressions like
"__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and
"__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True.
This removal is part of a series of patches effecting the removal of
dead code for old versions of iOS. This particular pass involves
changes in which Chris Dumez was involved. These changes are isolated
from other similar changes in order to facilitate the reviewing
process.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-09-19 Brent Fulgham <bfulgham@apple.com>
[FTW] Enable WebKitTestRunner build
https://bugs.webkit.org/show_bug.cgi?id=201996
Reviewed by Fujii Hironori.
It's time to start getting the test system up and running for FTW.
This patch does the following:
1. Adds relevant CMake changes to get things building.
2. Adds a "--ftw" flag to the build scripts that will trigger a relevant build.
3. Updates 'webkitpy' to recognize the 'ftw' port.
Note: Pixel tests are not yet supported.
* PlatformFTW.cmake: Build the WK2 test runner.
* Scripts/build-webkit: Update to recognize the FTW port.
* Scripts/webkitdirs.pm: Ditto.
* Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Ditto.
* Scripts/webkitpy/common/config/ports.py: Ditto.
* Scripts/webkitpy/common/config/ports_unittest.py: Ditto.
* Scripts/webkitpy/common/version_name_map.py: Ditto.
* Scripts/webkitpy/port/factory.py: Ditto.
* Scripts/webkitpy/port/win.py: Ditto.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dumpDOMAsWebArchive): Don't build or run this method
on Windows.
* WebKitTestRunner/PlatformFTW.cmake: Added.
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
* WebKitTestRunner/win/TestInvocationDirect2D.cpp: Added.
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Add stub implementation.
2019-09-19 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] Use _com_ptr_t methods instead of calling QueryInterface explictly
https://bugs.webkit.org/show_bug.cgi?id=201976
Reviewed by Don Olmstead.
This change consists of three refactorings:
1. Replaced explicit QueryInterface with _com_ptr_t methods
2. Replaced typedef with _COM_SMARTPTR_TYPEDEF macro
3. Replaced WebCore's COMPtr with _com_ptr_t because it is not a public WebKit API
* MiniBrowser/win/MiniBrowserWebHost.cpp:
(MiniBrowserWebHost::didFirstLayoutInFrame): Deleted.
* MiniBrowser/win/MiniBrowserWebHost.h:
(MiniBrowserWebHost::didFirstLayoutInFrame):
* MiniBrowser/win/PrintWebUIDelegate.cpp:
(getHandleFromWebView):
(PrintWebUIDelegate::webViewPrintingMarginRect):
(PrintWebUIDelegate::runModal):
(PrintWebUIDelegate::createModalDialog):
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::init):
(WebKitLegacyBrowserWindow::setToDefaultPreferences):
(WebKitLegacyBrowserWindow::showLastVisitedSites):
(WebKitLegacyBrowserWindow::reload):
(WebKitLegacyBrowserWindow::resetZoom):
(WebKitLegacyBrowserWindow::zoomIn):
(WebKitLegacyBrowserWindow::zoomOut):
(WebKitLegacyBrowserWindow::showLayerTree):
(WebKitLegacyBrowserWindow::print):
* MiniBrowser/win/WebKitLegacyBrowserWindow.h:
(WebKitLegacyBrowserWindow::privatePreferences):
* MiniBrowser/win/WinMain.cpp:
(wWinMain):
* MiniBrowser/win/stdafx.h:
2019-09-19 Joanmarie Diggs <jdiggs@igalia.com>
[GTK] Dependency hunspell-en-gb cannot be found on Fedora 30
https://bugs.webkit.org/show_bug.cgi?id=202009
Update package name to hunspell-en-GB.
Reviewed by Carlos Alberto Lopez Perez.
* gtk/install-dependencies:
2019-09-19 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Collapse results with the same version name
https://bugs.webkit.org/show_bug.cgi?id=201779
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/configuration.js:
(Configuration.prototype.const.ending.this.version_name.substring):
(Configuration.prototype.toKey): Prefer version_name over version number in key.
(Configuration.prototype.compare): version_name comparison should always override version comparison.
(Configuration.prototype.compareSDKs): Make SDK regex global.
(Configuration.prototype.toParams): Remove E tag on version_name.
(Configuration): Append E tag on the version_name based on the SDK.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(TimelineFromEndpoint.prototype.toString): Print version number with SDK.
2019-09-19 Ryan Haddad <ryanhaddad@apple.com>
REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
https://bugs.webkit.org/show_bug.cgi?id=201902
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: Disable the test on iOS.
2019-09-19 Aakash Jain <aakash_jain@apple.com>
[ews] Fix platform for JSC EWS
https://bugs.webkit.org/show_bug.cgi?id=201997
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json:
2019-09-19 Brent Fulgham <bfulgham@apple.com>
Create InjectedBundle SPI to better support NSSecureCoding
https://bugs.webkit.org/show_bug.cgi?id=201810
<rdar://problem/55265713>
The encoding/decoding routines used by WebKit’s InjectedBundles are based on NSCoding.
While we have changed WebKit internals to use NSSecureCoding, there are a number of
injected bundles that need to serialize custom classes between the InjectedBundle and
the relevant WebKit UIProcess.
We need to lock down this communications channel by enforcing NSSecureCoding.
This patch creates new SPI to allow the UIProcess to specify classes that it will accept
in messages from the WebContet Process (and Injected Bundle).
It adds the following property to the WKProcessPoolConfiguration:
@property (nonatomic, copy) NSSet<Class> *customClassesForParameterCoder;
If no custom classes are specified, the standard serialization primitives are supported:
NSArray, NSData, NSDate, NSDictionary, NSNull, NSNumber, NSSet, NSString,
NSTimeZone, NSURL, and NSUUID.
Reviewed by Brady Eidson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm: Added.
(-[BundleFormDelegateRemoteObject didGetFocus]):
(-[FormInputDelegate _webView:decidePolicyForFocusedElement:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegatePlugIn.mm: Added.
(-[BundleFormDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[BundleFormDelegatePlugIn _webProcessPlugInBrowserContextController:willBeginInputSessionForElement:inFrame:userIsInteracting:]):
(-[BundleFormDelegatePlugIn _webProcessPlugInBrowserContextController:didFocusTextField:inFrame:]):
* TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegateProtocol.h: Copied from Tools/TestWebKitAPI/WKWebViewConfigurationExtras.h.
* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
* TestWebKitAPI/WKWebViewConfigurationExtras.h:
* TestWebKitAPI/WKWebViewConfigurationExtras.mm:
(+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:configureJSCForTesting:]):
(+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:configureJSCForTesting:andCustomParameterClasses:]):
2019-09-18 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org] fix missing col classes
https://bugs.webkit.org/show_bug.cgi?id=201949
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(@media screen and (min-width: 768px)):
(.row):
(.col-1):
(.col-2):
(.col-3):
(.col-4):
(.col-5):
(.col-6):
(.col-7):
(.col-8):
(.col-9):
(.col-10):
(.col-11):
(.col-12):
(@media screen and (min-width: 600px)):
2019-09-18 Ryan Haddad <ryanhaddad@apple.com>
Update flakiness dashboard configuration for iOS 13 queues
https://bugs.webkit.org/show_bug.cgi?id=201711
Reviewed by Jonathan Bedard.
* TestResultServer/static-dashboards/builders.jsonp:
2019-09-18 Adrian Perez de Castro <aperez@igalia.com>
[WPE][GTK] Update build environments to use libwpe+WPEBackend-fdo 1.4.0
https://bugs.webkit.org/show_bug.cgi?id=201915
Reviewed by Michael Catanzaro.
* flatpak/org.webkit.WPEModules.yaml: Bump versions of libwpe and WPEBackend-fdo to 1.4.0
* gtk/jhbuild.modules: Ditto.
* wpe/jhbuild.modules: Ditto.
2019-09-17 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] Remove unused DOMDefaultImpl.cpp
https://bugs.webkit.org/show_bug.cgi?id=201867
Reviewed by Darin Adler.
* MiniBrowser/win/CMakeLists.txt: Removed DOMDefaultImpl.cpp.
* MiniBrowser/win/DOMDefaultImpl.cpp: Removed.
* MiniBrowser/win/DOMDefaultImpl.h: Removed.
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
2019-09-17 Dean Jackson <dino@apple.com>
Remove the "Show Link Previews" and "Hide Link Previews" action menus in the preview platter
https://bugs.webkit.org/show_bug.cgi?id=201864
<rdar://55190038>
Reviewed by Simon Fraser.
Test for the suggested actions.
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(-[TestContextMenuSuggestedActionsUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuSuggestedActionsUIDelegate webView:contextMenuWillPresentForElement:]):
(TEST):
2019-09-17 Jonathan Bedard <jbedard@apple.com>
results.webkit.org results bubbles' tooltips should include SDK information
https://bugs.webkit.org/show_bug.cgi?id=201823
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/configuration.js:
(Configuration.prototype.compare): Like the Python instance of this class,
support using null as a wildcard.
(Configuration.prototype.compareSDKs): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(TimelineFromEndpoint.prototype.render.onDotEnterFactory): Construct a configuration
object from all bits of data used to construct a given bubble.
(TimelineFromEndpoint.prototype.render):
2019-09-17 Keith Rollin <krollin@apple.com>
Remove some support for < iOS 12
https://bugs.webkit.org/show_bug.cgi?id=201851
<rdar://problem/55422044>
Reviewed by Jiewen Tan and Alexey Proskuryakov.
Remove some support for iOS versions less than 12.0.
Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED
and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
values >= 120000. This means that expressions like
"__IPHONE_OS_VERSION_MIN_REQUIRED < 101200" are always False and
"__IPHONE_OS_VERSION_MIN_REQUIRED >= 101200" are always True.
This removal is part of a series of patches effecting such removal.
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::installFakeHelvetica):
2019-09-17 David Kilzer <ddkilzer@apple.com>
run-webkit-tests: Driver.do_post_tests_work() is never called when `stop_when_done` is true in Driver.run_test()
<https://webkit.org/b/201873>
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/port/driver.py:
(Driver.run_test): Call self.do_post_tests_work() when a test
shard has completed, but didn't crash or time out.
2019-09-17 Chris Dumez <cdumez@apple.com>
REGRESSION (r249923): ASSERTION FAILED: sessionID == WebProcess::singleton().sessionID() in WebCore::SWClientConnection *WebKit::WebServiceWorkerProvider::existingServiceWorkerConnectionForSession(PAL::SessionID)
https://bugs.webkit.org/show_bug.cgi?id=201859
<rdar://problem/55426742>
Reviewed by Alex Christensen.
Update API test to use WKWebsiteDataStoreRef C API to do private browsing instead of using
the legacy WKPreferencesSetPrivateBrowsingEnabled() C API.
* TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
(TestWebKitAPI::TEST):
2019-09-17 Ryan Haddad <ryanhaddad@apple.com>
Bring up queues for iOS 13
https://bugs.webkit.org/show_bug.cgi?id=201710
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json: Move iOS 12 queues to iOS 13.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: Ditto.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.ios-simulator-12 img.logo): Deleted.
(table.queue-grid tr.platform.ios-12 img.logo): Deleted.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Update unit tests.
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):
* BuildSlaveSupport/ews-build/config.json: Move iOS 12 queues to iOS 13.
2019-09-17 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r249950.
Broke the iOS build.
Reverted changeset:
"Remove the "Show Link Previews" and "Hide Link Previews"
action menus in the preview platter"
https://bugs.webkit.org/show_bug.cgi?id=201864
https://trac.webkit.org/changeset/249950
2019-09-17 Dean Jackson <dino@apple.com>
Remove the "Show Link Previews" and "Hide Link Previews" action menus in the preview platter
https://bugs.webkit.org/show_bug.cgi?id=201864
<rdar://55190038>
Reviewed by Simon Fraser.
Test for the suggested actions.
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(-[TestContextMenuSuggestedActionsUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuSuggestedActionsUIDelegate webView:contextMenuWillPresentForElement:]):
(TEST):
2019-09-16 Alex Christensen <achristensen@webkit.org>
Remove "gopher" from list of special schemes in URLParser
https://bugs.webkit.org/show_bug.cgi?id=201852
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2019-09-16 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Shard result archives
https://bugs.webkit.org/show_bug.cgi?id=201734
Reviewed by Dewei Zhu.
Cassandra advertises being able to store up to 2 GB in a single blob-storage row.
In practice, this usually doesn't work according to the Cassandra developers,
large blobs should be broken up into shards of, at most, 10 MB.
* resultsdbpy/resultsdbpy/model/archive_context.py:
(ArchiveContext):
(ArchiveContext.ArchiveMetaDataByCommit): Point to the archive shards by hash.
(ArchiveContext.ArchiveMetaDataByCommit.unpack):
(ArchiveContext.ArchiveChunks): Store archive shards, indexed by hash.
(ArchiveContext.__init__):
(ArchiveContext.register): When saving archives, save a reference hash and then
shard the actual archive data before saving.
(ArchiveContext.find_archive): Search for archive by meta-data, then reconstruct
the archive. Raise an exception if we determine that memory usage is a problem.
(ArchiveContext.ArchivesByCommit): Deleted.
(ArchiveContext.ArchivesByCommit.unpack): Deleted.
* resultsdbpy/resultsdbpy/model/archive_context_unittest.py:
(ArchiveContextTest.init_database): Allow configuration and archive to be specified.
(ArchiveContextTest):
(ArchiveContextTest.test_large_archive): Test archive sharding.
2019-09-16 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Support more than two FIDO protocol versions
https://bugs.webkit.org/show_bug.cgi?id=198408
<rdar://problem/51292176>
Reviewed by Chris Dumez.
Adds a new test case that includes a FIDO_2_1_PRE version string.
* TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FidoTestData.h:
2019-09-16 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Configurations should be branch specific
https://bugs.webkit.org/show_bug.cgi?id=201561
Reviewed by Dewei Zhu.
Partition configurations by branch in both Redis and Cassandra.
* resultsdbpy/resultsdbpy/controller/upload_controller.py:
(UploadController.suites): Allow the user to specify branches while listing suites.
* resultsdbpy/resultsdbpy/model/archive_context.py:
(ArchiveContext.register): Register each configuration with a branch.
* resultsdbpy/resultsdbpy/model/configuration_context.py:
(ConfigurationContext.ByPlatform): Index by branch.
(ConfigurationContext.ByPlatformAndVersion): Ditto.
(ConfigurationContext.ByArchitecture): Ditto.
(ConfigurationContext.ByModel): Ditto.
(ConfigurationContext.__init__): Populate Redis cache with branch.
(ConfigurationContext._convert_to_redis_key): Accept branch in Redis key.
(ConfigurationContext._register_in_redis): Register configuration with branch.
(ConfigurationContext.register_configuration): Ditto.
(ConfigurationContext.search_for_configuration): Search for configuration with branch.
(ConfigurationContext.search_for_recent_configuration): Ditto.
(ConfigurationContext.select_from_table_with_configurations): Ditto.
* resultsdbpy/resultsdbpy/model/configuration_context_unittest.py:
(ConfigurationContextTest.register_configurations): Register with branch.
(ConfigurationContextTest.test_repopulate_recent): Construct ConfigurationContext with
CommitContext object.
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext.SuitesByConfiguration): Index by branch.
(UploadContext.upload_test_results): Register each configuration with a branch.
(UploadContext.find_suites): Pass branch to search for configurations.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js: Check for new configurations when the branch is changed.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Add branch to suites query.
2019-09-16 David Kilzer <ddkilzer@apple.com>
check-webkit-style: Fix warning message for std::make_unique<typename[]>
<https://webkit.org/b/201818>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_wtf_make_unique): Emit different error message when using
std::make_unique<>() to create an array. Personalize the error
message by including the original type name, which also
demonstrates that WTF::makeUniqueArray<>() does not need square
brackets for its typename.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_wtf_make_unique): Add test.
(WebKitStyleTest.test_wtf_make_unique_array): Ditto.
2019-09-16 Andres Gonzalez <andresg_22@apple.com>
Rename [WebAccessibilityObjectWrapper _accessibilityInsertText] to accessibilityInsertText to match accessibility client.
https://bugs.webkit.org/show_bug.cgi?id=201820
Reviewed by Chris Fleizach.
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::insertText):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::insertText):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::insertText):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::insertText):
2019-09-16 David Kilzer <ddkilzer@apple.com>
Fix leaks in DumpRenderTree and WebKitTestRunner
<https://webkit.org/b/201814>
Reviewed by Darin Adler.
* DumpRenderTree/TestNetscapePlugIn/PluginObject.h:
(createCoreAnimationLayer): Fix signature to return CFTypeRef.
Add CF_RETURNS_RETAINED to document behavior.
* DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm:
(createCoreAnimationLayer): Fix signature to return CFTypeRef.
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(takeWindowSnapshot): Add CF_RETURNS_RETAINED to document
behavior.
(createBitmapContextFromWebView): Fix leak of CGImageRef when
generating a replacement image.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: Add @dynamic
declaration for _stableStateOverride so compiler wouldn't try to
create another instance variable for it.
* WebKitTestRunner/mac/EventSenderProxy.mm:
(-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:stageTransition:phase:time:eventNumber:window:]):
Release `cgEvent` to fix leak.
2019-09-16 Andres Gonzalez <andresg_22@apple.com>
Expose misspelling ranges for editable content to accessibility clients.
https://bugs.webkit.org/show_bug.cgi?id=201752
<rdar://problem/49556828>
Reviewed by Chris Fleizach.
Test code needed for LayoutTests/accessibility/misspelling-range.html.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::misspellingTextMarkerRange):
(WTR::AccessibilityUIElement::indexForTextMarker):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::misspellingSearchParameterizedAttributeForCriteria):
(WTR::AccessibilityUIElement::misspellingTextMarkerRange):
2019-09-16 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r249142): [GTK] Epiphany delayed page loads continue indefinitely
https://bugs.webkit.org/show_bug.cgi?id=201544
Reviewed by Michael Catanzaro.
Add new test cases.
* TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
(testWebViewActiveURI):
(testWebViewIsLoading):
* TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp:
(loadChangedCallback):
(LoadTrackingTest::loadAlternateHTML):
(LoadTrackingTest::reset):
* TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.h:
2019-09-15 David Kilzer <ddkilzer@apple.com>
block-spammers should obtain credentials the same way as webkit-patch
<https://webkit.org/b/201733>
Reviewed by Lucas Forschler.
* Scripts/block-spammers: Import Credentials from webkitpy.
Remove unused imports. Enable logging at info level to match
webkit-patch.
(get_bugzilla_token): Use Credentials module to get
bugs.webkit.org credentials.
* Scripts/webkitpy/common/net/credentials.py:
(Credentials._run_security_tool): Change logging level from
error to info since multiple attempts are made at reading the
keychain. Fix typos in comment.
(Credentials._credentials_from_security_command): Extract common
logic from Credentials._credentials_from_keychain into new
method.
(Credentials._credentials_from_keychain): Make fallback logic
for checking for credentials in the keychain more consistent and
easier to read. Add error logging if no credentials are found.
2019-09-13 Youenn Fablet <youenn@apple.com>
WPT importer should check META global tag in .any.js files to generate the valid .html stub files
https://bugs.webkit.org/show_bug.cgi?id=201718
Reviewed by Chris Dumez.
Read meta tag information to select the environments where the any.js template tests will be run.
Added support to run service worker tests from any.js template tests.
Covered by unit test.
Since we import only a single repository nowadays, use a test config file with just one repository
to simplify the new test.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.__init__):
(TestImporter.readEnvironmentsForTemplateTest):
(TestImporter.write_html_files_for_templated_js_tests):
* Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest.test_import_dir_with_no_tests_and_no_hg):
(TestImporterTest.test_import_dir_with_no_tests):
(TestImporterTest.test_import_dir_with_empty_init_py):
(TestImporterTest.test_harnesslinks_conversion):
(TestImporterTest.test_submodules_generation):
(test_checkout_directory):
(test_clean_directory_option):
(test_git_ignore_generation):
(test_initpy_generation):
(test_remove_obsolete_content):
(test_manual_slow_test):
(test_webkit_test_runner_options):
(test_webkit_test_runner_import_reftests_with_absolute_paths_download):
(test_webkit_test_runner_import_reftests_with_absolute_paths_from_source_dir):
(test_template_test):
2019-09-13 Dean Jackson <dino@apple.com>
Provide a prototype for AR QuickLook to trigger processing in the originating page
https://bugs.webkit.org/show_bug.cgi?id=201371
<rdar://54904781>
Disable the test for the moment.
* TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
(TestWebKitAPI::TEST):
2019-09-11 Dean Jackson <dino@apple.com>
Provide a prototype for AR QuickLook to trigger processing in the originating page
https://bugs.webkit.org/show_bug.cgi?id=201371
<rdar://54904781>
Reviewed by Simon Fraser.
* TestWebKitAPI/Tools/TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/system-preview-trigger.html: Added.
2019-09-13 Youenn Fablet <youenn@apple.com>
Partition processes running service workers by session ID
https://bugs.webkit.org/show_bug.cgi?id=201643
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2019-09-13 Nikolas Zimmermann <zimmermann@kde.org>
Re-add myself to the list of committers
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-09-13 Alex Christensen <achristensen@webkit.org>
[iOS] TestWebKitAPI.WebKit.TLSVersionWebSocket is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=201745
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
The exact message isn't important. The fact that the TLS handshake failed is, which is checked by the TCPServer.
2019-09-13 Patrick Griffis <pgriffis@igalia.com>
[JHBuild] Fix building gst-plugins-good against glibc 2.30
https://bugs.webkit.org/show_bug.cgi?id=201715
Reviewed by Xabier Rodriguez-Calvar.
* gstreamer/patches/gst-plugins-good-glibc-2.30-compat.patch: Added.
2019-09-12 Chris Dumez <cdumez@apple.com>
[WKTR] Drop TestRunner.setPrivateBrowsingEnabled_DEPRECATED()
https://bugs.webkit.org/show_bug.cgi?id=201546
Reviewed by Alex Christensen.
Drop TestRunner.setPrivateBrowsingEnabled_DEPRECATED() from WebKitTestRunner as it does not do
the right thing for WebKit2 and tests have been rewritten to not use it.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPrivateBrowsingEnabled_DEPRECATED): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-09-12 Brady Eidson <beidson@apple.com>
PDF exporting on iOS should include URL rects.
<rdar://problem/54900133> and https://bugs.webkit.org/show_bug.cgi?id=201693
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
(TestWebKitAPI::TEST): Enable on iOS.
2019-09-12 Adrian Perez de Castro <aperez@igalia.com>
[GTK][WPE] webkit_settings_set_user_agent() allows content forbidden in HTTP headers
https://bugs.webkit.org/show_bug.cgi?id=201077
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/CMakeLists.txt: Add missing HTTPParsers.cpp to be built into TestWebCore.
* TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp:
(TestWebKitAPI::TEST): Add tests for WebCore::isValidUserAgentHeaderValue().
2019-09-12 Mark Lam <mark.lam@apple.com>
Harden JSC against the abuse of runtime options.
https://bugs.webkit.org/show_bug.cgi?id=201597
<rdar://problem/55167068>
Reviewed by Filip Pizlo.
Linux parts contributed by Carlos Garcia Campos <cgarcia@igalia.com>.
Windows parts contributed by Fujii Hironori <Hironori.Fujii@sony.com>.
Call JSC::Config::configureForTesting() in test harnesses or at the top of tests
to disable the hardening on test runs. Tests rely on setting options to enable
test features.
* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpRenderTree):
* DumpRenderTree/win/DumpRenderTree.cpp:
(initialize):
* TestWebKitAPI/PlatformUtilities.cpp:
(TestWebKitAPI::Util::createContextWithInjectedBundle):
* TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
(main):
* TestWebKitAPI/Tests/WebKitCocoa/ApplePay.mm:
(TestWebKitAPI::TEST):
(TestWebKitAPI::runActiveSessionTest):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDiagnosticLogging.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
* TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/WKWebViewConfigurationExtras.h:
* TestWebKitAPI/WKWebViewConfigurationExtras.mm:
(+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:]):
(+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:configureJSCForTesting:]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generateContextConfiguration const):
2019-09-12 Keith Rollin <krollin@apple.com>
Fix PDFKit references in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=201700
<rdar://problem/55279539>
Reviewed by Youenn Fablet.
These references fail in watchOS and tvOS, so remove them on those
platforms.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
* TestWebKitAPI/cocoa/TestPDFDocument.h:
* TestWebKitAPI/cocoa/TestPDFDocument.mm:
* TestWebKitAPI/config.h:
2019-09-11 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] Select all text in the URL bar by clicking it
https://bugs.webkit.org/show_bug.cgi?id=201677
Reviewed by Don Olmstead.
* MiniBrowser/win/MainWindow.cpp:
(EditProc): Post EM_SETSEL in WM_SETFOCUS to select all text.
2019-09-11 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Stop using the session bus in the unit tests
https://bugs.webkit.org/show_bug.cgi?id=201636
Reviewed by Žan Doberšek.
We are actually using GTestDBus, not the actual session bus of the user session, but it would still be better to
use a private p2p DBus connection. This is also the way we encourage apps to implement the communication with
the web process extension. This patch removes the WebKitTestBus class and starts a DBus server before every
test. The server address is passed to the web extension as initialization parameter to connect directly to
it. We keep a global list of connections to the server and a HashMap to get the current active connection for
a WebKitWebView.
* TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
(beforeAll):
(afterAll):
* TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
(testProcessPerWebView):
(beforeAll):
(afterAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebExtensionGetTitle):
(testWebExtensionInputElementIsUserEdited):
(testDocumentLoadedSignal):
(testWebKitWebViewProcessCrashed):
(testWebExtensionIsolatedWorld):
(testInstallMissingPluginsPermissionRequest):
(testWebExtensionFormControlsAssociated):
(FormSubmissionTest::FormSubmissionTest):
(beforeAll):
(afterAll):
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(DelayedSignal::DelayedSignal):
(emitPageCreated):
(pageCreatedCallback):
(webkit_web_extension_initialize_with_user_data):
* TestWebKitAPI/Tests/WebKitGtk/AccessibilityTestServer.cpp:
* TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(AccessibilityTest::AccessibilityTest):
(AccessibilityTest::ensureProxy):
(beforeAll):
(afterAll):
* TestWebKitAPI/glib/CMakeLists.txt:
* TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
(dbusConnectionClosed):
(dbusServerConnection):
(startDBusServer):
(stopDBusServer):
(main):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::initializeWebExtensions):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp: Removed.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.h: Removed.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::~WebViewTest):
(WebViewTest::extensionProxy):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2019-09-10 Dean Jackson <dino@apple.com>
setup-git-clone is using http not https
https://bugs.webkit.org/show_bug.cgi?id=201658
Reviewed by Sam Weinig.
* Scripts/webkitpy/tool/commands/setupgitclone.py:
(SetupGitClone.execute):
2019-09-10 Matt Lewis <jlewis3@apple.com>
run-webkit-test: Allow results to be uploaded without scm checkout
https://bugs.webkit.org/show_bug.cgi?id=200787
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/checkout/scm/detection.py:
(SCMDetector.detect_scm_system): Added in detection of stub repository.
* Scripts/webkitpy/common/checkout/scm/stub_repository.py: Added.
(StubRepository):
(StubRepository.__init__):
(StubRepository._find_parent_path_matching_callback_condition): Checks up the path given to
find the directory containing the checkout_information.json of the stub repository.
(StubRepository.in_working_directory): Required functions to be implemented.
(StubRepository.svn_revision): Required functions to be implemented.
(StubRepository.native_revision): Required functions to be implemented.
(StubRepository.native_branch): Required functions to be implemented.
(StubRepository._decode_json): Decodes checkout_information.json.
(StubRepository.find_checkout_root): Required functions to be implemented.
* Scripts/webkitpy/common/checkout/scm/stub_repository_unittest.py: Added.
(StubRepositoryTest): Unit test for stub_repository SCM.
(StubRepositoryTest.mock_host_for_stub_repository):
(StubRepositoryTest.test_in_working_directory):
(StubRepositoryTest.test_native_revision):
(StubRepositoryTest.test_native_branch):
(StubRepositoryTest.test_svn_revision):
(StubRepositoryTest.test_find_checkout_root):
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGenerator._get_svn_revision): Removed unnecessary scm initialization.
* Scripts/webkitpy/port/base.py:
(Port.commits_for_upload): Removed unnecessary scm initialization.
2019-09-10 Brady Eidson <beidson@apple.com>
Add SPI to save a PDF from the contents of a WKWebView.
<rdar://problem/48955900> and https://bugs.webkit.org/show_bug.cgi?id=195765
Reviewed by Tim Horton.
-Add an "Export to PDF..." menu option to MiniBrowser.
-Add API tests for the API itself.
* MiniBrowser/MiniBrowser.entitlements:
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController forceRepaint:]):
(-[BrowserWindowController saveAsPDF:]):
* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController saveAsPDF:]):
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestPDFDocument.h: Added.
* TestWebKitAPI/cocoa/TestPDFDocument.mm: Added.
(TestWebKitAPI::toCGRect):
(TestWebKitAPI::toPlatformPoint):
(TestWebKitAPI::TestPDFAnnotation::TestPDFAnnotation):
(TestWebKitAPI::TestPDFAnnotation::isLink const):
(TestWebKitAPI::TestPDFAnnotation::bounds const):
(TestWebKitAPI::TestPDFAnnotation::linkURL const):
(TestWebKitAPI::TestPDFPage::create):
(TestWebKitAPI::TestPDFPage::TestPDFPage):
(TestWebKitAPI::TestPDFPage::annotations):
(TestWebKitAPI::TestPDFPage::characterCount const):
(TestWebKitAPI::TestPDFPage::text const):
(TestWebKitAPI::TestPDFPage::rectForCharacterAtIndex const):
(TestWebKitAPI::TestPDFPage::characterIndexAtPoint const):
(TestWebKitAPI::TestPDFPage::bounds const):
(TestWebKitAPI::TestPDFPage::colorAtPoint const):
(TestWebKitAPI::TestPDFDocument::createFromData):
(TestWebKitAPI::TestPDFDocument::TestPDFDocument):
(TestWebKitAPI::TestPDFDocument::pageCount const):
(TestWebKitAPI::TestPDFDocument::page):
2019-09-10 Keith Rollin <krollin@apple.com>
Remove SSL-based TLSDeprecation.mm contents
https://bugs.webkit.org/show_bug.cgi?id=201657
<rdar://problem/55237678>
Reviewed by Alex Christensen.
This file does not build on watchOS due to references to SSL
facilities. Conditionalize out the contents on HAVE_SSL.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
2019-09-10 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, remove myself from watchlists
* Scripts/webkitpy/common/config/watchlist:
2019-09-09 Alex Christensen <achristensen@webkit.org>
Rebase API test after r249675
https://bugs.webkit.org/show_bug.cgi?id=201596
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
We removed the restriction on WebsitePolicies with non-default persistent sessions.
We needed to change the expectations of the test that exercised that code path.
2019-09-09 Alex Christensen <achristensen@webkit.org>
Fix iOS API tests after r249684
https://bugs.webkit.org/show_bug.cgi?id=201573
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::getWebSocketEventWebKitLegacy):
(TestWebKitAPI::TEST):
The web thread still exists :(
That makes iOS immediate failure results more like WK2, which is fine.
The point is that the connection fails somehow and the server sees a TLS failure, which the test verifies.
2019-09-09 Chris Dumez <cdumez@apple.com>
REGRESSION: http/tests/resourceLoadStatistics/do-not-capture-statistics-for-simple-top-navigations.html is frequently timing out on iOS EWS bots
https://bugs.webkit.org/show_bug.cgi?id=201550
Reviewed by Alex Christensen.
Update testRunner.statisticsNotifyObserver() to return a boolean indicating if it did
anything or not.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::statisticsNotifyObserver):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsNotifyObserver):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-09-09 Timothy Hatcher <timothy@apple.com>
Tap and hold on Facebook sometimes creates a tall empty selection.
https://bugs.webkit.org/show_bug.cgi?id=201618
rdar://53630145
Reviewed by Megan Gardner.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/SelectionByWord.mm: Added.
2019-09-09 Aakash Jain <aakash_jain@apple.com>
[EWS] Watchlist doesn't work sometimes
https://bugs.webkit.org/show_bug.cgi?id=201433
Reviewed by Michael Catanzaro.
* Scripts/webkitpy/common/config/watchlist: Updated the email addresses to the one associated with
corresponding Bugzilla accounts.
2019-09-09 Alex Christensen <achristensen@webkit.org>
Disable TLS 1.0 and 1.1 in WebSockets
https://bugs.webkit.org/show_bug.cgi?id=201573
Reviewed by Youenn Fablet.
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TCPServer.cpp:
(sk_CRYPTO_BUFFER_num):
(sk_CRYPTO_BUFFER_value):
(TestWebKitAPI::deleter<CRYPTO_BUFFER>::operator()):
(TestWebKitAPI::TCPServer::TCPServer):
(TestWebKitAPI::TCPServer::listenForConnections):
(TestWebKitAPI::deleter<X509>::operator()): Deleted.
(TestWebKitAPI::deleter<uint8_t::operator()): Deleted.
* TestWebKitAPI/TCPServer.h:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: Added.
(-[WebSocketDelegate waitForMessage]):
(-[WebSocketDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestNavigationDelegate waitForDidFailProvisionalNavigation]):
2019-09-09 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] WebKitLegacyBrowserWindow is leaked by circular references
https://bugs.webkit.org/show_bug.cgi?id=201600
Reviewed by Brent Fulgham.
There were some circular references between
WebKitLegacyBrowserWindow and its delegation classes. For
example, WebKitLegacyBrowserWindow has a reference of
WebDownloadDelegate, and WebDownloadDelegate shares the ref
counter with WebKitLegacyBrowserWindow.
WebNotificationObserver was leaked because it wasn't unregistered
from the default notification center by using
IWebNotificationCenter::removeObserver.
If a new legacy window was created by mouse right click a link,
WebView was released twice because
PrintWebUIDelegate::createWebViewWithRequest didn't AddRef the
WebView.
This change does:
1. Make delegation classes have own ref-counter to avoid circular references
2. Do removeObserver notification observers
3. AddRef WebView in PrintWebUIDelegate::createWebViewWithRequest
* MiniBrowser/win/AccessibilityDelegate.cpp:
(AccessibilityDelegate::AddRef):
(AccessibilityDelegate::Release):
* MiniBrowser/win/AccessibilityDelegate.h: Added m_refCount.
* MiniBrowser/win/MiniBrowserWebHost.cpp:
(MiniBrowserWebHost::QueryInterface):
(MiniBrowserWebHost::AddRef):
(MiniBrowserWebHost::Release):
* MiniBrowser/win/MiniBrowserWebHost.h: Added m_refCount.
* MiniBrowser/win/PrintWebUIDelegate.cpp:
(PrintWebUIDelegate::createWebViewWithRequest): Do AddRef for the returned IWebView.
(PrintWebUIDelegate::AddRef):
(PrintWebUIDelegate::Release):
* MiniBrowser/win/PrintWebUIDelegate.h: Added m_refCount.
* MiniBrowser/win/ResourceLoadDelegate.cpp:
(ResourceLoadDelegate::AddRef):
(ResourceLoadDelegate::Release):
* MiniBrowser/win/ResourceLoadDelegate.h: Added m_refCount.
* MiniBrowser/win/WebDownloadDelegate.cpp:
(WebDownloadDelegate::AddRef):
(WebDownloadDelegate::Release):
* MiniBrowser/win/WebDownloadDelegate.h: Added m_refCount.
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::~WebKitLegacyBrowserWindow): Do removeObserver notification observers.
(WebKitLegacyBrowserWindow::init):
(WebKitLegacyBrowserWindow::setUIDelegate):
(WebKitLegacyBrowserWindow::setAccessibilityDelegate):
(WebKitLegacyBrowserWindow::setResourceLoadDelegate):
(WebKitLegacyBrowserWindow::setDownloadDelegate):
(WebKitLegacyBrowserWindow::AddRef): Deleted.
(WebKitLegacyBrowserWindow::Release): Deleted.
(WebKitLegacyBrowserWindow::setFrameLoadDelegate): Deleted.
(WebKitLegacyBrowserWindow::setFrameLoadDelegatePrivate): Deleted.
* MiniBrowser/win/WebKitLegacyBrowserWindow.h:
2019-09-09 Chris Dumez <cdumez@apple.com>
Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/adClickAttribution/conversion-disabled-in-ephemeral-session.html
https://bugs.webkit.org/show_bug.cgi?id=201596
Reviewed by Alex Christensen.
Add new testRunner.setShouldSwapToEphemeralSessionOnNextNavigation() / testRunner.setShouldSwapToDefaultSessionOnNextNavigation()
test functions to support dynamic switching between ephemeral and default/persistent session in layout tests. The new methods
do the right thing for WebKit2 and truly switch session, unlike setPrivateBrowsingEnabled_DEPRECATED() which was merely making
the WebCore::Document think it changed session.
* DumpRenderTree/TestRunner.cpp:
(setShouldSwapToEphemeralSessionOnNextNavigationCallback):
(setShouldSwapToDefaultSessionOnNextNavigationCallback):
(TestRunner::staticFunctions):
(TestRunner::willNavigate):
* DumpRenderTree/TestRunner.h:
(TestRunner::setShouldSwapToEphemeralSessionOnNextNavigation):
(TestRunner::setShouldSwapToDefaultSessionOnNextNavigation):
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setShouldSwapToEphemeralSessionOnNextNavigation):
(WTR::TestRunner::setShouldSwapToDefaultSessionOnNextNavigation):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::decidePolicyForNavigationAction):
* WebKitTestRunner/TestController.h:
(WTR::TestController::setShouldSwapToEphemeralSessionOnNextNavigation):
(WTR::TestController::setShouldSwapToDefaultSessionOnNextNavigation):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-09-09 Aakash Jain <aakash_jain@apple.com>
EWS testtube emoji doesn't exist on macOS Mojave
https://bugs.webkit.org/show_bug.cgi?id=201532
Reviewed by Simon Fraser.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): Change the emoji to microscope emoji.
2019-09-09 Aakash Jain <aakash_jain@apple.com>
[EWS] API testers can go in an infinite RETRY loop when there is build failure in trunk
https://bugs.webkit.org/show_bug.cgi?id=201607
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults.analyzeResults): Do not RETRY when clean_tree_results are missing.
(AnalyzeAPITestsResults.analyzeResults.getAPITestFailures): Gracefully handle None result.
2019-09-07 Keith Miller <keith_miller@apple.com>
OSR entry into wasm misses some contexts
https://bugs.webkit.org/show_bug.cgi?id=201569
Reviewed by Yusuke Suzuki.
Add new test harness mode for tests created from wast files.
* Scripts/run-jsc-stress-tests:
2019-09-09 Daniel Bates <dabates@apple.com>
Remove all selection view animations before dumping results
https://bugs.webkit.org/show_bug.cgi?id=199241
Reviewed by Wenson Hsieh.
On iOS the selection UI uses a few animations, including fading in the grabbers. We have many
historical tests that were written for Mac and expect Mac's lack of animations that we run on
iOS and are flaky. Let's try to remove all selection view animations before dumping results and
see if this makes tests on iOS less flaky. A future enhancement to this is to expose a uiController
API for a test to remove selection animations at any time during the run.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::notifyDone):
2019-09-09 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: Report results archive to results.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=201321
Reviewed by Aakash Jain.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): After all tests are finish, upload the results archive for each
configuration.
* Scripts/webkitpy/results/upload.py:
(Upload):
(Upload.__init__): Automatically define timestamp.
(Upload.upload_archive): Upload an archive associated with the test run.
* Scripts/webkitpy/results/upload_unittest.py:
(UploadTest.test_buildbot):
(UploadTest):
(UploadTest.test_archive_upload):
2019-09-09 Chris Dumez <cdumez@apple.com>
Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/workers/service/basic-register.html
https://bugs.webkit.org/show_bug.cgi?id=201590
Reviewed by Youenn Fablet.
Add a new API test to check that if the default session registers a service worker, the
hasServiceWorkerRegistration flag is still false in an ephemeral session.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2019-09-09 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: mobile-sidebar-control should override button
https://bugs.webkit.org/show_bug.cgi?id=201566
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(@media screen and (min-width: 600px)):
(.mobile-sidebar-control):
(.mobile-sidebar-control.display):
2019-09-07 Chris Dumez <cdumez@apple.com>
Rewrite http/tests/workers/service/serviceworker-private-browsing.https.html as an API test
https://bugs.webkit.org/show_bug.cgi?id=201574
Reviewed by Alex Christensen.
Rewrite http/tests/workers/service/serviceworker-private-browsing.https.html as an API test so that
we truly test private browsing. testRunner.setPrivateBrowsingEnabled_DEPRECATED() is a hack which
does not work well for WK2.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2019-09-07 Chris Dumez <cdumez@apple.com>
Rewrite storage/domstorage/localstorage/private-browsing-affects-storage.html as an API test
https://bugs.webkit.org/show_bug.cgi?id=201547
Reviewed by Alex Christensen.
Rewrite storage/domstorage/localstorage/private-browsing-affects-storage.html as an API test so
it can use a true ephemeral session instead of the testRunner.setPrivateBrowsingEnabled_DEPRECATED()
hack.
* TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(-[LocalStorageNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
(-[LocalStorageNavigationDelegate webView:didFinishNavigation:]):
(TEST):
2019-09-07 Alex Christensen <achristensen@webkit.org>
Remove WebsiteDataStore::legacyDefaultDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=200054
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
This test relied on the default data store having been instantiated.
2019-09-07 Alex Christensen <achristensen@webkit.org>
Remove calls to WKContextGetWebsiteDataStore missed in r249614
https://bugs.webkit.org/show_bug.cgi?id=200050
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
2019-09-07 Alex Christensen <achristensen@webkit.org>
Remove invalid assertion added in r249614
https://bugs.webkit.org/show_bug.cgi?id=200050
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
Something is instantiating the default data store, which is no problem right now.
2019-09-07 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r249353.
The test for this change is a flaky failure.
Reverted changeset:
"Add support for postMessage buffering between the service
worker and window"
https://bugs.webkit.org/show_bug.cgi?id=201169
https://trac.webkit.org/changeset/249353
2019-09-07 Alex Christensen <achristensen@webkit.org>
Deprecate WKContextGetWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=200050
Reviewed by Geoff Garen.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::updateProxySettings):
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generateContextConfiguration const):
(WTR::TestController::websiteDataStore):
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::platformAdjustContext):
(WTR::TestController::clearServiceWorkerRegistrations):
(WTR::TestController::clearDOMCache):
(WTR::TestController::clearDOMCaches):
(WTR::TestController::ClearIndexedDatabases):
(WTR::TestController::hasDOMCache):
(WTR::TestController::domCacheSize):
(WTR::TestController::setStatisticsDebugMode):
(WTR::TestController::setStatisticsPrevalentResourceForDebugMode):
(WTR::TestController::setStatisticsLastSeen):
(WTR::TestController::setStatisticsPrevalentResource):
(WTR::TestController::setStatisticsVeryPrevalentResource):
(WTR::TestController::dumpResourceLoadStatistics):
(WTR::TestController::isStatisticsPrevalentResource):
(WTR::TestController::isStatisticsVeryPrevalentResource):
(WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
(WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
(WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
(WTR::TestController::setStatisticsHasHadUserInteraction):
(WTR::TestController::isStatisticsHasHadUserInteraction):
(WTR::TestController::setStatisticsGrandfathered):
(WTR::TestController::isStatisticsGrandfathered):
(WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
(WTR::TestController::setStatisticsSubresourceUniqueRedirectFrom):
(WTR::TestController::setStatisticsTopFrameUniqueRedirectTo):
(WTR::TestController::setStatisticsTopFrameUniqueRedirectFrom):
(WTR::TestController::setStatisticsCrossSiteLoadWithLinkDecoration):
(WTR::TestController::setStatisticsTimeToLiveUserInteraction):
(WTR::TestController::statisticsProcessStatisticsAndDataRecords):
(WTR::TestController::statisticsUpdateCookieBlocking):
(WTR::TestController::statisticsSubmitTelemetry):
(WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WTR::TestController::setStatisticsIsRunningTest):
(WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
(WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
(WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
(WTR::TestController::setStatisticsGrandfatheringTime):
(WTR::TestController::setStatisticsMaxStatisticsEntries):
(WTR::TestController::setStatisticsPruneEntriesDownTo):
(WTR::TestController::statisticsClearInMemoryAndPersistentStore):
(WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
(WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
(WTR::TestController::statisticsDeleteCookiesForHost):
(WTR::TestController::isStatisticsHasLocalStorage):
(WTR::TestController::setStatisticsCacheMaxAgeCap):
(WTR::TestController::statisticsResetToConsistentState):
(WTR::TestController::setWebAuthenticationMockConfiguration):
(WTR::TestController::clearAdClickAttributionsThroughWebsiteDataRemoval):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
2019-09-06 Wenson Hsieh <wenson_hsieh@apple.com>
Incorrect selection rect revealed after pasting images in a contenteditable element
https://bugs.webkit.org/show_bug.cgi?id=201549
<rdar://problem/50956429>
Reviewed by Simon Fraser.
Add an API test to exercise the scenario where we scroll to reveal the selection after pasting an image that was
directly written to the pasteboard.
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
2019-09-06 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r249582.
This caused results.html fail to be created on internal
testers.
Reverted changeset:
"run-webkit-test: Allow results to be uploaded without scm
checkout"
https://bugs.webkit.org/show_bug.cgi?id=200787
https://trac.webkit.org/changeset/249582
2019-09-06 Aakash Jain <aakash_jain@apple.com>
[ews-app] Status bubble should only display important messages in pop-over - part 2
https://bugs.webkit.org/show_bug.cgi?id=201557
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): Add few more strings to STEPS_TO_HIDE.
2019-09-06 Alex Christensen <achristensen@webkit.org>
Deprecate all WKCookieManagerRef functions
https://bugs.webkit.org/show_bug.cgi?id=201473
Reviewed by Chris Dumez.
Adopt replacement C API in WebKitTestRunner.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/CookieManager.cpp: Removed, because the functions it tests were removed.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
2019-09-06 Tim Horton <timothy_horton@apple.com>
Marking up a note on iOS results in a PDF with no contents
https://bugs.webkit.org/show_bug.cgi?id=201530
<rdar://problem/53686019>
Reviewed by Andy Estes.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewPrintFormatter.mm:
Add some tests for WKWebViewPrintFormatter; specifically that it is
possible to _recalcPageCount twice in quick succession, and that
we don't hang if we start painting the printed content immediately
after a Web Content process crash.
2019-09-06 Matt Lewis <jlewis3@apple.com>
run-webkit-test: Allow results to be uploaded without scm checkout
https://bugs.webkit.org/show_bug.cgi?id=200787
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/checkout/scm/detection.py:
(SCMDetector.detect_scm_system): Added in detection of stub repository.
* Scripts/webkitpy/common/checkout/scm/stub_repository.py: Added.
(StubRepository):
(StubRepository.__init__):
(StubRepository._find_parent_path_matching_callback_condition): Checks up the path given to
find the directory containing the checkout_information.json of the stub repository.
(StubRepository.in_working_directory): Required functions to be implemented.
(StubRepository.svn_revision): Required functions to be implemented.
(StubRepository.native_revision): Required functions to be implemented.
(StubRepository.native_branch): Required functions to be implemented.
(StubRepository._decode_json): Decodes checkout_information.json.
(StubRepository.find_checkout_root): Required functions to be implemented.
* Scripts/webkitpy/common/checkout/scm/stub_repository_unittest.py: Added.
(StubRepositoryTest): Unit test for stub_repository SCM.
(StubRepositoryTest.mock_host_for_stub_repository):
(StubRepositoryTest.test_in_working_directory):
(StubRepositoryTest.test_native_revision):
(StubRepositoryTest.test_native_branch):
(StubRepositoryTest.test_svn_revision):
(StubRepositoryTest.test_find_checkout_root):
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGenerator._get_svn_revision): Removed unnecessary scm initialization.
* Scripts/webkitpy/port/base.py:
(Port.commits_for_upload): Removed unnecessary scm initialization.
2019-09-06 Alex Christensen <achristensen@webkit.org>
When disabling legacy private browsing for testing, change the SessionID back to what it was, not the defaultSessionID
https://bugs.webkit.org/show_bug.cgi?id=201480
Reviewed by Youenn Fablet.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPrivateBrowsingEnabled):
2019-09-06 Rob Buis <rbuis@igalia.com>
Add runtime flag for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=199794
Reviewed by Frédéric Wang.
Remove parts of r248409 that were meant for WK1 since
lazy image loading is WK2 only.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(setWebPreferencesForTestOptions):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
2019-09-05 Chris Dumez <cdumez@apple.com>
Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in imported/w3c/IndexedDB-private-browsing
https://bugs.webkit.org/show_bug.cgi?id=201519
Reviewed by Alex Christensen.
Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in imported/w3c/IndexedDB-private-browsing
as it does not truly enable private browsing for WebKit2. Instead, have WKTR / DRT set the
TestOption::useEphemeralSession flag based on the test folder.
* DumpRenderTree/mac/DumpRenderTree.mm:
(shouldUseEphemeralSession):
(runTest):
* WebKitTestRunner/TestOptions.cpp:
(WTR::shouldUseEphemeralSession):
(WTR::TestOptions::TestOptions):
2019-09-05 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] Support Per-Monitor (V2) DPI Awareness
https://bugs.webkit.org/show_bug.cgi?id=201450
Reviewed by Don Olmstead.
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::WndProc): Set the window position suggested by WM_DPICHANGED.
* MiniBrowser/win/WinMain.cpp:
(wWinMain): Call SetProcessDpiAwarenessContext by using soft linking.
2019-09-05 Chris Dumez <cdumez@apple.com>
REGRESSION: http/tests/adClickAttribution/second-attribution-converted-with-higher-priority.html and http/tests/adClickAttribution/second-attribution-converted-with-lower-priority.html are flaky timeouts
https://bugs.webkit.org/show_bug.cgi?id=201440
<rdar://problem/54998427>
Reviewed by Alex Christensen.
Since r249350, it is now possible for a WebContent process to have a suspended WebPage for the current web view.
This was confusing InjectedBundle::page() in WebKitTestRunner which was assuming that the WebPage that was first
created in the WebContent process is the one that is currently running the test and that we want to talk to.
Update InjectedBundle::page() to ignore suspended WebPages in order to address the issue.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::page const):
2019-09-05 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Assign notifyRerender before calling
https://bugs.webkit.org/show_bug.cgi?id=201510
Reviewed by Aakash Jain.
Timelines should define notifyRerender to an empty function,
rename notifiyRerender to notifyRerender.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
* resultsdbpy/resultsdbpy/view/templates/search.html:
* resultsdbpy/resultsdbpy/view/templates/suite_results.html:
2019-09-05 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Fix prepending search result on empty list
https://bugs.webkit.org/show_bug.cgi?id=201512
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/view/templates/search.html:
2019-09-05 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Retain certain parameters when following menu links
https://bugs.webkit.org/show_bug.cgi?id=201463
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/site_menu.py:
(SiteMenu.add_endpoint): Allow added endpoints to define parameters to be retained.
* resultsdbpy/resultsdbpy/view/templates/base.html: When clicking on a site-menu link,
retain the specified parameters
* resultsdbpy/resultsdbpy/view/view_routes.py:
(ViewRoutes.__init__):
2019-09-05 Chris Dumez <cdumez@apple.com>
[WK2] Add proper layout test support for ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=201475
Reviewed by Antti Koivisto.
Add proper layout test support for ephemeral sessions via:
<!-- webkit-test-runner [ useEphemeralSession=true ] -->
This actually creates a new WebView using an ephemeral data store to load the test which
is *true* private browsing.
testRunner.setPrivateBrowsingEnabled() merely overrides the Page's sessionID in the WebContent
process, which is a hack and does not truly enable private browsing because the UIProcess and
the NetworkProcess are not properly updated on WK2. This patch renames testRunner.setPrivateBrowsingEnabled()
to testRunner.setPrivateBrowsingEnabled_DEPRECATED() to discourage its use since I am try to
get rid of it.
Note that WK2 does not support using a WebContent process for different sessions / data stores.
Each WebContent process has a single associated data store and testRunner.setPrivateBrowsingEnabled()
is currently the only exception to that. This leads to additional complexity in our code base (e.g. in ITP),
simply to support testRunner.setPrivateBrowsingEnabled().
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPrivateBrowsingEnabled_DEPRECATED):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
2019-09-05 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION (iOS 13): Bulleted list copied from Notes to Mail results in Times New Roman
https://bugs.webkit.org/show_bug.cgi?id=201490
Reviewed by Daniel Bates.
Added a test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/cocoa-writer-markup-with-lists.html: Added.
2019-09-05 Ryosuke Niwa <rniwa@webkit.org>
Remove unused SPI that accesses MemoryCache directly
https://bugs.webkit.org/show_bug.cgi?id=201468
Reviewed by Youenn Fablet.
Removed the API test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/MemoryCacheAddImageToCacheIOS.mm: Removed.
2019-09-04 Timothy Hatcher <timothy@apple.com>
Mail appears to be double inverting code copied from Notes, Xcode, or Terminal.
https://bugs.webkit.org/show_bug.cgi?id=201368
rdar://problem/40529867
Reviewed by Ryosuke Niwa.
Added Tests: PasteHTML.TransformColorsOfDarkContent, PasteHTML.DoesNotTransformColorsOfLightContent,
PasteRTFD.TransformColorsOfDarkContent, PasteRTFD.DoesNotTransformColorsOfLightContent
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
(createWebViewWithCustomPasteboardDataSetting): Added argument to enable color filter.
* TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
(createWebViewWithCustomPasteboardDataEnabled): Added argument to enable color filter.
* TestWebKitAPI/Tests/WebKitCocoa/rich-color-filtered.html: Added.
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView forceDarkMode]):
2019-09-04 Wenson Hsieh <wenson_hsieh@apple.com>
MobileSafari may crash when invoking the C++ lambda in -[WKContentView _shareForWebView:]
https://bugs.webkit.org/show_bug.cgi?id=201479
<rdar://problem/51511834>
Reviewed by Tim Horton.
Add a test to verify that the UI process doesn't crash when invoking `_share:` while there's no selection.
* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
* TestWebKitAPI/ios/UIKitSPI.h:
2019-09-04 Wenson Hsieh <wenson_hsieh@apple.com>
-[WKContentView selectedText] returns an empty string when selecting more than 200 characters
https://bugs.webkit.org/show_bug.cgi?id=201471
<rdar://problem/55039227>
Reviewed by Tim Horton.
Add an API test to ensure that -selectedText is non-empty in the case where more than 200 characters are
selected.
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/UIKitSPI.h:
2019-09-04 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Fix mobile vs desktop mode
https://bugs.webkit.org/show_bug.cgi?id=201441
Rubber-stamped by Aakash Jain.
We should unconditionally use desktop mode if the device screen-width
is large enough.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
2019-09-04 Jonathan Bedard <jbedard@apple.com>
run-api-tests: Add support for specifying additional environment variables
https://bugs.webkit.org/show_bug.cgi?id=201311
<rdar://problem/54852698>
Reviewed by Daniel Bates.
* Scripts/webkitpy/api_tests/run_api_tests.py:
(parse_args): Add --additional-env-var flag.
* Scripts/webkitpy/port/base.py:
(Port._append_value_colon_separated): Use os.pathsep instead of ':'.
(Port.environment_for_api_tests): Add the values from --additional-env-var to the
environment.
2019-09-04 Aakash Jain <aakash_jain@apple.com>
EWS bubbles should indicate builder vs tester
https://bugs.webkit.org/show_bug.cgi?id=201253
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble): Add icons to the bubbles appropriately.
(StatusBubble._is_tester_queue): Method to determine if the queue is tester queue.
(StatusBubble._is_builder_queue): Method to determine if the queue is builder queue.
(StatusBubble.get):
* BuildSlaveSupport/ews-app/ews/common/buildbot.py:
(Buildbot.fetch_config): Method to fetch the config from Buildbot server.
(Buildbot.update_icons_for_queues_mapping): Method to update the icons for queues mapping.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(FetchLoop.run): Update the icons for queues mapping.
* BuildSlaveSupport/ews-build/config.json: Add icon information for the queues.
* BuildSlaveSupport/ews-build/loadConfig.py: Remove 'icon' key from builder before passing it to Buildbot.
* BuildSlaveSupport/ews-build/loadConfig_unittest.py: .
(test_builder_keys): Update unit-test accordingly. Also minor drive-by fix to improve failure string formatting.
2019-09-03 Yusuke Suzuki <ysuzuki@apple.com>
[bmalloc] IsoTLSLayout and AllIsoHeaps registration is racy with derived class initialization with virtual functions
https://bugs.webkit.org/show_bug.cgi?id=201448
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp:
(TEST):
2019-09-03 Dean Jackson <dino@apple.com>
Test for ContextMenus with images
https://bugs.webkit.org/show_bug.cgi?id=201437
Reviewed by Wenson Hsieh.
Add a test for ContextMenus that trigger on images, and make
sure that they ask for alternate URLs (added in r249171).
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(contextMenuWebViewDriver):
(-[TestContextMenuImageUIDelegate _webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuImageUIDelegate _webView:alternateURLFromImage:userInfo:]):
(-[TestContextMenuImageUIDelegate webView:contextMenuWillPresentForElement:]):
(-[TestContextMenuImageUIDelegate webView:contextMenuForElement:willCommitWithAnimator:]):
(-[TestContextMenuImageUIDelegate webView:contextMenuDidEndForElement:]):
(TEST):
2019-09-03 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Move legend into sidebar
https://bugs.webkit.org/show_bug.cgi?id=201258
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(Legend): Make the legend vertical instead of horizontal, add ToolTip to dots in the legend.
* resultsdbpy/resultsdbpy/view/static/js/tooltip.css: Add left and right tooltip arrows.
* resultsdbpy/resultsdbpy/view/static/js/tooltip.js:
(isPointInElement): Make bound check include borders.
(_ToolTip.toString): Add left/right cases.
(_ToolTip.prototype.setByElement): Set the tooltip location given an element.
* resultsdbpy/resultsdbpy/view/templates/search.html: Put the legend into the sidebar.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
2019-09-03 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Increase default limit for LimitSlider
https://bugs.webkit.org/show_bug.cgi?id=201424
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js:
(LimitSlider): Increase the default limit, make limit slider linear instead of logarithmic.
2019-09-03 Antoine Quint <graouts@apple.com>
[iOS] Treat a two-finger single tap as if the user tapped with the Cmd key pressed
https://bugs.webkit.org/show_bug.cgi?id=201420
<rdar://problem/53207786>
Reviewed by Simon Fraser.
Add a new twoFingerSingleTapAtPoint() method to UIScriptController, which just calls into the existing (but unused)
-[HIDEventGenerator twoFingerTap:completionBlock:].
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::twoFingerSingleTapAtPoint):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::twoFingerSingleTapAtPoint):
2019-09-03 Zan Dobersek <zdobersek@igalia.com>
[WPE] MiniBrowser should handle the WebKitWebView::create signal
https://bugs.webkit.org/show_bug.cgi?id=201417
Reviewed by Carlos Garcia Campos.
WPE's MiniBrowser should connect to and handle the
WebKitWebView::create signal, constructing a new bit related
WebKitWebView object upon invocation.
* MiniBrowser/wpe/main.cpp:
(webViewClose):
(createWebView):
(main):
2019-09-03 Zan Dobersek <zdobersek@igalia.com>
[WPE] Make view backends multi-view-friendly
https://bugs.webkit.org/show_bug.cgi?id=201415
Reviewed by Carlos Garcia Campos.
Have the Wayland EGL connection for WindowViewBackend instances managed
through a per-process singleton, allowing multiple backend objects
use it for different views. HeadlessViewBackend already does this, but
the code there is refurbished into a singleton structure.
The ViewBackend classes are adjusted to work with the backend-specific
EGLDisplay objects (as constructed through the backend-specific EGL
connection approach).
* wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessEGLConnection::singleton):
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::createSnapshot):
(WPEToolingBackends::getEGLDisplay): Deleted.
* wpe/backends/ViewBackend.cpp:
(WPEToolingBackends::ViewBackend::initialize):
(WPEToolingBackends::ViewBackend::deinitialize):
(WPEToolingBackends::ViewBackend::~ViewBackend): Deleted.
* wpe/backends/ViewBackend.h:
* wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WaylandEGLConnection::singleton):
(WPEToolingBackends::WindowViewBackend::WindowViewBackend):
(WPEToolingBackends::WindowViewBackend::~WindowViewBackend):
(WPEToolingBackends::WindowViewBackend::displayBuffer):
2019-09-03 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE][GTK] Deprecate nonfunctional process limit APIs
https://bugs.webkit.org/show_bug.cgi?id=193749
Reviewed by Žan Doberšek.
* MiniBrowser/gtk/main.c:
(main):
* TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
(beforeAll):
(testWebProcessLimit): Deleted.
2019-09-02 Zan Dobersek <zdobersek@igalia.com>
[WPE] WindowBackend should do resizing properly
https://bugs.webkit.org/show_bug.cgi?id=201386
Reviewed by Carlos Garcia Campos.
The WindowBackend implementation is resized via the XDG protocol. The
initial size is stored for the object's lifetime and fallen back to when
the XDG protocol reports (0,0) configuration size.
Upon each resize, we have to recreate the texture. We also have to size
the GL viewport accordingly.
* wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WindowViewBackend::WindowViewBackend):
(WPEToolingBackends::WindowViewBackend::createViewTexture):
(WPEToolingBackends::WindowViewBackend::resize):
(WPEToolingBackends::WindowViewBackend::displayBuffer):
* wpe/backends/WindowViewBackend.h:
2019-09-01 Fujii Hironori <Hironori.Fujii@sony.com>
Unreviewed, rolling out r249366.
WinCairo WebKit2 crashes in some websites and the device scale
factor is not correct in high DPI.
Reverted changeset:
"[WinCairo, FTW] Properly handle device scale factor"
https://bugs.webkit.org/show_bug.cgi?id=201361
https://trac.webkit.org/changeset/249366
2019-09-01 Wenson Hsieh <wenson_hsieh@apple.com>
Long presses that interrupt accelerated scrolling dispatch clicks on apps linked against iOS 12 or earlier
https://bugs.webkit.org/show_bug.cgi?id=201346
<rdar://problem/54885784>
Reviewed by Dean Jackson.
Add a new test option to allow tests to disable link previews.
* WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
Drive-by fix: also check enableLazyImageLoading when determining whether two TestOptions are the same.
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
2019-08-30 Brent Fulgham <bfulgham@apple.com>
[WinCairo, FTW] Properly handle device scale factor
https://bugs.webkit.org/show_bug.cgi?id=201361
Reviewed by Don Olmstead.
Reset zoom to 1.0; device scale is handled elsewhere.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::resetZoom):
2019-08-30 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org Timeline] Add notify rerender API for timeline
https://bugs.webkit.org/show_bug.cgi?id=201363
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js: Export notifyRerender API to timeline class
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(XScrollableCanvasProvider): Add an event stream to receive notification that it will need to render
(prototype.ExpandableSeriesComponent): Notify the rerender when expanded, because this may change the layout.
(prototype.Timeline.CanvasContainer):
2019-08-30 Aakash Jain <aakash_jain@apple.com>
[ews-build] 're-run-layout-tests' step on macOS-High-Sierra-Debug-WK1-Tests-EWS runs WK2 tests
https://bugs.webkit.org/show_bug.cgi?id=201350
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKit1Tests.start): Set build property to use dump-render-tree.
(RunWebKitTests.start): Use dump-render-tree whenever the corresponding build property is set.
2019-08-30 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Add endpoints to upload and download archives
https://bugs.webkit.org/show_bug.cgi?id=201100
Reviewed by Aakash Jain.
Add the endpoint to upload and download a zip archive associated with a test run.
* resultsdbpy/resultsdbpy/controller/api_routes.py:
(APIRoutes.__init__): Add archive endpoint.
* resultsdbpy/resultsdbpy/controller/archive_controller.py: Added.
(ArchiveController):
(ArchiveController.__init__):
(ArchiveController.endpoint):
(ArchiveController.download):
(ArchiveController.upload):
* resultsdbpy/resultsdbpy/controller/archive_controller_unittest.py: Added.
(ArchiveControllerUnittest):
* resultsdbpy/resultsdbpy/model/configuration_context.py:
(ClusteredByConfiguration.register_configuration): Make error message more clear.
2019-08-30 Simon Fraser <simon.fraser@apple.com>
Add system tracing points for compositing updates, and touch-event dispatching
https://bugs.webkit.org/show_bug.cgi?id=201327
Reviewed by Alex Christensen.
* Tracing/SystemTracePoints.plist:
2019-08-30 Keith Rollin <krollin@apple.com>
Simplify PLATFORM expression
https://bugs.webkit.org/show_bug.cgi?id=201286
<rdar://problem/54822347>
Reviewed by Alexey Proskuryakov.
The preprocessor expression conditionalizing the inclusion of the body
of ExitFullscreenOnEnterPiP.mm evolved into:
#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))
Simplify this to just:
#if !PLATFORM(IOS_FAMILY_SIMULATOR)
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
2019-08-30 Keith Rollin <krollin@apple.com>
Remove AppKitCompatibilityDeclarations.h
https://bugs.webkit.org/show_bug.cgi?id=201283
<rdar://problem/54822042>
Reviewed by Alexey Proskuryakov.
The two copies of these files -- on in WTF, one in MiniBrowser -- are
empty and can be removed.
* DumpRenderTree/mac/EventSendingController.mm:
* DumpRenderTree/mac/TextInputControllerMac.m:
* MiniBrowser/AppKitCompatibilityDeclarations.h: Removed.
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
* MiniBrowser/mac/SettingsController.m:
* MiniBrowser/mac/WK1BrowserWindowController.m:
* MiniBrowser/mac/WK2BrowserWindowController.m:
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenLayoutConstraints.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenTopContentInset.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ShouldOpenExternalURLsInNewWindowActions.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UserInitiatedActionInNavigationAction.mm:
* TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:
* TestWebKitAPI/Tests/mac/ContextMenuCanCopyURL.mm:
* TestWebKitAPI/Tests/mac/ContextMenuDefaultItemsHaveTags.mm:
* TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:
* TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
* TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
* TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
* TestWebKitAPI/mac/PlatformWebViewMac.mm:
* WebKitTestRunner/mac/EventSenderProxy.mm:
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
* WebKitTestRunner/mac/TestControllerMac.mm:
2019-08-30 Adrian Perez de Castro <aperez@igalia.com>
[WPE][GTK] New API to remove a filter from an user content manager given its identifier
https://bugs.webkit.org/show_bug.cgi?id=200479
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
(testUserContentManagerContentFilter): Test also the new
webkit_user_content_manager_remove_filter_by_id() public API function.
2019-08-30 Philippe Normand <pnormand@igalia.com>
[WPE][Qt] loadingChanged signal parameter is unusable
https://bugs.webkit.org/show_bug.cgi?id=201301
Reviewed by Carlos Garcia Campos.
* MiniBrowser/wpe/qt/main.qml: Add a basic loadingChange signal handler.
* Scripts/webkitpy/style/checker.py: White-list WPEQtView.h for
readablity/parameter_name code styl checker rule.
2019-08-29 Keith Rollin <krollin@apple.com>
Update .xcconfig symbols to reflect the current set of past and future product versions.
https://bugs.webkit.org/show_bug.cgi?id=200720
<rdar://problem/54305032>
Reviewed by Alex Christensen.
Remove version symbols related to old OS's we no longer support,
ensure that version symbols are defined for OS's we do support.
* 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:
2019-08-29 Keith Rollin <krollin@apple.com>
Remove empty FontCache.cpp file in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=201277
<rdar://problem/54820726>
Reviewed by Alex Christensen.
Bug 200694 emptied out the contents of FontCache.cpp. This patch
removes the file from the project.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/FontCache.cpp: Removed.
2019-08-29 Aakash Jain <aakash_jain@apple.com>
[ews-app] Status bubble should only display important messages in pop-over
https://bugs.webkit.org/show_bug.cgi?id=201308
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Added various build-steps which are of low interest
to end-users in STEPS_TO_HIDE. If any of these steps fail, it will not be hidden.
2019-08-29 Keith Rollin <krollin@apple.com>
Remove support for macOS < 10.13 (part 3)
https://bugs.webkit.org/show_bug.cgi?id=201224
<rdar://problem/54795934>
Reviewed by Darin Adler.
Remove symbols in WebKitTargetConditionals.xcconfig related to macOS
10.13, including WK_MACOS_1013 and WK_MACOS_BEFORE_1013, and suffixes
like _MACOS_SINCE_1013.
Also added some macOS target numbers.
* TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig:
2019-08-29 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Remove border from tooltip
https://bugs.webkit.org/show_bug.cgi?id=201239
Reviewed by Alex Christensen.
* resultsdbpy/resultsdbpy/view/static/css/tooltip.css:
(.tooltip-content): Remove border.
2019-08-28 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] MiniBrowser crashes in WKURLCopyString if WKPageCopyActiveURL returns null
https://bugs.webkit.org/show_bug.cgi?id=201215
Reviewed by Don Olmstead.
MiniBrowser crashed if it was going to go to a unreachable page
because WKPageCopyActiveURL returned a nullptr.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(createString): Added null checking of the argument.
2019-08-28 Tim Horton <timothy_horton@apple.com>
Reloading a web view with a fixed-width viewport and variable content width restores the previous page scale, shouldn't
https://bugs.webkit.org/show_bug.cgi?id=201256
<rdar://problem/54809509>
Reviewed by Simon Fraser.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/long-email-viewport.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/ReloadWithDifferingInitialScale.mm: Added.
(TestWebKitAPI::TEST):
Add a test. I left many comments because I had a great deal of trouble
writing this test and wanted to document my findings.
2019-08-28 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Do not display branch selector if only one branches available
https://bugs.webkit.org/show_bug.cgi?id=201244
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js: Hide the branch selector's
container if there aren't multiple branches to choose from.
2019-08-28 Wenson Hsieh <wenson_hsieh@apple.com>
WKAttachmentTests.DropFolderAsAttachmentAndMoveByDragging fails in some iOS simulator configurations
https://bugs.webkit.org/show_bug.cgi?id=201241
<rdar://problem/54317588>
Reviewed by Tim Horton.
For reasons that are still unknown, it's possible for iOS 13 simulators to get into a state where the IPC
communication delay between the web and UI processes can become extraordinarily long. Under these circumstances,
the drag and drop harness fails to simulate a drop, since it ends up firing all scheduled calls to
-dropInteraction:sessionDidUpdate: before the first response from the web process arrives in the UI process, so
it believes that the web view has rejected the drop from being handled.
Instead, make the drag and drop simulator robust by ensuring a presentation update between drop session updates,
to make sure that the web process has had time to send a response after each update.
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator _advanceProgress]):
2019-08-28 Megan Gardner <megan_gardner@apple.com>
Null check webFrame when creating a print preview to prevent a crash.
https://bugs.webkit.org/show_bug.cgi?id=201237
<rdar://problem/51618863>
Reviewed by Tim Horton.
Test to verify that if we don't have the WebPageProxy, we will not crash when making a print preview.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
2019-08-28 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Move drawer to the right, open by default
https://bugs.webkit.org/show_bug.cgi?id=200977
Rubber-stamped by Aakash Jain.
The drawer was both unpopular and not discoverable. After feedback from bot watchers,
moving the drawer to the right side of the screen, opening it by default and have it displace
instead of hide the main content.
* resultsdbpy/resultsdbpy/view/commit_view_unittest.py:
(CommitViewUnittest.test_drawer): Support new drawer style.
(CommitViewUnittest.test_range_slider): Ditto.
(CommitViewUnittest.test_one_line_switch): Ditto.
(CommitViewUnittest.test_branch_selection): Ditto.
* resultsdbpy/resultsdbpy/view/static/css/drawer.css: Removed.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js:
(setEnableRecursive): Disable all elements underneath this one
(Drawer): Make drawer a sidebar.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.header>.title, .topbar>.title): Overflow of titles should be hidden.
(:root): Move boldInverseColor into webkit.css.
(@media (prefers-color-scheme: dark)):
(.sidebar): Sidebars on mobile should behave like drawers.
(.sidebar.hidden): Add concept of hidden sidebar.
(.mobile-sidebar-control): Add a control to collapse sidebar that only exists on mobile.
(.mobile-sidebar-control.display):
(.main.under-topbar-with-actions):
(@media screen and (min-width: 600px) and (orientation: landscape)):
(.sidebar.left.hidden):
(.sidebar.right.hidden):
(.main.right.hidden):
(.main.left.hidden):
(@media screen and (min-width: 768px) and (orientation: landscape)):
(.sidebar.right):
(a.disabled): Add ability to disable a link.
(.desktop-control): Add a control which only exists on desktop.
* resultsdbpy/resultsdbpy/view/templates/base.html: Add hamburger drawer-button for mobile.
* resultsdbpy/resultsdbpy/view/templates/commits.html: Use main since Drawer is now a sidebar.
* resultsdbpy/resultsdbpy/view/templates/documentation.html: Ditto.
* resultsdbpy/resultsdbpy/view/templates/search.html: Ditto.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
* resultsdbpy/resultsdbpy/view/view_routes_unittest.py:
(WebSiteTestCase.toggle_drawer): Support new drawer style.
(WebSiteTestCase.find_input_with_name): Ditto.
2019-08-28 Keith Rollin <krollin@apple.com>
Remove support for macOS < 10.13 (part 2)
https://bugs.webkit.org/show_bug.cgi?id=201197
<rdar://problem/54759985>
Reviewed by Darin Adler.
Update conditionals that reference WK_MACOS_1013 and suffixes like
_MACOS_SINCE_1013, assuming that we're always building on 10.13 or
later and that these conditionals are always True or False.
See Bug 200694 for earlier changes in this area.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-08-28 Alicia Boya García <aboya@igalia.com>
[MSE][GStreamer] WebKitMediaSrc rework
https://bugs.webkit.org/show_bug.cgi?id=199719
Reviewed by Xabier Rodriguez-Calvar.
Added WebKitMediaSourceGStreamer.cpp to the GStreamer-style coding
whitelist.
* Scripts/webkitpy/style/checker.py:
2019-08-28 Alexey Proskuryakov <ap@apple.com>
Updating inactive contributors in contributors.json.
* Scripts/webkitpy/common/config/contributors.json:
2019-08-28 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Auto-expand single configurations
https://bugs.webkit.org/show_bug.cgi?id=201218
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(TimelineFromEndpoint.toString): Automatically expand timeline when only one
configuration has been specified.
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(prototype.ExpandableSeriesComponent): Add options so that the caller can set whether a timeline
is expanded or collapsed by default.
2019-08-28 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Sanitize all commit arguments on upload
https://bugs.webkit.org/show_bug.cgi?id=201189
<rdar://problem/54564837>
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/controller/commit.py:
(Commit.__init__): Only allow commits to be constructed with valid values.
* resultsdbpy/resultsdbpy/controller/commit_controller.py:
(CommitController.register): Strip potential API key.
* resultsdbpy/resultsdbpy/controller/commit_unittest.py:
(CommitUnittest.test_invalid): Test that commits which contain html inside the
repository_id, branch or commit id are rejected.
2019-08-02 Claudio Saavedra <csaavedra@igalia.com>
[GTK][WPE] Implement HSTS for the soup network backend
https://bugs.webkit.org/show_bug.cgi?id=192074
Reviewed by Carlos Garcia Campos.
libsoup 2.67.1 introduced HSTS support via a SoupSessionFeature.
Add support to the soup network backend by adding the feature to
SoupNetworkSession and handling HSTS protocol upgrades, by
propagating the scheme change further to clients. This patch adds
the HSTS feature unconditionally, but it still possible to add
a boolean property to the web context class if desired.
Additionally, add API to the WebKitWebsiteDataManager to specify
the directory where the HSTS database is saved. If the directory
is not set or if the data manager is ephemeral, use a
non-persistent, memory only HSTS enforcer.
Implement as well the methods needed to clean-up and delete HSTS
policies from the storage and expose the feature in GTK+
MiniBrowser's about:data.
* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(serverCallback):
(testWebsiteDataConfiguration):
(testWebsiteDataEphemeral):
(prepopulateHstsData):
(testWebsiteDataHsts):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
* gtk/jhbuild.modules: Bump libsoup to 2.67.91 for the new APIs
* wpe/jhbuild.modules: Ditto
* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
2019-08-27 James Darpinian <jdarpinian@google.com>
Fix applying diffs that only change file mode
https://bugs.webkit.org/show_bug.cgi?id=201191
Reviewed by Daniel Bates.
* Scripts/svn-apply:
(patch): Handle case of file mode change without content change
2019-08-27 Aakash Jain <aakash_jain@apple.com>
[ews] Status bubble should be red for CANCELLED builds
https://bugs.webkit.org/show_bug.cgi?id=201204
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble):
2019-08-27 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org Webkit.css] Center the legend symbols
https://bugs.webkit.org/show_bug.cgi?id=201187
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.lengend>.item .dot .text): center the dot symbol vertically
2019-08-27 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: Use -noBulkSymbolication when calling spindump (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=201000
<rdar://problem/53778938>
Unreviewed follow-up fix.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.sample_process): Run spindump without -noBulkSymbolication if previous
spindump call failed.
* Scripts/webkitpy/port/darwin_testcase.py:
* Scripts/webkitpy/port/ios_device_unittest.py:
2019-08-27 Aakash Jain <aakash_jain@apple.com>
[ews-build] Use update-webkit script in Apply-WatchList EWS
https://bugs.webkit.org/show_bug.cgi?id=201179
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(WatchListFactory): Updated to use CheckOutSource step as well.
2019-08-27 Carlos Alberto Lopez Perez <clopez@igalia.com>
W3C test importer should be able to handle expected references with an absolute path.
https://bugs.webkit.org/show_bug.cgi?id=200717
Reviewed by Youenn Fablet.
This patch implements the logic to resolve test references with absolute paths
when importing w3c tests (like web-platform-tests).
When an absolute path is found for a test reference, the parser now
tries to find the right file by looking for a relative path inside
the root directory of the source test repository.
It works when the tool is run in download-mode as well as when the
tool is run to import the tests from a local directory.
This fixes the import of test references for tests like
web-platform-tests/css/css-images/multiple-position-color-stop-linear-2.html
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter._source_root_directory_for_path):
(TestImporter.find_importable_tests):
* Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest.import_directory):
(test_webkit_test_runner_options):
(test_webkit_test_runner_import_reftests_with_absolute_paths_download):
(test_webkit_test_runner_import_reftests_with_absolute_paths_from_source_dir):
* Scripts/webkitpy/w3c/test_parser.py:
(TestParser.__init__):
(TestParser.analyze_test):
2019-08-26 Wenson Hsieh <wenson_hsieh@apple.com>
Remove UIHelper.activateElementAtHumanSpeed
https://bugs.webkit.org/show_bug.cgi?id=201147
Reviewed by Tim Horton.
Add plumbing for a new script controller hook to wait for the double tap delay to pass. On non-iOS, this
resolves immediately; on iOS, we inspect the content view for tap gestures that require more than one tap, and
find the value of the maximum double tap delay. We then delay for this amount of time before resolving.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::doAfterDoubleTapDelay):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::doAfterDoubleTapDelay):
2019-08-26 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org Timline] Add symbols to the timeline dot
https://bugs.webkit.org/show_bug.cgi?id=201105
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(Timeline.CanvasSeriesComponent): Modify the drawDot api to provide user ability to add symbol to the dots, it supports unicode symbol
* resultsdbpy/resultsdbpy/view/templates/base.html: Add the encoding UTF-8 for the page, so that we can add unicode symbol to the dots
2019-08-26 Yusuke Suzuki <ysuzuki@apple.com>
Unreviewed, remove useMaximalFlushInsertionPhase use
https://bugs.webkit.org/show_bug.cgi?id=201036
* Scripts/run-jsc-stress-tests:
2019-08-26 David Kilzer <ddkilzer@apple.com>
Don't compute upconverted characters twice in buildQuery() in DataDetection.mm
<https://webkit.org/b/201144>
<rdar://problem/54689399>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add
DataDetectorsTestIOS.mm to the project.
* TestWebKitAPI/Tests/ios/DataDetectorsTestIOS.mm: Add a new
test for Data Detectors for phone numbers.
2019-08-26 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (iOS 13): Tests that simulate multiple back-to-back single taps fail or time out
https://bugs.webkit.org/show_bug.cgi?id=201129
<rdar://problem/51857277>
Reviewed by Tim Horton.
The tests in editing/pasteboard/ios were timing out on iOS 13 before this change. This is because they simulate
back-to-back single taps; while this is recognized as two single taps on iOS 12 and prior, only the first single
tap is recognized on iOS 13 (and the second is simply dropped on the floor). This occurs because the synthetic
single tap gesture is reset slightly later on iOS 13 compared to iOS 12, so when the second tap is dispatched,
the gesture recognizer is still in "ended" state after the first tap on iOS 13, which means the gesture isn't
capable of recognizing further touches yet.
In UIKit, a gesture recognizer is only reset once its UIGestureEnvironment's containing dependency subgraph no
longer contains gestures that are active. In iOS 12, the synthetic click gesture is a part of a dependency
subgraph that contains only itself and the normal (blocking) double tap gesture which requires the click to fail
before it can be recognized; immediately after simulating the tap, both these gestures are inactive, which
allows both of them to be reset.
However, in iOS 13, the synthetic click gesture is part of a gesture dependency graph that contains the double
tap for double click gesture, as well as the non-blocking double tap gesture, both of which are still active
immediately after sending the first tap. This change in dependencies is caused by the introduction of
UIUndoGestureInteraction's single and double three-finger tap gestures, which (in -[UIUndoGestureInteraction
gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:]) explicitly add all other taps as failure
requirements. This effectively links the synthetic single tap gesture to most of the other gestures in
WKContentView's dependency graph by way of these tap gestures for the undo interaction.
All this means that there is now a short (~50 ms) delay after the synthetic single tap gestures is recognized,
before it can be recognized again. To account for this new delay in our test infrastructure, simply wait for
single tap gestures that have ended to reset before attempting to send subsequent single taps. We do this by
introducing WebKit testing SPI to invoke a completion handler after resetting the synthetic click gesture (only
if necessary - i.e., if the gesture is in ended state when we are about to begin simulating the tap). This
allows calls to `UIScriptController::singleTapAtPoint` to be reliably recognized as single taps without
requiring arbitrary 120 ms "human speed" delays.
This fixes a number of flaky or failing layout tests, including the tests in editing/pasteboard/ios.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::doubleTapAtPoint):
Add a `delay` parameter to `doubleTapAtPoint`. A number of layout tests were actually simulating double click
gestures by simulating two back-to-back single taps; this is done for the purposes of being able to add a "human
speed" delay prior to the second single tap gesture. After the change to wait for the single tap gesture to
reset before attempting to simulate the next tap, this strategy no longer works, since the second gesture is
recognized only as a single tap instead of a double tap.
Instead, we add a delay parameter to `UIScriptController::doubleTapAtPoint`, which the "human speed" double tap
gestures use instead to wait after simulating the first tap.
* WebKitTestRunner/ios/HIDEventGenerator.h:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator _waitFor:]):
(-[HIDEventGenerator sendTaps:location:withNumberOfTouches:delay:completionBlock:]):
Plumb the tap gesture delay through to this helper method.
(-[HIDEventGenerator tap:completionBlock:]):
(-[HIDEventGenerator doubleTap:delay:completionBlock:]):
(-[HIDEventGenerator twoFingerTap:completionBlock:]):
(-[HIDEventGenerator sendTaps:location:withNumberOfTouches:completionBlock:]): Deleted.
(-[HIDEventGenerator doubleTap:completionBlock:]): Deleted.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::waitForSingleTapToReset const):
Add a new helper to wait for the content view's single tap gesture to reset if needed; call this before
attempting to simulate single taps (either using a stylus, or with a regular touch).
(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
(WTR::UIScriptControllerIOS::doubleTapAtPoint):
(WTR::UIScriptControllerIOS::stylusTapAtPointWithModifiers):
2019-08-26 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Allow clicking on the tooltip arrow
https://bugs.webkit.org/show_bug.cgi?id=201103
Rubber-stamped by Aakash Jain.
By design, the arrow sits above the canvas and intercepts mouse events from it.
This will often make an element that has a tooltip unclickable.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(xAxisFromScale):
(TimelineFromEndpoint.prototype.render.onDotEnterFactory):
(TimelineFromEndpoint.prototype.render):
* resultsdbpy/resultsdbpy/view/static/js/tooltip.js:
(_ToolTip):
(_ToolTip.prototype.toString): Trigger onClick callback when the arrow is clicked.
(_ToolTip.prototype.set): Set the onClick callback.
2019-08-26 Aakash Jain <aakash_jain@apple.com>
[EWS] Do not append additional '(failure)' string at the end of custom failure message in EWS Buildbot
https://bugs.webkit.org/show_bug.cgi?id=201140
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(TestWithFailureCount.getResultSummary): Do not append (failure) when in case of custom status.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests accordingly.
2019-08-26 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: Cap the number of automatically booted simulators at 12
https://bugs.webkit.org/show_bug.cgi?id=201139
Reviewed by Aakash Jain.
To make local development with simulators more pleasant, machines should
never automatically boot more than 12 simulators.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.max_supported_simulators):
2019-08-26 Aakash Jain <aakash_jain@apple.com>
[ews] Add EWS queue for applying watchlist
https://bugs.webkit.org/show_bug.cgi?id=201072
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ApplyWatchList): Build step to apply watchlist.
(ApplyWatchList.__init__): Set logEnviron to False.
(ApplyWatchList.getResultSummary): Updated the description in case of failure.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
* BuildSlaveSupport/ews-build/factories.py:
(WatchListFactory): Build factory for WatchList.
* BuildSlaveSupport/ews-build/loadConfig.py:
* BuildSlaveSupport/ews-build/config.json:
2019-08-26 Youenn Fablet <youenn@apple.com>
Add a WebsiteDataStore delegate to handle AuthenticationChallenge that do not come from pages
https://bugs.webkit.org/show_bug.cgi?id=196870
Reviewed by Alex Christensen.
Implement the new delegate by respecting the value set by testRunner.setAllowsAnySSLCertificate
Accept any server certificate by default.
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
(WTR::TestController::setAllowsAnySSLCertificate):
* WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.h:
* WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm:
(-[TestWebsiteDataStoreDelegate didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestWebsiteDataStoreDelegate setAllowAnySSLCertificate:]):
2019-08-23 Aakash Jain <aakash_jain@apple.com>
Increase log level for watchlist result
https://bugs.webkit.org/show_bug.cgi?id=201081
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/tool/steps/applywatchlist.py: Increased log level.
* Scripts/webkitpy/tool/steps/applywatchlist_unittest.py: Updated unit-tests.
* Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py: Ditto.
2019-08-23 Chris Dumez <cdumez@apple.com>
[geolocation] Rename interfaces and remove [NoInterfaceObject]
https://bugs.webkit.org/show_bug.cgi?id=200885
Reviewed by Alex Christensen.
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setMockGeolocationPosition):
2019-08-23 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r249001.
Caused one layout test to fail on all configurations and
another to time out on Catalina / iOS 13.
Reverted changeset:
"Add a WebsiteDataStore delegate to handle
AuthenticationChallenge that do not come from pages"
https://bugs.webkit.org/show_bug.cgi?id=196870
https://trac.webkit.org/changeset/249001
2019-08-23 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Escape html in changelog
https://bugs.webkit.org/show_bug.cgi?id=201025
<rdar://problem/54564837>
Reviewed by Darin Adler.
* resultsdbpy/resultsdbpy/view/commit_view.py:
(CommitView.commit): Output a dictionary instead of a JSON encoded string.
* resultsdbpy/resultsdbpy/view/templates/commit.html: Unpack commits dictionary
directly into a JavaScript dictionary.
2019-08-20 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Support NFC authenticators for iOS
https://bugs.webkit.org/show_bug.cgi?id=188624
<rdar://problem/43354214>
Reviewed by Chris Dumez.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration):
Setup NFC mock testing configuration.
2019-08-23 Aakash Jain <aakash_jain@apple.com>
[ews] Enable Style queue on new EWS
https://bugs.webkit.org/show_bug.cgi?id=201071
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json: Enabled the scheduler for Style queue.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Enabled style queue bubble on new EWS.
* QueueStatusServer/config/queues.py: Removed style queue from old EWS.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer): Removed style queue from bot-watcher's dashboard.
2019-08-22 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] URL bar should be updated for in-page navigations
https://bugs.webkit.org/show_bug.cgi?id=201032
Reviewed by Darin Adler.
* MiniBrowser/win/BrowserWindow.h: Added activeURLChanged to BrowserWindowClient interface.
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::init):
(MainWindow::activeURLChanged): Added.
* MiniBrowser/win/MainWindow.h:
* MiniBrowser/win/MiniBrowserWebHost.cpp:
(MiniBrowserWebHost::didCommitLoadForFrame):
(MiniBrowserWebHost::didChangeLocationWithinPageForFrame): Added.
(MiniBrowserWebHost::updateAddressBar): Deleted.
(MiniBrowserWebHost::loadURL): Deleted.
* MiniBrowser/win/MiniBrowserWebHost.h:
(MiniBrowserWebHost::MiniBrowserWebHost):
(MiniBrowserWebHost::didCommitLoadForFrame): Deleted.
(MiniBrowserWebHost::didChangeLocationWithinPageForFrame): Deleted.
* MiniBrowser/win/PrintWebUIDelegate.cpp:
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::create):
(WebKitBrowserWindow::WebKitBrowserWindow):
(WebKitBrowserWindow::didChangeIsLoading): Removed an unused variable.
(WebKitBrowserWindow::didChangeActiveURL): Added.
(WebKitBrowserWindow::createNewPage):
(WebKitBrowserWindow::didCommitNavigation): Deleted.
* MiniBrowser/win/WebKitBrowserWindow.h: Removed m_urlBarWnd.
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::create):
(WebKitLegacyBrowserWindow::WebKitLegacyBrowserWindow):
(WebKitLegacyBrowserWindow::init):
(WebKitLegacyBrowserWindow::navigateToHistory):
* MiniBrowser/win/WebKitLegacyBrowserWindow.h: Removed m_urlBarWnd.
2019-08-22 Andy Estes <aestes@apple.com>
[watchOS] Disable Content Filtering in the simulator build
https://bugs.webkit.org/show_bug.cgi?id=201047
Reviewed by Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-08-22 Chris Dumez <cdumez@apple.com>
Try to recover nicely when getting an unexpected schema in the service workers database
https://bugs.webkit.org/show_bug.cgi?id=201002
<rdar://problem/54574991>
Reviewed by Youenn Fablet.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2019-08-22 Keith Rollin <krollin@apple.com>
Remove support for tvOS < 13.0
https://bugs.webkit.org/show_bug.cgi?id=200963
<rdar://problem/54541355>
Reviewed by Tim Horton.
Update conditionals that reference __TV_OS_VERSION_MIN_REQUIRED and
__TV_OS_VERSION_MAX_ALLOWED, assuming that they both have values >=
130000. This means that expressions like "__TV_OS_VERSION_MIN_REQUIRED
< 130000" are always False and "__TV_OS_VERSION_MIN_REQUIRED >=
130000" are always True.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST):
2019-08-22 Daniel Bates <dabates@apple.com>
[lldb-webkit] OptionSet summary shows size 0 sometimes for non-empty set
https://bugs.webkit.org/show_bug.cgi?id=200742
Reviewed by Simon Fraser.
The OptionSet synthetic provider must respond to requests for the value of m_storage
(i.e. GetChildMemberWithName('m_storage')) to avoid interfering with the computation
of the type summary.
Synthetic providers substitute alternative debug information (children) for the default
information for a variable. The OptionSet type summary is implemented in terms of the
OptionSet synthetic provider to maximize code reuse. If LLDB instantiates the provider
before invoking the type summary handler then evaluating GetChildMemberWithName() on
the SBValue passed to the type summary handler will access the substitute information
instead of the original debug information. As a result OptionSet's synthetic provider's
get_child_index('m_storage') returns None hence SBValue.GetChildMemberWithName('m_storage')
returned an invalid value; => WTFOptionSetProvider._bitmask() returns 0; => the size
reported in the type summary for the OptionSet is 0. Instead get_child_index('m_storage')
should return a valid value.
* lldb/lldb_webkit.py:
(FlagEnumerationProvider.__init__):
(FlagEnumerationProvider):
(FlagEnumerationProvider._get_child_index): Added. WTFOptionSetProvider will override.
(FlagEnumerationProvider._get_child_at_index): Added. WTFOptionSetProvider will override.
(FlagEnumerationProvider.size): Added.
(FlagEnumerationProvider.get_child_index): Modified to call _get_child_index().
(FlagEnumerationProvider.get_child_at_index): Modified to call _get_child_at_index().
(FlagEnumerationProvider.update): Moved initialization of self._elements to the constructor
and removed self.size. For the latter we can just expose a getter that returns the size of
the list self._elements.
(WTFOptionSetProvider._get_child_index): Added. Return the index for LLDB to query for the
value of m_storage.
(WTFOptionSetProvider):
(WTFOptionSetProvider._get_child_at_index): Added. Return the value for m_storage if it
matches the specified index.
* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFOptionSetProvider_empty): Update expected result now
that we return the value of m_storage as the last synthetic child.
2019-08-22 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Remove branch and repository information from commit tooltip
https://bugs.webkit.org/show_bug.cgi?id=201035
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(xAxisFromScale): Remove branch and repository information from tooltip.
2019-08-22 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: Use -noBulkSymbolication when calling spindump
https://bugs.webkit.org/show_bug.cgi?id=201000
<rdar://problem/53778938>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.sample_process): Attempt to symbolicate with -noBulkSymbolication first.
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_tailspin):
(DarwinTest.test_get_crash_log): Deleted.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_tailspin):
2019-08-22 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org Webkit.css] Change input's disable style
The disable input style will always show the label like it has a value
https://bugs.webkit.org/show_bug.cgi?id=200998
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/css/docs.yaml: Adding a new example for disabled input that already has a value
*resultsdbpy/resultsdbpy/view/static/library/css/generate-webkit-css-docs:
* resultsdbpy/resultsdbpy/view/static/library/css/index.html:
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.input>input[type="text"][required][disabled],.input>input[type="number"][required][disabled],):When disabling a text input element even without a value, the style should match the style of a text input element with a value
(.input>input[type="text"][required][disabled]~label, .input>input[type="number"][required][disabled]~label,):
(@media (prefers-color-scheme: dark)):
2019-08-17 Darin Adler <darin@apple.com>
Use makeString and multi-argument StringBuilder::append instead of less efficient multiple appends
https://bugs.webkit.org/show_bug.cgi?id=200862
Reviewed by Ryosuke Niwa.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsDidRunTelemetryCallback): Use makeString.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::findAndDumpWebKitProcessIdentifiers): Ditto.
(WTR::TestController::downloadDidReceiveServerRedirectToURL): Ditto.
(WTR::TestController::downloadDidFail): Ditto.
2019-08-22 clopez@igalia.com <clopez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
[GTK][WPE] Support for command "--version" on the MiniBrowser (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=200978
Unreviewed follow-up fix.
Update the string format specifier for unsigned it.
* MiniBrowser/gtk/main.c:
(main):
* MiniBrowser/wpe/main.cpp:
(main):
2019-08-22 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Support for command "--version" on the MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=200978
Reviewed by Žan Doberšek.
Printing the engine version used from the MiniBrowser is useful.
For example, the test scripts on WPT can use this info to better
tag the generated results.
* MiniBrowser/gtk/main.c: Print the engine version when called with --version or -v.
(main):
* MiniBrowser/wpe/main.cpp: Ditto.
(main):
2019-08-22 Youenn Fablet <youenn@apple.com>
Add a WebsiteDataStore delegate to handle AuthenticationChallenge that do not come from pages
https://bugs.webkit.org/show_bug.cgi?id=196870
Reviewed by Alex Christensen.
Implement the new delegate by respecting the value set by testRunner.setAllowsAnySSLCertificate
Accept any server certificate by default.
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
(WTR::TestController::setAllowsAnySSLCertificate):
* WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.h:
* WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm:
(-[TestWebsiteDataStoreDelegate didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestWebsiteDataStoreDelegate setAllowAnySSLCertificate:]):
2019-08-21 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Fix drawer style
https://bugs.webkit.org/show_bug.cgi?id=200988
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js:
(Drawer): Nothing in the drawer should be selectable.
(ConfigurationSelectors): Standardize text size, remove underscore from expanders.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.action:hover): Disable underline on 'links' which are actually actions
(.unselectable): Make a div unselectable.
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(Timeline.ExpandableSeriesWithHeaderExpanderComponent): Remove underscore from expanders.
2019-08-21 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] Add a progress indicator to the main window
https://bugs.webkit.org/show_bug.cgi?id=200970
Reviewed by Alex Christensen.
* MiniBrowser/win/BrowserWindow.h: Added BrowserWindowClient class.
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::init):
(MainWindow::resizeSubViews):
(MainWindow::progressChanged):
(MainWindow::progressFinished):
* MiniBrowser/win/MainWindow.h: Inherited BrowserWindowClient.
Added m_hProgressIndicator.
(MainWindow::hwnd const): Deleted.
(MainWindow::browserWindow const): Deleted.
(): Deleted.
* MiniBrowser/win/MiniBrowserWebHost.cpp:
(MiniBrowserWebHost::onNotify):
* MiniBrowser/win/MiniBrowserWebHost.h:
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::create):
(WebKitBrowserWindow::WebKitBrowserWindow):
(WebKitBrowserWindow::didChangeIsLoading):
(WebKitBrowserWindow::didChangeEstimatedProgress):
(WebKitBrowserWindow::createNewPage):
* MiniBrowser/win/WebKitBrowserWindow.h:
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::create):
(WebKitLegacyBrowserWindow::WebKitLegacyBrowserWindow):
(WebKitLegacyBrowserWindow::init):
* MiniBrowser/win/WebKitLegacyBrowserWindow.h:
2019-08-21 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r248970.
Caused
lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSetProvider_empty
to fail.
Reverted changeset:
"[lldb-webkit] OptionSet summary shows size 0 sometimes for
non-empty set"
https://bugs.webkit.org/show_bug.cgi?id=200742
https://trac.webkit.org/changeset/248970
2019-08-21 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Add database table to save zip archives to
https://bugs.webkit.org/show_bug.cgi?id=200718
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/model/archive_context.py: Added.
(ArchiveContext):
(ArchiveContext.ArchivesByCommit): Store archives to be retrieved by commit and configuration.
(ArchiveContext.ArchivesByCommit.unpack):
(ArchiveContext.assert_zipfile):
(ArchiveContext.open_zipfile):
(ArchiveContext.__init__):
(ArchiveContext.__enter__):
(ArchiveContext.__exit__):
(ArchiveContext.register): Save the provided archive to Cassandra.
(ArchiveContext.find_archive): Find all archives matching the specified criteria.
(ArchiveContext._files_for_archive):
(ArchiveContext.ls): List all files in the matching archives.
(ArchiveContext.file): Extract a file from the matching archives.
* resultsdbpy/resultsdbpy/model/archive_context_unittest.py: Added.
(ArchiveContextTest):
* resultsdbpy/resultsdbpy/model/mock_model_factory.py:
(MockModelFactory):
(MockModelFactory.process_results):
(MockModelFactory.add_mock_archives):
* resultsdbpy/resultsdbpy/model/model.py:
(Model.__init__): Add an ArchiveContext to the model.
2019-08-21 Aakash Jain <aakash_jain@apple.com>
[ews-build] view layout test results option should be displayed next to layout-test build step
https://bugs.webkit.org/show_bug.cgi?id=200048
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ExtractTestResults.getLastBuildStepByName): Method to return the last build-step matching the step name.
(ExtractTestResults.addCustomURLs): Add urls to corresponding layout-test step.
2019-08-21 Aakash Jain <aakash_jain@apple.com>
[ews] Fix capitalization in Found x new Test failure message
https://bugs.webkit.org/show_bug.cgi?id=201004
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.report_failure):
(AnalyzeAPITestsResults.analyzeResults):
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests accordingly.
2019-08-21 Aakash Jain <aakash_jain@apple.com>
Assign ews117 to EWS High-Sierra Debug queues
https://bugs.webkit.org/show_bug.cgi?id=200993
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json:
2019-08-21 Daniel Bates <dabates@apple.com>
[lldb-webkit] OptionSet summary shows size 0 sometimes for non-empty set
https://bugs.webkit.org/show_bug.cgi?id=200742
Reviewed by Simon Fraser.
The OptionSet synthetic provider must respond to requests for the value of m_storage
(i.e. GetChildMemberWithName('m_storage')) to avoid interfering with the computation
of the type summary.
Synthetic providers substitute alternative debug information (children) for the default
information for a variable. The OptionSet type summary is implemented in terms of the
OptionSet synthetic provider to maximize code reuse. If LLDB instantiates the provider
before invoking the type summary handler then evaluating GetChildMemberWithName() on
the SBValue passed to the type summary handler will access the substitute information
instead of the original debug information. As a result OptionSet's synthetic provider's
get_child_index('m_storage') returns None hence SBValue.GetChildMemberWithName('m_storage')
returned an invalid value; => WTFOptionSetProvider._bitmask() returns 0; => the size
reported in the type summary for the OptionSet is 0. Instead get_child_index('m_storage')
should return a valid value.
* lldb/lldb_webkit.py:
(FlagEnumerationProvider.__init__):
(FlagEnumerationProvider):
(FlagEnumerationProvider._get_child_index): Added. WTFOptionSetProvider will override.
(FlagEnumerationProvider._get_child_at_index): Added. WTFOptionSetProvider will override.
(FlagEnumerationProvider.size): Added.
(FlagEnumerationProvider.get_child_index): Modified to call _get_child_index().
(FlagEnumerationProvider.get_child_at_index): Modified to call _get_child_at_index().
(FlagEnumerationProvider.update): Moved initialization of self._elements to the constructor
and removed self.size. For the latter we can just expose a getter that returns the size of
the list self._elements.
(WTFOptionSetProvider._get_child_index): Added. Return the index for LLDB to query for the
value of m_storage.
(WTFOptionSetProvider):
(WTFOptionSetProvider._get_child_at_index): Added. Return the value for m_storage if it
matches the specified index.
2019-08-21 Alex Christensen <achristensen@webkit.org>
Disabling text autosizing should prevent text autosizing
https://bugs.webkit.org/show_bug.cgi?id=200955
<rdar://problem/48095374>
Reviewed by Simon Fraser.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/TextSize.mm: Added.
(TEST):
2019-08-21 Adrian Perez de Castro <aperez@igalia.com>
[GTK][WPE] Make debug-test-runner work
https://bugs.webkit.org/show_bug.cgi?id=193576
Reviewed by Michael Catanzaro.
* Scripts/webkitdirs.pm:
(wrapperPrefixIfNeeded): Only add the wrapper prefix when not running inside a Flatpak sandbox.
(setupUnixWebKitEnvironment): Added, sets TEST_RUNNER_INJECTED_BUNDLE_FILENAME and
TEST_RUNNER_TEST_PLUGIN_PATH in the environment.
(execUnixAppForDebugging): Added.
(debugWebKitTestRunner): Alternatively, use execUnixAppForDebugging() for the WPE and GTK+ ports.
2019-08-20 Ryosuke Niwa <rniwa@webkit.org>
Put keygen element behind a runtime flag and disable it by default
https://bugs.webkit.org/show_bug.cgi?id=200850
Reviewed by Antti Koivisto.
Added the support for enableKeygenElement test runner option, which enables keygen element in layout tests.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* DumpRenderTree/win/DumpRenderTree.cpp:
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2019-08-21 Chris Dumez <cdumez@apple.com>
Add internal setting to disable SecureContext checks
https://bugs.webkit.org/show_bug.cgi?id=200980
<rdar://problem/54438512>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
(log):
(requestPermission):
2019-08-21 Keith Rollin <krollin@apple.com>
Remove support for watchOS < 6.0
https://bugs.webkit.org/show_bug.cgi?id=200937
<rdar://problem/54524009>
Reviewed by Darin Adler.
Update conditionals that reference __WATCH_OS_VERSION_MIN_REQUIRED and
__WATCH_OS_VERSION_MAX_ALLOWED, assuming that they both have values >=
60000. This means that expressions like
"__WATCH_OS_VERSION_MIN_REQUIRED < 60000" are always False and
"__WATCH_OS_VERSION_MIN_REQUIRED >= 60000" are always True.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST):
2019-08-20 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org Webkit.css] Add right sidebar
https://bugs.webkit.org/show_bug.cgi?id=200946
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(@media screen and (min-width: 600px) and (orientation: landscape)):
(.main.left):
(@media screen and (min-width: 768px) and (orientation: landscape)):
(.sidebar.right):
2019-08-20 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Add ToolTips
https://bugs.webkit.org/show_bug.cgi?id=200801
Rubber-stamped by Aakash Jain.
When dots or scale labels are hovered over, we should display a tool tip with additional information about
The specific element.
* resultsdbpy/resultsdbpy/view/static/css/tooltip.css: Added.
(.tooltip): Add class for ToolTip text box.
(.tooltip-arrow-up): Add class for ToolTip arrow pointing up.
(.tooltip-arrow-down): Add class for ToolTip arrow pointing down.
* resultsdbpy/resultsdbpy/view/static/js/commit.js:
(_CommitBank.prototype.commitsDuringUuid): Return a list of commits which were the trunk of their respective
repositories at a given time.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(xAxisFromScale): Add callbacks triggered when the mouse enters or leaves elements in the scale canvas.
(TimelineFromEndpoint.render): Add callbacks triggered when the mouse enters or leaves dot elements.
* resultsdbpy/resultsdbpy/view/static/js/tooltip.js: Added.
(isPointInElement): Given an element and a point, return true if that point is within the bounds of the element.
(_ToolTip):
(_ToolTip.prototype.set): Set the content and location of the ToolTip.
(_ToolTip.prototype.toString): Return the html needed to render the ToolTip.
(_ToolTip.prototype.unset): Clear and hide the ToolTip.
(_ToolTip.prototype.isIn): Check if a given point is contained within the ToolTip.
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(Timeline.CanvasSeriesComponent): Convert onHover events to onEnter/onLeave events. Add toolTips points to both
dot and scale elements.
* resultsdbpy/resultsdbpy/view/templates/search.html: Add ToolTip.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
2019-08-20 Justin Michaud <justin_michaud@apple.com>
Fix InBounds speculation of typed array PutByVal and add extra step to integer range optimization to search for equality relationships on the RHS value
https://bugs.webkit.org/show_bug.cgi?id=200782
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests:
2019-08-20 Darin Adler <darin@apple.com>
Variadic StringBuilder::append does not handle upconverting from 8-bit to 16-bit correctly
https://bugs.webkit.org/show_bug.cgi?id=200921
Reviewed by Saam Barati.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
Changed tests to use EXPECT macros instead of ASSERT macros since we don't
need to abort after the first failure. Added three new tests to the VariadicAppend
test to cover various cases of upconverting from 8-bit to 16-bit strings.
2019-08-20 Dean Jackson <dino@apple.com>
REGRESSION: Open in New Tab is missing from context menu
https://bugs.webkit.org/show_bug.cgi?id=200909
<rdar://problem/54476169>
Reviewed by Simon Fraser.
Add a new test that runs through the legacy context menu
flow, and verifies that it will be called if there aren't
appropriate delegates for the new API.
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(contextMenuWebViewDriver):
(-[TestContextMenuUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(TEST):
(-[LegacyPreviewViewController previewActionItems]):
(-[LegacyContextMenuUIDelegate webView:shouldPreviewElement:]):
(-[LegacyContextMenuUIDelegate webView:previewingViewControllerForElement:defaultActions:]):
(-[LegacyContextMenuUIDelegate webView:contextMenuWillPresentForElement:]):
(-[LegacyContextMenuUIDelegate _webView:contextMenuDidEndForElement:]):
* TestWebKitAPI/cocoa/TestContextMenuDriver.h:
2019-08-19 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] OSR entry to Wasm OMG
https://bugs.webkit.org/show_bug.cgi?id=200362
Reviewed by Michael Saboff.
* Scripts/run-jsc-stress-tests:
2019-08-19 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org Timeline] Disable back gesture
https://bugs.webkit.org/show_bug.cgi?id=200839
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/js/Utils.js:
* resultsdbpy/resultsdbpy/view/templates/base.html:
2019-08-19 Jonathan Bedard <jbedard@apple.com>
results-webkit.org: Add timeout to Redis locks
https://bugs.webkit.org/show_bug.cgi?id=200890
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext._find_job_with_attempts): Add timeout to Redis lock.
2019-08-19 Sihui Liu <sihui_liu@apple.com>
Remove IDB-specific quota
https://bugs.webkit.org/show_bug.cgi?id=196545
<rdar://problem/54201783>
Reviewed by Youenn Fablet.
* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
(setIDBPerOriginQuotaCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setIDBPerOriginQuota): Deleted.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setIDBPerOriginQuota): Deleted.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setIDBPerOriginQuota): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::setIDBPerOriginQuota): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-08-19 Yusuke Suzuki <ysuzuki@apple.com>
[WTF] Style checker should tell errors when it finds std::make_unique
https://bugs.webkit.org/show_bug.cgi?id=200878
Reviewed by Ross Kirsling.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_wtf_make_unique):
(check_style):
(CppChecker):
2019-08-18 Yusuke Suzuki <ysuzuki@apple.com>
[WTF] Add makeUnique<T>, which ensures T is fast-allocated, makeUnique / makeUniqueWithoutFastMallocCheck part
https://bugs.webkit.org/show_bug.cgi?id=200620
Reviewed by Geoffrey Garen.
* DumpRenderTree/TestRunner.cpp:
(addURLToRedirectCallback):
(setWillSendRequestClearHeaderCallback):
(TestRunner::setAccummulateLogsForChannel):
(TestRunner::runUIScript):
(TestRunner::setOpenPanelFiles):
* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpFramesAsText):
* DumpRenderTree/mac/EventSendingController.mm:
(eventPressedMouseButtonsSwizzlerForViewAndEvent):
* DumpRenderTree/win/DRTDataObject.cpp:
(DRTDataObject::SetData):
* DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::FrameLoadDelegate):
* DumpRenderTree/win/UIDelegate.cpp:
(DRTUndoManager::DRTUndoManager):
(UIDelegate::UIDelegate):
(UIDelegate::resetUndoManager):
* TestWebKitAPI/JavaScriptTest.cpp:
(TestWebKitAPI::runJSTest):
* TestWebKitAPI/PlatformUtilities.cpp:
(TestWebKitAPI::Util::toSTD):
* TestWebKitAPI/Tests/WTF/Expected.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::testMovingUsingEnsure):
(TestWebKitAPI::testMovingUsingAdd):
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/Lock.cpp:
(TestWebKitAPI::runLockTest):
* TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
* TestWebKitAPI/Tests/WTF/RefCounter.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/Variant.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/CARingBuffer.cpp:
(TestWebKitAPI::CARingBufferTest::SetUp):
* TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
(TestWebKitAPI::createTestValue):
* TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp:
* TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:
(TestWebKitAPI::createNewPage):
* TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp:
(TestWebKitAPI::createNewPage):
* TestWebKitAPI/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp:
* TestWebKitAPI/Tests/WebKit/UserMessage.cpp:
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::SetUp):
* TestWebKitAPI/Tests/WebKit/WillLoad.cpp:
(TestWebKitAPI::WebKit2WillLoadTest::SetUp):
* TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle_Bundle.mm:
(TestWebKitAPI::ForceLightAppearanceInBundleTest::didReceiveMessage):
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(serverCallback):
(testWebViewAuthenticationProxyHTTPS):
* TestWebKitAPI/Tests/WebKitGtk/DOMDOMWindowTest.cpp:
(WebKitDOMDOMWindowTest::create):
* TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
(TestWebKitAPI::Util::toSTD):
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(applyWorkaroundToAllowWritingAttributedStringsToItemProviders):
(-[TestWKWebView initWithFrame:configuration:addToWindow:]):
* TestWebKitAPI/mac/TestFontOptions.mm:
(-[TestFontOptions initWithFontOptions:]):
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::callAfterScrollingCompletes):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didCreatePage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setOpenPanelFiles):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
* WebKitTestRunner/StringFunctions.h:
(WTR::toSTD):
(WTR::toWTFString):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::resetStateToConsistentValues):
(WTR::createTestURL):
(WTR::TestController::runTest):
(WTR::TestController::platformCreateWebView):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::runUISideScript):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
(WTR::TestController::setDefaultCalendarType):
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::getGDKKeySymForKeyRef):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::setKeyboardInputModeIdentifier):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::wpeKeySymForKeyRef):
2019-08-17 Ross Kirsling <ross.kirsling@sony.com>
[ESNext] Implement optional chaining
https://bugs.webkit.org/show_bug.cgi?id=200199
Reviewed by Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
2019-08-17 Tim Horton <timothy_horton@apple.com>
Layout tests that call resizeTo() crash when run on iOS with IOSurface support enabled
https://bugs.webkit.org/show_bug.cgi?id=200866
<rdar://problem/50254021>
Reviewed by Simon Fraser.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage):
Replace some logging with release assertions that we are snapshotting a reasonable
view and get a reasonable snapshot back. Failing to snapshot is a big deal, and
"silently" failing with just a log that will be ignored is not helpful.
2019-08-17 Yusuke Suzuki <ysuzuki@apple.com>
[WTF] ThreadGroupRemove test is flaky
https://bugs.webkit.org/show_bug.cgi?id=200763
Reviewed by Mark Lam.
ThreadGroup.ThreadGroupRemove test is flaky since its `threadRunning` modification and check in Thread are racy.
It can lead to infinite wait on waitForCompletion. We should do more idiomatic to avoid race: When notifying condition
variables, we should first take a lock, modify the condition shared and notify the condition change while taking a lock,
and releasing the lock after that.
* TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
(TestWebKitAPI::TEST):
2019-08-17 Eric Liang <ericliang@apple.com>
Tested that accessibility WebProcessLoader bundle is loaded for the correct path.
https://bugs.webkit.org/show_bug.cgi?id=200367
Reviewed by Darin Adler.
Added AccessibilityTestPlugin on the web process to report whether a bundle is loaded and its path, so that it can be tested on WKContentView.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/AccessibilityTestPlugin.mm: Added.
(-[AccessibilityTestPlugin webProcessPlugIn:didCreateBrowserContextController:]):
(-[AccessibilityTestPlugin checkAccessibilityWebProcessLoaderBundleIsLoaded:]):
* TestWebKitAPI/Tests/WebKitCocoa/AccessibilityTestSupportProtocol.h: Added.
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
(TestWebKitAPI::TEST):
2019-08-17 Sam Weinig <weinig@apple.com>
Rename StringBuilder::flexibleAppend(...) to StringBuilder::append(...)
https://bugs.webkit.org/show_bug.cgi?id=200756
Reviewed by Darin Adler.
Update call sites for rename from StringBuilder::flexibleAppend(...) to
StringBuilder::append(...).
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::TEST):
2019-08-17 Simon Fraser <simon.fraser@apple.com>
[iOS WK2] Scroll indicators disappear sometimes
https://bugs.webkit.org/show_bug.cgi?id=200791
Reviewed by Tim Horton.
Tests that test that scroll indicators survive subview replacement, and that
a custom view also survives subview replacement.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/OverflowScrollViewTests.mm: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView performAfterLoading:]):
(-[UIView wkFirstSubviewWithClass:]):
(-[UIView wkFirstSubviewWithBoundsSize:]):
* TestWebKitAPI/ios/composited.html: Added.
* TestWebKitAPI/ios/overflow-scroll.html: Added.
2019-08-16 John Wilander <wilander@apple.com>
Add John Wilander as WebKit Reviewer
https://bugs.webkit.org/show_bug.cgi?id=200837
Unreviewed update to contributors.json to change my status to reviewer.
See email on reviewers mailing list for proof of granted privileges.
* Scripts/webkitpy/common/config/contributors.json:
2019-08-16 Timothy Hatcher <timothy@apple.com>
REGRESSION (r248436): WKWebView doesn’t respect isOpaque setting in NIB.
https://bugs.webkit.org/show_bug.cgi?id=200802
rdar://problem/54357818
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added WKWebViewOpaque.mm.
* TestWebKitAPI/Tests/ios/WKWebViewOpaque.mm: Added.
(-[OpaqueTestWKWebView isOpaque]): Added.
(-[NonOpaqueTestWKWebView isOpaque]): Added.
(isOpaque): Added.
(TEST): Added WKWebView.IsOpaqueDefault, WKWebView.SetOpaqueYes, WKWebView.SetOpaqueNo, WKWebView.IsOpaqueYesSubclassOverridden,
WKWebView.IsOpaqueNoSubclassOverridden, WKWebView.IsOpaqueYesDecodedFromArchive, WKWebView.IsOpaqueNoDecodedFromArchive,
WKWebView.IsOpaqueDrawsBackgroundYesConfiguration, WKWebView.IsOpaqueDrawsBackgroundNoConfiguration.
2019-08-16 Aakash Jain <aakash_jain@apple.com>
[ews] Add build steps for Windows Factory
https://bugs.webkit.org/show_bug.cgi?id=200813
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(WindowsFactory.__init__):
2019-08-16 Aakash Jain <aakash_jain@apple.com>
[ews] Report machine uptime in PrintConfiguration
https://bugs.webkit.org/show_bug.cgi?id=200812
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(PrintConfiguration): Added uptime command.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-08-16 Chris Lord <clord@igalia.com>
Add shared-mime-info to WPE WebKit jhbuild
https://bugs.webkit.org/show_bug.cgi?id=200768
Reviewed by Carlos Alberto Lopez Perez.
* wpe/jhbuild.modules:
2019-08-15 Yusuke Suzuki <ysuzuki@apple.com>
[WTF] Add makeUnique<T>, which ensures T is fast-allocated, WTF_MAKE_FAST_ALLOCATED annotation part
https://bugs.webkit.org/show_bug.cgi?id=200620
Reviewed by Geoffrey Garen.
* DumpRenderTree/AccessibilityController.h:
* DumpRenderTree/GCController.h:
* DumpRenderTree/win/DRTDataObject.cpp:
* DumpRenderTree/win/DRTDataObject.h:
* DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
* DumpRenderTree/win/DRTDropSource.h:
* DumpRenderTree/win/DraggingInfo.h:
* DumpRenderTree/win/EditingDelegate.h:
* DumpRenderTree/win/EventSender.cpp:
* DumpRenderTree/win/FrameLoadDelegate.h:
* DumpRenderTree/win/HistoryDelegate.h:
* DumpRenderTree/win/MD5.h:
* DumpRenderTree/win/PolicyDelegate.h:
* DumpRenderTree/win/ResourceLoadDelegate.h:
* DumpRenderTree/win/TextInputController.h:
* DumpRenderTree/win/UIDelegate.cpp:
* DumpRenderTree/win/UIDelegate.h:
* TestRunnerShared/UIScriptContext/UIScriptContext.h:
* TestRunnerShared/cocoa/ClassMethodSwizzler.h:
* TestRunnerShared/cocoa/InstanceMethodSwizzler.h:
* TestWebKitAPI/Counters.h:
* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/Tests/WTF/Expected.cpp:
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::DerefObserver::ref):
(TestWebKitAPI::DerefObserver::deref):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::DerefObserver::ref):
(TestWebKitAPI::DerefObserver::deref):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/UniqueRef.cpp:
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
* TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h:
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h:
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/GeolocationProviderMock.h:
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/TestInvocation.h:
2019-08-15 Sihui Liu <sihui_liu@apple.com>
Some improvements on web storage
https://bugs.webkit.org/show_bug.cgi?id=200373
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST): update expectation for behavior change.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: new SPI to synchronously flush localStorage to
database file.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::syncLocalStorage):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp: clear local storage between test runs to make each test isolated.
(WTR::TestController::resetStateToConsistentValues):
(WTR::StorageVoidCallbackContext::StorageVoidCallbackContext):
(WTR::StorageVoidCallback):
(WTR::TestController::clearIndexedDatabases):
(WTR::TestController::clearLocalStorage):
(WTR::TestController::syncLocalStorage):
(WTR::RemoveAllIndexedDatabasesCallbackContext::RemoveAllIndexedDatabasesCallbackContext): Deleted. Replaced
with StorageVoidCallbackContext for general usage.
(WTR::RemoveAllIndexedDatabasesCallback): Deleted. Replaced with StorageVoidCallback.
(WTR::TestController::ClearIndexedDatabases): Deleted. Use lowercase for consistent style.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): add handler for new message
SyncLocalStorage.
2019-08-15 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Add content hook to FlaskRequestsResponse
https://bugs.webkit.org/show_bug.cgi?id=200721
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/flask_support/flask_testcase.py:
(FlaskRequestsResponse):
(FlaskRequestsResponse.content): Return the encoded raw bytes value of the
Response, conforming to request's API.
2019-08-15 Alex Christensen <achristensen@webkit.org>
WKUIDelegate's webView:contextMenuDidEndForElement: should be called when context menus end
https://bugs.webkit.org/show_bug.cgi?id=200750
<rdar://problem/54232261> and <rdar://problem/52355829>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(-[TestContextMenuUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuUIDelegate webView:contextMenuForElement:willCommitWithAnimator:]):
(-[TestContextMenuUIDelegate webView:contextMenuDidEndForElement:]):
(contextMenuWebViewDriver):
(TEST):
2019-08-14 Said Abou-Hallawa <sabouhallawa@apple.com>
[iOS](REGRESSION: r200487): WebKit.RequestActivatedElementInfoForRotatedImage fails on iOS 13
https://bugs.webkit.org/show_bug.cgi?id=200726
Reviewed by Simon Fraser.
To get the pixels as an array of colors, draw the image into a memory
context. The backing memory buffer can then be accessed to get the image
pixels' colors.
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
(TestWebKitAPI::TEST):
2019-08-14 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r248526.
Caused two IndexedDB perf tests to fail
Reverted changeset:
"Remove IDB-specific quota"
https://bugs.webkit.org/show_bug.cgi?id=196545
https://trac.webkit.org/changeset/248526
2019-08-14 Keith Rollin <krollin@apple.com>
Remove support for macOS < 10.13
https://bugs.webkit.org/show_bug.cgi?id=200694
<rdar://problem/54278851>
Reviewed by Youenn Fablet.
Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
__MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
101300. This means that expressions like
"__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
"__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
* MiniBrowser/AppKitCompatibilityDeclarations.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController init]):
* TestWebKitAPI/Tests/WebCore/FontCache.cpp:
(TestWebKitAPI::FontCacheTest::SetUp): Deleted.
(TestWebKitAPI::createPlatformFont): Deleted.
(TestWebKitAPI::compareFonts): Deleted.
(TestWebKitAPI::TEST_F): Deleted.
* TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
* TestWebKitAPI/mac/NSFontPanelTesting.mm:
2019-08-14 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Less contended MetaAllocator
https://bugs.webkit.org/show_bug.cgi?id=200278
Reviewed by Mark Lam.
Update the interface.
* TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
2019-08-14 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: 500 errors on API endpoints don't return JSON
https://bugs.webkit.org/show_bug.cgi?id=200722
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/controller/api_routes.py:
(APIRoutes.response_500): We should return the response, instead of abort.
2019-08-14 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Don't save configuration multiple times in upload
https://bugs.webkit.org/show_bug.cgi?id=200719
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/model/upload_context.py:
(UploadContext.upload_test_results): Move registering of the configuration out
of the branch loop.
2019-08-14 Youenn Fablet <youenn@apple.com>
Reenable Update ContentFiltering.LazilyLoadPlatformFrameworks test for NetworkExtension
https://bugs.webkit.org/show_bug.cgi?id=200706
Reviewed by Alex Christensen.
Libwebrtc is now soft-linked so we can reenable this test.
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
2019-08-13 Sam Weinig <weinig@apple.com>
Rename StringBuilder::append(UChar32) to StringBuilder::appendCharacter(UChar32) to avoid accidental change in behavior when replacing append with flexibleAppend
https://bugs.webkit.org/show_bug.cgi?id=200675
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::TEST):
Update for rename from StringBuilder::append(UChar32) to StringBuilder::appendCharacter(UChar32).
2019-08-13 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org Timeline] Performance improvement - Skip render offscreen canvas
https://bugs.webkit.org/show_bug.cgi?id=200456
Reviewed by Jonathan Bedard.
This patch disable use the new batch draw method to render canvas directly without any caches, this will save a lot of memory, so that we won't go into the "low memory mode".
This patch also change the axis label collision detact box from a rect to polygon, so that we can dectact click more accurate.
* resultsdbpy/resultsdbpy/view/static/library/js/Utils.js:
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(pointPolygonCollisionDetect): Detact
(pointRightRayLineSegmentCollisionDetect):
(ColorBatchRender):
(ColorBatchRender.prototype.lazyCreateColorSeqs):
(ColorBatchRender.prototype.addSeq):
(ColorBatchRender.prototype.batchRender):
(ColorBatchRender.prototype.clear):
(xScrollStreamRenderFactory):
(Timeline.CanvasSeriesComponent):
(offscreenCachedRenderFactory): Deleted.
2019-08-13 John Wilander <wilander@apple.com>
Resource Load Statistics: Switch NSURLSession on top navigation to prevalent resource with user interaction
https://bugs.webkit.org/show_bug.cgi?id=200642
<rdar://problem/53962073>
Reviewed by Alex Christensen.
This patch adds test infrastructure to query whether an origin has an
isolated NSURLSession or not.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::hasStatisticsIsolatedSession):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::hasStatisticsIsolatedSession):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-08-13 Zhifei Fang <zhifei_fang@apple.com>
Update my status in contributors.json to committer.
Reviewed by Unreviewed
* Scripts/webkitpy/common/config/contributors.json:
2019-08-12 Jiewen Tan <jiewen_tan@apple.com>
Adds WebAuthn and AppSSO into watchlist
https://bugs.webkit.org/show_bug.cgi?id=200647
Reviewed by Dewei Zhu.
* Scripts/webkitpy/common/config/watchlist:
2019-08-13 Chris Dumez <cdumez@apple.com>
Crash under IPC::Connection::markCurrentlyDispatchedMessageAsInvalid()
https://bugs.webkit.org/show_bug.cgi?id=200674
<rdar://problem/50692748>
Reviewed by Geoff Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-08-12 Takashi Komori <Takashi.Komori@sony.com>
[WTF] Thread::removeFromThreadGroup leaks weak pointers.
https://bugs.webkit.org/show_bug.cgi?id=199857
Reviewed by Yusuke Suzuki.
* TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
(TestWebKitAPI::countThreadGroups):
(TestWebKitAPI::TEST):
2019-08-12 Alexey Shvayka <shvaikalesh@gmail.com>
AX: Homebrew is not allowed to run any script under sudo.
https://bugs.webkit.org/show_bug.cgi?id=173801
Reviewed by Carlos Alberto Lopez Perez.
Latest versions of Homebrew throw an error when run as root.
Dependencies are successfully installed w/o `sudo` on macOS, so skip it.
* gtk/install-dependencies:
2019-08-12 Jonathan Bedard <jbedard@apple.com>
[REGRESSION] run-webkit-tests: No PID defined when searching for simulator crashlogs
https://bugs.webkit.org/show_bug.cgi?id=200644
Reviewed by Aakash Jain.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess._start): Define system PID after launching app.
2019-08-12 Sam Weinig <weinig@apple.com>
Replace multiparameter overloads of append() in StringBuilder as a first step toward standardizinging on the flexibleAppend() implementation
https://bugs.webkit.org/show_bug.cgi?id=200614
Reviewed by Darin Adler.
Renames StringBuilder::append(const LChar*, unsigned), StringBuilder::append(const UChar*, unsigned) and
StringBuilder::append(const char*, unsigned) to StringBuilder::appendCharacters(...).
Renames StringBuilder::append(const String& string, unsigned offset, unsigned length) to
StringBuilder::appendSubstring(...).
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::TEST):
Update for renames.
2019-08-12 Megan Gardner <megan_gardner@apple.com>
Fix Crash in Mail Search
https://bugs.webkit.org/show_bug.cgi?id=200589
Reviewed by Tim Horton.
If you search backwards first in mail, we would crash,
this tests that codepath.
* TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
(TEST):
2019-08-12 Wenson Hsieh <wenson_hsieh@apple.com>
[iPadOS] Web pages sometimes load at half width in Safari
https://bugs.webkit.org/show_bug.cgi?id=200624
<rdar://problem/52694257>
Reviewed by Simon Fraser.
Add an API test to verify that after performing an animated resize and killing the web process, the subsequent
web page is created using the post-animated-resize web view dimensions, rather than the original layout
dimensions.
* TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
2019-08-12 Daniel Bates <dabates@apple.com>
Add a test to ensure that we dispatch keydown and keyup events when multiple keys are pressed at the same time
https://bugs.webkit.org/show_bug.cgi?id=200548
Reviewed by Darin Adler.
Expose infrastructure to simulate a literal raw key down and a literal key up event.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::rawKeyDown):
(WTR::UIScriptController::rawKeyUp):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::rawKeyDown):
(WTR::UIScriptControllerIOS::rawKeyUp):
2019-08-12 Thibault Saunier <tsaunier@igalia.com>
[GStreamer][WebRTC] Handle broken data in the libwebrtc GStreamer decoders
https://bugs.webkit.org/show_bug.cgi?id=200584
Reviewed by Philippe Normand.
Added a h264parse patch to post WARNING on the bus when a broken frame is detected.
Ignore style libwebrtc optionnal 'style issue'
* Scripts/webkitpy/style/checker.py:
* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-bad-0001-h264parse-Post-a-WARNING-when-data-is-broken.patch: Added.
2019-08-12 Youenn Fablet <youenn@apple.com>
Remove IDB-specific quota
https://bugs.webkit.org/show_bug.cgi?id=196545
Reviewed by Alex Christensen.
* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
(setIDBPerOriginQuotaCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setIDBPerOriginQuota): Deleted.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setIDBPerOriginQuota): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::setIDBPerOriginQuota): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-08-10 Alexey Proskuryakov <ap@apple.com>
WebKitTestRunner's InjectedBundle has too aggressive stripping, resulting in non-symbolicated crash logs
https://bugs.webkit.org/show_bug.cgi?id=200621
Reviewed by Dan Bernstein.
* WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
2019-08-09 Wenson Hsieh <wenson_hsieh@apple.com>
KeyboardInputTests.CaretSelectionRectAfterRestoringFirstResponder API tests time out on iPad
https://bugs.webkit.org/show_bug.cgi?id=200604
<rdar://problem/51273130>
Reviewed by Megan Gardner.
Tweak some API tests so that they work on iPad simulator. These tests checked that the final caret rect was
{{16, 13}, {2, 15}}; however, this is only correct behavior on iPhone, where we will scale the page so that the
focused element's font size is legible. Note that when the page is scaled, we scale the height but not the
width of the caret, which is why the width of the caret (in content coordinates) decreases while the height
remains the same.
We don't have the same behavior on iPad, so the expected caret rect is {{16, 13}, {3, 15}}, which is equal to
the caret rect at initial scale 1.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2019-08-09 Ali Juma <ajuma@chromium.org>
Don't allow cross-origin iframes to autofocus
https://bugs.webkit.org/show_bug.cgi?id=200515
<rdar://problem/54092988>
Reviewed by Ryosuke Niwa.
Make WebKit.FocusedFrameAfterCrash use same-origin iframes instead
of cross-origin iframes, since it depends on focusing one of the
frames.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/many-same-origin-iframes.html: Added.
2019-08-09 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS 13] Google Docs/Slides/Sheets: paste often doesn't work and sometimes produces an error
https://bugs.webkit.org/show_bug.cgi?id=200591
<rdar://problem/54102238>
Reviewed by Ryosuke Niwa and Tim Horton.
Add a new API test to exercise -supportsImagePaste.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/UIKitSPI.h:
2019-08-09 Aakash Jain <aakash_jain@apple.com>
Follow-up commit to r248474 as webkit-patch did not commit the svn property changes.
[ews-build] Set svn:ignore to various EWS Buildbot files
https://bugs.webkit.org/show_bug.cgi?id=200581
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build: Added property svn:ignore.
2019-08-09 Aakash Jain <aakash_jain@apple.com>
[ews-build] Set svn:ignore to various EWS Buildbot files
https://bugs.webkit.org/show_bug.cgi?id=200581
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build: Added property svn:ignore.
2019-08-09 Aakash Jain <aakash_jain@apple.com>
[ews] Add buildbot.tac to repository
https://bugs.webkit.org/show_bug.cgi?id=200580
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/buildbot.tac: Added.
2019-08-09 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Add missing spellchecking packages to dependencies script
https://bugs.webkit.org/show_bug.cgi?id=200574
Reviewed by Philippe Normand.
These are needed for the spellchecking test in WebContext API tests.
* gtk/install-dependencies:
2019-08-08 Jon Lee <jonlee@apple.com>
Unreviewed. Get rid of extraneous whitespace in ChangeLog.
2019-08-08 Jonathan Bedard <jbedard@apple.com>
webkitpy: Disable shared clipboard between Simulators
https://bugs.webkit.org/show_bug.cgi?id=200546
Reviewed by Aakash Jain.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.initialize_devices): Disable PasteboardAutomaticSync in Simulator.app
managed by run-webkit-tests.
2019-08-08 Brent Fulgham <bfulgham@apple.com>
[FTW] Get WebKit, WebKit2, and MiniBrowser building and executing
https://bugs.webkit.org/show_bug.cgi?id=200539
<rdar://problem/54082550>
Reviewed by Dean Jackson.
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
* PlatformFTW.cmake: Added.
2019-08-08 Said Abou-Hallawa <sabouhallawa@apple.com>
[iOS] Position image information should respect the image orientation
https://bugs.webkit.org/show_bug.cgi?id=200487
Reviewed by Simon Fraser.
Add an API test to verify the position image information is drawn rotated
because of respecting its image orientation.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/exif-orientation-8-llo.jpg: Added.
* TestWebKitAPI/Tests/WebKitCocoa/img-with-rotated-image.html: Added.
2019-08-08 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Fix WebContext languages test
https://bugs.webkit.org/show_bug.cgi?id=200538
Reviewed by Alex Christensen.
This test broke after the format of Accepted-Languages
was changed in r238236, update.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextLanguages):
2019-08-08 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Fix /webkit/WebKitWebsiteData/databases failure
https://bugs.webkit.org/show_bug.cgi?id=200536
Reviewed by Carlos Alberto Lopez Perez.
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataDatabases): Databases take a moment to be written,
wait before fetching the data as it's done in other tests.
2019-08-08 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Use canvas for timeline
https://bugs.webkit.org/show_bug.cgi?id=200172
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/commit.js:
(Commit.constructor): Make uuid a member variable instead of a member function for efficiency.
(Commit.compare): Ditto.
(_CommitBank.commitByUuid): Ditto.
(_CommitBank._loadSiblings): Ditto.
(_CommitBank._load): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(tickForCommit): Deleted.
(minimumUuidForResults): Given a dictionary of result lists, determine the minimum UUID
which encompasses all results. Crucially, this function must exclude an UUIDs which may
refer to results excluded because of the limit argument.
(renderTimeline): Deleted.
(commitsForResults): Given a dictionary of result lists, return a list of commits associated
with those results.
(scaleForCommits): Given a list of commits, generate a scale to be consumed by the canvas Timeline.
(repositoriesForCommits): Given a list of commits, return a sorted list of associated repository ids.
(xAxisFromScale): Create a canvas-based x-axis based on the provided scale and a repository id.
(inPlaceCombine): Combine result objects together.
(statsForSingleResult): Turn a single result into a stat object.
(combineResults): Given lists of results, combine these lists while keeping the original lists unchanged.
(Dot): Deleted.
(TimelineFromEndpoint): Renamed from Timeline.
(TimelineFromEndpoint.constructor): Canvas Timeline manages expansion and collapsing of nested timelines.
(TimelineFromEndpoint.teardown): Detach callbacks from CommitBank.
(TimelineFromEndpoint.update): Update with any new commit information, force a re-draw of the current
cache contents.
(TimelineFromEndpoint.reload): Remove management of nested timelines.
(TimelineFromEndpoint.render): Use canvas Timeline instead of html timeline to visualize results.
* resultsdbpy/resultsdbpy/view/templates/search.html: Use TimelineFromEndpoint class.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
2019-08-08 Brady Eidson <beidson@apple.com>
Do not allow navigations of frames about to get replaced by the result of evaluating javascript: URLs
<rdar://problem/53788893> and https://bugs.webkit.org/show_bug.cgi?id=198786
Reviewed by Geoff Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/JavascriptURLNavigation.mm: Added.
2019-08-08 Rob Buis <rbuis@igalia.com>
Add runtime flag for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=199794
Reviewed by Darin Adler.
Set lazyImageLoading preference as part of experimental features. Add
TestOption for lazy image loading.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(setWebPreferencesForTestOptions):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
2019-08-08 Rob Buis <rbuis@igalia.com>
Import lazy loading WPT tests
https://bugs.webkit.org/show_bug.cgi?id=199795
Reviewed by Darin Adler.
Only do loading/ exception for WebKit specific, non WPT tests.
* DumpRenderTree/mac/DumpRenderTree.mm:
(shouldLogFrameLoadDelegates):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::TestInvocation):
2019-08-07 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] Add key accelerators for reload and close window
https://bugs.webkit.org/show_bug.cgi?id=200497
Reviewed by Brent Fulgham.
Added short cuts Ctrl-W to close window, Ctrl-R to reload.
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::WndProc): Added IDM_CLOSE_WINDOW case.
* MiniBrowser/win/MiniBrowserLib.rc: Added "Close" menu item. Added accelerators.
* MiniBrowser/win/MiniBrowserLibResource.h: Added IDM_CLOSE_WINDOW.
2019-08-07 Myles C. Maxfield <mmaxfield@apple.com>
Add WHLSL and WebGPU to the watchlist file
https://bugs.webkit.org/show_bug.cgi?id=200509
Reviewed by Robin Morisset.
* Scripts/webkitpy/common/config/watchlist:
2019-08-07 Keith Rollin <krollin@apple.com>
Unreviewed build fix after r248317 -- disable XCBuild because it
breaks incremental builds.
* Scripts/webkitdirs.pm:
(canUseXCBuild):
2019-08-06 Fujii Hironori <Hironori.Fujii@sony.com>
ASSERTION FAILED: m_observers.isEmpty() if WKPageSetPageStateClient is used
https://bugs.webkit.org/show_bug.cgi?id=200465
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit/PageLoadState.cpp:
(TestWebKitAPI::WebKit.PageLoadState): Set PageStateClient before
finishing the test.
* TestWebKitAPI/win/PlatformWebViewWin.cpp:
(TestWebKitAPI::PlatformWebView::~PlatformWebView): Release m_view.
2019-08-06 Jiewen Tan <jiewen_tan@apple.com>
Unreviewed, a build fix after r248308
Don't use WK_ENGINEERING_CODE_SIGN_IDENTITY for Production build.
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
2019-08-06 Jiewen Tan <jiewen_tan@apple.com>
Unreviewed, a build fix after r248319
Use HAVE(DATA_PROTECTION_KEYCHAIN) instead of HAVE_DATA_PROTECTION_KEYCHAIN.
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::addTestKeyToKeychain):
(WTR::TestController::cleanUpKeychain):
(WTR::TestController::keyExistsInKeychain):
2019-08-06 Jiewen Tan <jiewen_tan@apple.com>
Unreviewed, a build fix after r248308
Use kSecUseDataProtectionKeychain for iOS 13 and macOS Catalina or newer.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::addTestKeyToKeychain):
(WTR::TestController::cleanUpKeychain):
(WTR::TestController::keyExistsInKeychain):
2019-08-06 Keith Rollin <krollin@apple.com>
Enable XCBuild for `make` and `build-webkit` builds
https://bugs.webkit.org/show_bug.cgi?id=200476
<rdar://problem/50771065>
Reviewed by Jonathan Bedard.
All projects have now been tested under XCBuild and successfully
build. Enable the use of XCBuild when performing builds with `make` or
`build-webkit` and when using a sufficient version of Xcode. We set
this version to Xcode 11 since Xcode 10 -- even though it supports
XCBuild -- does not support a build facility needed to build WebKit
(Bug 197072, Bug 197116, Bug 197340).
Do not enable XCBuild in the Xcode projects themselves since these
projects may need to be used under older versions of Xcode and there's
no way to make those project changes sensitive to the version of Xcode
being used. This means that builds performed in the Xcode IDE will not
use XCBuild.
* Scripts/webkitdirs.pm:
(canUseXCBuild):
2019-08-06 Chris Dumez <cdumez@apple.com>
Fix inefficiency in HTTPHeaderMap::set(CFStringRef, const String&)
https://bugs.webkit.org/show_bug.cgi?id=200475
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::stringViewFromLiteral):
(TestWebKitAPI::stringViewFromUTF8):
2019-08-06 Carlos Alberto Lopez Perez <clopez@igalia.com>
Update my status in contributors.json to reviewer.
Regained the status after following the procedure for inactive contributors.
See r247136 for further explanation.
* Scripts/webkitpy/common/config/contributors.json:
2019-08-06 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Enable LocalAuthenticator for macOS
https://bugs.webkit.org/show_bug.cgi?id=182772
<rdar://problem/43347920>
Reviewed by Brent Fulgham.
Add an entitlement file to WebKitTestRunner such that it can access
the modern macOS keychain.
* WebKitTestRunner/Configurations/WebKitTestRunner.entitlements: Added.
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::addTestKeyToKeychain):
(WTR::TestController::cleanUpKeychain):
(WTR::TestController::keyExistsInKeychain):
2019-08-06 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org Timeline] Performance improvements
https://bugs.webkit.org/show_bug.cgi?id=200406
Reviewed by Jonathan Bedard.
1. Unhook the scroll event when a series/axis have been removed from the container
2. Fix the axis's cache data structure out of sync.
3. Use position:sticky to reduce the scrolling blink when update the presenter's transform
4. Use intersection observer to detect if the canvas on screen or not, if a canvas is not on the screen, we do nothing, this will eliminate render requests we send out.
* resultsdbpy/resultsdbpy/view/static/library/js/Ref.js:
(Signal.prototype.removeListener):
(prototype.stopAction): Unregsiter an action handler
(Ref):
(Ref.prototype.apply):
(Ref.prototype.destory):
* resultsdbpy/resultsdbpy/view/static/library/js/components/BaseComponents.js:
(ApplyNewChildren):
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(Timeline.CanvasSeriesComponent):
2019-08-06 Jer Noble <jer.noble@apple.com>
Add test for behavior introduced in r248174
https://bugs.webkit.org/show_bug.cgi?id=200446
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/FullscreenTouchSecheuristicTests.cpp: Added.
(WebKit::configureSecheuristic):
(WebKit::TEST):
2019-08-05 Fujii Hironori <Hironori.Fujii@sony.com>
[MiniBrowser][WK2] Unhandled key events should be bubbled up to the parent window
https://bugs.webkit.org/show_bug.cgi?id=200464
Reviewed by Ross Kirsling.
When WK2 WebView is focused, short cut keys (e.g. Alt-F to open File
menu, Alt-F4 to close window, and etc) don't work.
WK1 WebView doesn't have this issue because it processes key events
properly.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::WebKitBrowserWindow):
(WebKitBrowserWindow::didNotHandleKeyEvent): Added. Send the
unhandled key events to the main window.
* MiniBrowser/win/WebKitBrowserWindow.h:
2019-08-05 Simon Fraser <simon.fraser@apple.com>
iOS 13: Overflow:hidden on body prevents PDF scroll
https://bugs.webkit.org/show_bug.cgi?id=200435
rdar://problem/53942888
Reviewed by Tim Horton.
When we navigate from an overflow:hidden HTML page to a custom view (like PDF), we need
to make sure that the scroll view is scrollable.
* TestWebKitAPI/Tests/ios/ScrollViewScrollabilityTests.mm:
(TestWebKitAPI::TEST):
2019-08-05 Aakash Jain <aakash_jain@apple.com>
New EWS:mac-wk2 status-bubble shows waiting to run tests for all recent bugs
https://bugs.webkit.org/show_bug.cgi?id=200400
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble):
(StatusBubble._queue_position):
2019-08-05 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests asserts when the iPhone XR simulator is running
https://bugs.webkit.org/show_bug.cgi?id=200404
<rdar://problem/53878739>
Reviewed by Dean Jackson.
Support unicode in all logging statements tied to device model.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run):
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_baseline_search_path):
* Scripts/webkitpy/port/device.py:
(Device.__repr__):
* Scripts/webkitpy/port/device_port.py:
(DevicePort._install):
(DevicePort.setup_test_run):
(DevicePort.clean_up_test_run):
(DevicePort.configuration_for_upload):
* Scripts/webkitpy/port/ios.py:
(IOSPort.default_baseline_search_path):
* Scripts/webkitpy/xcode/device_type.py:
(DeviceType.__str__):
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.populate_available_devices):
(SimulatedDeviceManager._find_available_name):
(SimulatedDeviceManager._get_device_identifier_for_type):
(SimulatedDeviceManager._create_or_find_device_for_request):
(SimulatedDeviceManager._does_fulfill_request):
(SimulatedDeviceManager._wait_until_device_in_state):
(SimulatedDeviceManager._wait_until_device_is_usable):
(SimulatedDeviceManager._boot_device):
(SimulatedDeviceManager.initialize_devices):
(SimulatedDeviceManager.max_supported_simulators):
(SimulatedDeviceManager.swap):
(SimulatedDevice.is_usable):
(SimulatedDevice._shut_down):
(SimulatedDevice._delete):
(SimulatedDevice.launch_app):
(SimulatedDevice.__repr__):
2019-08-04 Chris Dumez <cdumez@apple.com>
Ping loads should not prevent page caching
https://bugs.webkit.org/show_bug.cgi?id=200418
<rdar://problem/53901632>
Reviewed by Darin Adler.
Add TestOption to enable PageCache at UIProcess-level so that we can test
page caching when navigating cross-origin with PSON enabled.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2019-08-02 Keith Rollin <krollin@apple.com>
Consistently use Obj-C boolean literals
https://bugs.webkit.org/show_bug.cgi?id=200405
<rdar://problem/53880043>
Reviewed by Simon Fraser, Joseph Pecoraro.
There are places where we use equivalent but different expressions for
Obj-C boolean objects. For example, we use both [NSNumber
numberWithBool:YES] and @YES. There are places where both are used in
the same function, such as -[WebPreferences initialize]. The boolean
literal is in greater use and is more succinct, so standardize on
that. Also, change @(YES/NO) to @YES/NO.
* DumpRenderTree/mac/ObjCController.m:
(-[ObjCController objectOfClass:]):
* TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegate.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(overrideAddObserverForName):
* TestWebKitAPI/ios/mainIOS.mm:
(main):
* TestWebKitAPI/mac/InjectedBundleControllerMac.mm:
(TestWebKitAPI::InjectedBundleController::platformInitialize):
* TestWebKitAPI/mac/mainMac.mm:
(main):
* WebKitLauncher/WebKitNightlyEnabler.m:
(enableWebKitNightlyBehaviour):
2019-08-02 Wenson Hsieh <wenson_hsieh@apple.com>
TextAutosizingBoost.ChangeAutosizingBoostAtRuntime fails on iPad Simulator
https://bugs.webkit.org/show_bug.cgi?id=200402
<rdar://problem/53823368>
Reviewed by Tim Horton.
Make it possible to run this test using the iPad simulator.
* TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm:
Two adjustments: (1) override the screen size to be 320 by 568 (so that the legacy text autosizing heuristic
doesn't avoid boosting this text), and (2) force text autosizing on, but disable idempotent text autosizing,
since this would result in differently sized text.
(mainScreenReferenceBoundsOverride):
* TestWebKitAPI/ios/UIKitSPI.h:
2019-08-02 Sihui Liu <sihui_liu@apple.com>
API tests using permanent credentials should clear credentials left by previous tests
https://bugs.webkit.org/show_bug.cgi?id=199729
Reviewed by Alex Christensen.
We used to clear the permanent credentials created by API tests at the end of the API tests, to ensure those
credentials will not affect tests running after. There is a case where permanent credentials were left on the
system, so those API tests were timing out themselves before reaching to the cleanup, which caused cascading
failure. To prevent this from happening again, add cleanup at the begining of the tests.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
2019-08-02 Andres Gonzalez <andresg_22@apple.com>
Add accessibility object method to determine whether an element is inside a table cell. Needed for iOS accessibility client.
https://bugs.webkit.org/show_bug.cgi?id=200394
<rdar://problem/52914964>
Reviewed by Chris Fleizach.
Glue code to exercise new method [WebAccessibilityObjectWrapper _accessibilityIsInTableCell].
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::isInTableCell const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::isInTableCell const):
2019-08-02 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org Timeline] Using transform matrix to calculate the tag rotation position
https://bugs.webkit.org/show_bug.cgi?id=200397
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
2019-08-02 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS 10.15] Image dragged from Safari does not appear in Notes
https://bugs.webkit.org/show_bug.cgi?id=188490
<rdar://problem/39462717>
Reviewed by Andy Estes.
Add a test to verify that promised image data can be delivered to multiple pasteboards when performing a drop.
* TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
2019-08-02 Alex Christensen <achristensen@webkit.org>
Fix API test after r248139
https://bugs.webkit.org/show_bug.cgi?id=200102
* TestWebKitAPI/Tests/WebKitCocoa/AdditionalReadAccessAllowedURLsPlugin.mm:
(-[AdditionalReadAccessAllowedURLsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
This was supposed to be removed as part of reverting r245322.
2019-08-01 Zhifei Fang <zhifei_fang@apple.com>
results.webkit.org: Force update cache when timeline updated
https://bugs.webkit.org/show_bug.cgi?id=200363
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(offscreenCachedRenderFactory): Add ability to force the redraw.
(Timeline.CanvasSeriesComponent): Force redraw when scales or dots are updated.
(Timeline.CanvasXAxisComponent): Force redraw when scales are updated. Add missing exporter for export scales update API
2019-08-01 Alex Christensen <achristensen@webkit.org>
Do not send NetworkProcessProxy::LogTestingEvent message if we are not testing
https://bugs.webkit.org/show_bug.cgi?id=200360
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(cleanupITPDatabase):
(TEST):
2019-08-01 Alex Christensen <achristensen@webkit.org>
Move FormData zip file generation to NetworkProcess and enable it for all WebKit clients for uploading directories
https://bugs.webkit.org/show_bug.cgi?id=200102
<rdar://problem/53275114>
Reviewed by Darin Adler.
Add an API test that is Mac-only right now because runOpenPanelWithParameters is only supported on Mac for some reason
and because clicking on a TestWKWebView only works on Mac.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/UploadDirectory.mm: Added.
(-[UploadDelegate initWithDirectory:]):
(-[UploadDelegate webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
(-[UploadDelegate sentDirectory]):
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView sendClickAtPoint:]):
2019-08-01 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org] Timeline.CanvasXAxisComponent height should be defined by option
https://bugs.webkit.org/show_bug.cgi?id=200321
Reviewed by Jonathan Bedard.
*resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
Let the axis' height be defined in the option. Timeine component will use this value as
padding-top for headers which allows headers start in the right position, even with multiple
top axises.
(Timeline.CanvasSeriesComponent):
(prototype.Timeline.CanvasContainer):
2019-08-01 Zhifei Fang <zhifei_fang@apple.com>
results.webkit.org: Collision detection for dots is off by 2 * dotMargin
https://bugs.webkit.org/show_bug.cgi?id=200347
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(Timeline.CanvasSeriesComponent): Need to change it to dotMargin + radius other than use a fixed 3 * radius, which is for the old wide timeline
2019-08-01 Jiewen Tan <jiewen_tan@apple.com>
Improve flakiness of SOAuthorizationRedirect tests
https://bugs.webkit.org/show_bug.cgi?id=200320
<rdar://problem/53767057>
Reviewed by Alex Christensen.
This patch replaces Util::sleep(0.5) in tests that expect a SOAuthorization session to wait when the corresponding WKWebView
is out of the window with a more precise boolean indicator: navigationPolicyDecided. The new boolean indicator is working and
better because the authorizationPerformed should be set in the same runloop when NavigationState::decidePolicyForNavigationAction
is executed.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(-[TestSOAuthorizationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(resetState):
(TestWebKitAPI::TEST):
2019-08-01 Keith Rollin <krollin@apple.com>
Update TestWebKitAPI for XCBuild
https://bugs.webkit.org/show_bug.cgi?id=200311
<rdar://problem/53773804>
Reviewed by Alex Christensen.
Bug 199728 (svn 247402) updated TestWebKitAPI to use the unified-build
technique. Now update WebKitLegacy to build under XCBuild after those
changes. This work involves adding an "Apply Configuration to
XCFileLists" build target, adding a check-xcfilelists.sh script,
adding a "Check xcfilelists" build phase that calls that script,
adding knowledge of the project to the generate-xcfilelists script,
creating new .xcfilelist files, and adding those to the project.
* Scripts/webkitpy/generate_xcfilelists_lib/application.py:
(Application.__init__):
* Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
(WebKitTestRunnerGenerator._get_generate_derived_sources_script):
(TestWebKitAPIGenerator):
(TestWebKitAPIGenerator._get_project_file_path):
(TestWebKitAPIGenerator._get_generate_unified_sources_script):
* TestWebKitAPI/Scripts/check-xcfilelists.sh: Added.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/UnifiedSources-output.xcfilelist: Added.
2019-08-01 Youenn Fablet <youenn@apple.com>
UserMediaPermissionRequestManagerProxy should not use audio+video denied requests to deny audio-only or video-only requests
https://bugs.webkit.org/show_bug.cgi?id=200317
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKit/getUserMediaAudioVideoCapture.html: Added
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(-[GetUserMediaOnlyAudioUIDelegate _webView:requestMediaCaptureAuthorization:decisionHandler:]):
(-[GetUserMediaOnlyAudioUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(TestWebKitAPI::TEST):
2019-08-01 Aakash Jain <aakash_jain@apple.com>
New EWS: Cannot see build status page when patch is waiting for tester
https://bugs.webkit.org/show_bug.cgi?id=200333
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): While patch hasn't started processing on tester queue, display build information from builder queue.
2019-08-01 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Switch to use libsoup WebSockets API
https://bugs.webkit.org/show_bug.cgi?id=200162
Reviewed by Michael Catanzaro.
Update libsoup version to 2.67.90.
* gtk/jhbuild.modules:
* wpe/jhbuild.modules:
2019-07-31 Andy Estes <aestes@apple.com>
REGRESSION (r240942): first visually non-empty layout milestone is not reached in media documents until after the video finishes loading
https://bugs.webkit.org/show_bug.cgi?id=200293
<rdar://problem/52937749>
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/FirstVisuallyNonEmptyMilestone.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKit/FirstVisuallyNonEmptyMilestoneWithDeferredScript.mm.
(-[FirstPaintMessageHandler userContentController:didReceiveScriptMessage:]):
(-[RenderingProgressNavigationDelegate _webView:renderingProgressDidChange:]):
(-[RenderingProgressNavigationDelegate webView:didFinishNavigation:]):
(TEST):
2019-07-31 Aakash Jain <aakash_jain@apple.com>
[ews-build] Enable all macOS queues on new EWS
https://bugs.webkit.org/show_bug.cgi?id=199944
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json: Enabled the triggers for macOS queues.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): Enabled status-bubbles for mac queues, separated builders and testers bubbles in separate lines. Also
removed mac-32bit and mac-32bit-wk2 bubbles, these queues were removed from Buildbot configuration previously.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: Removed mac queues from bot-watcher's dashboard.
* QueueStatusServer/config/queues.py: Removed mac queues from old EWS.
2019-07-31 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed test gardening, disable failing test for rdar://51752593.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2019-07-31 Jonathan Bedard <jbedard@apple.com>
results.webkit.og: Timeline in canvas painting with wrong colors, cannot customize scale
https://bugs.webkit.org/show_bug.cgi?id=200318
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(Timeline.CanvasSeriesComponent): Reset draw context between dots.
(Timeline.CanvasXAxisComponent): Use getLabel function.
2019-07-31 Loïc Yhuel <loic.yhuel@softathome.com>
[GTK][WPE] Fix gtkdoc build with "build-webkit --32-bit" on 64-bit hosts
https://bugs.webkit.org/show_bug.cgi?id=200306
Reviewed by Michael Catanzaro.
gtkdoc-scangobj calls scangobj.py, which only uses LDFLAGS on link (when producing
jsc-glib-4.0-scan for example).
* Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):
2019-07-31 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed test gardening, disable failing test for rdar://52355829.
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
(TEST):
2019-07-31 Keith Rollin <krollin@apple.com>
Update WebKitLegacy for XCBuild
https://bugs.webkit.org/show_bug.cgi?id=200310
<rdar://problem/53773708>
Reviewed by Alex Christensen.
Bug 199771 (svn r247570) updated WebKitLegacy to use the unified-build
technique. Now update WebKitLegacy to build under XCBuild after those
changes. This work involves adding an "Apply Configuration to
XCFileLists" build target, adding a check-xcfilelists.sh script,
adding a "Check xcfilelists" build phase that calls that script,
adding knowledge of the project to the generate-xcfilelists script,
creating new .xcfilelist files, and adding those to the project.
* Scripts/webkitpy/generate_xcfilelists_lib/application.py:
(Application.__init__):
* Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
(JavaScriptCoreGenerator):
(WebCoreGenerator):
(WebKitGenerator):
(WebKitGenerator._get_generate_unified_sources_script):
(WebKitLegacyGenerator):
(WebKitLegacyGenerator._get_project_file_path):
(WebKitLegacyGenerator._get_generate_unified_sources_script):
2019-07-31 Chris Dumez <cdumez@apple.com>
REGRESSION (r247486?): Flaky API Test TestWebKitAPI.WKWebView.LocalStorageProcessSuspends
https://bugs.webkit.org/show_bug.cgi?id=200086
<rdar://problem/53501721>
Reviewed by Alex Christensen.
re-enable the API test.
* TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(TEST):
2019-07-31 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS 13] Safari crashes when closing a tab with a focused element if the unified field has focus
https://bugs.webkit.org/show_bug.cgi?id=200291
<rdar://problem/53717946>
Reviewed by Megan Gardner.
Add an API test to exercise the scenario of synchronously requesting the autocorrection context immediately
after closing the web view, while the web view's content view isn't the first responder.
* TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
* TestWebKitAPI/ios/UIKitSPI.h:
2019-07-31 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Datalist element support for TextFieldInputType
https://bugs.webkit.org/show_bug.cgi?id=98934
Reviewed by Michael Catanzaro.
Implement UIScriptControllerGtk::isShowingDataListSuggestions.
* WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
(WTR::UIScriptControllerGtk::isShowingDataListSuggestions const):
* WebKitTestRunner/gtk/UIScriptControllerGtk.h:
2019-07-30 Tim Horton <timothy_horton@apple.com>
Remove some needless comments that snuck into the tree
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::setHardwareKeyboardAttached):
(WTR::UIScriptController::playBackEventStream):
2019-07-30 Fujii Hironori <Hironori.Fujii@sony.com>
[WebKit] Add PageLoadState::Observer C API
https://bugs.webkit.org/show_bug.cgi?id=199848
Reviewed by Alex Christensen.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::WebKitBrowserWindow):
(WebKitBrowserWindow::didChangeTitle):
(WebKitBrowserWindow::didFinishNavigation): Deleted.
* MiniBrowser/win/WebKitBrowserWindow.h:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/PageLoadState.cpp: Added.
(TestWebKitAPI::PageLoadTestState::PageLoadTestState):
(TestWebKitAPI::didChangeActiveURL):
(TestWebKitAPI::didChangeCanGoBack):
(TestWebKitAPI::didChangeCanGoForward):
(TestWebKitAPI::didChangeCertificateInfo):
(TestWebKitAPI::didChangeEstimatedProgress):
(TestWebKitAPI::didChangeHasOnlySecureContent):
(TestWebKitAPI::didChangeIsLoading):
(TestWebKitAPI::didChangeNetworkRequestsInProgress):
(TestWebKitAPI::didChangeTitle):
(TestWebKitAPI::didChangeWebProcessIsResponsive):
(TestWebKitAPI::didSwapWebProcesses):
(TestWebKitAPI::willChangeActiveURL):
(TestWebKitAPI::willChangeCanGoBack):
(TestWebKitAPI::willChangeCanGoForward):
(TestWebKitAPI::willChangeCertificateInfo):
(TestWebKitAPI::willChangeEstimatedProgress):
(TestWebKitAPI::willChangeHasOnlySecureContent):
(TestWebKitAPI::willChangeIsLoading):
(TestWebKitAPI::willChangeNetworkRequestsInProgress):
(TestWebKitAPI::willChangeTitle):
(TestWebKitAPI::willChangeWebProcessIsResponsive):
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
2019-07-30 Jonathan Bedard <jbedard@apple.com>
DumpRenderTree.app: Add CFBundleShortVersionString
https://bugs.webkit.org/show_bug.cgi?id=200269
<rdar://problem/53412596>
Rubber-stamped by Aakash Jain.
* DumpRenderTree/ios/Info.plist:
2019-07-29 Wenson Hsieh <wenson_hsieh@apple.com>
Add layout test coverage for <https://webkit.org/b/200215>
https://bugs.webkit.org/show_bug.cgi?id=200245
<rdar://problem/52976965>
Reviewed by Tim Horton.
Add new testing infrastructure. See below for more details.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptContext.h:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setWillCreateNewPageCallback):
(WTR::UIScriptController::willCreateNewPageCallback const):
Add platform-agnostic UIScriptController callback hooks to notify a test when a new page is being created. The
new test in this patch uses this opportunity to remove and reinsert the web view into the window's hierarchy.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::becomeFirstResponder):
Add and implement a Cocoa platform hook to make the web view first responder.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::willCreateNewPage):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::becomeFirstResponder):
2019-07-29 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] Add 'reload' menu item and 'reload' toolbar button
https://bugs.webkit.org/show_bug.cgi?id=200217
Reviewed by Alex Christensen.
* MiniBrowser/win/BrowserWindow.h:
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::init):
(MainWindow::resizeSubViews):
(MainWindow::WndProc):
* MiniBrowser/win/MainWindow.h: Added m_hReloadButtonWnd.
* MiniBrowser/win/MiniBrowserLib.rc:
* MiniBrowser/win/MiniBrowserLibResource.h: Added IDM_RELOAD.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::reload):
* MiniBrowser/win/WebKitBrowserWindow.h: Added reload() interface.
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::reload):
* MiniBrowser/win/WebKitLegacyBrowserWindow.h:
2019-07-29 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser][WK2] Automatically supplement "file://" or "http://" for an input URL as well as WK1 browser window
https://bugs.webkit.org/show_bug.cgi?id=200218
Reviewed by Alex Christensen.
Moved the scheme supplementing logic from
WebKitLegacyBrowserWindow::loadURL to MainWindow::loadURL.
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::loadURL):
(MainWindow::onURLBarEnter):
* MiniBrowser/win/MainWindow.h:
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::loadURL):
2019-07-29 Aakash Jain <aakash_jain@apple.com>
Disable Flaky API Test TestWebKitAPI.WKWebView.LocalStorageProcessSuspends
https://bugs.webkit.org/show_bug.cgi?id=200254
Unreviewed infrastructure fix.
* TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: Disabled the test.
2019-07-29 Zhifei Fang <zhifei_fang@apple.com>
[Canvas Timeline] Compact canvas timeline
https://bugs.webkit.org/show_bug.cgi?id=200177
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/js/components/BaseComponents.js:
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:
(Timeline.CanvasSeriesComponent):
2019-07-29 Carlos Garcia Campos <cgarcia@igalia.com>
Multiple context menu actions broken for YouTube videos
https://bugs.webkit.org/show_bug.cgi?id=199999
Reviewed by Eric Carlson.
Add a test case to check copy link address, open in new window and download options are not included in the
context menu for non-downloadable media.
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(writeNextChunk):
(serverCallback):
(testContextMenuLiveStream):
(beforeAll):
(afterAll):
2019-07-28 Tim Horton <timothy_horton@apple.com>
Reorganize UIScriptController into platform-specific subclasses
https://bugs.webkit.org/show_bug.cgi?id=200027
Reviewed by Simon Fraser.
Instead of a mishmash of #ifdefs and extraneous empty functions,
reorganize UIScriptController so that we have a base class
with functions that assert if called (to make it harder to
accidentally write a test that depends on unimplemented
functionality), and override them in platform specific subclasses
as functionality is added.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/ios/UIScriptControllerIOS.h: Added.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
* DumpRenderTree/mac/UIScriptControllerMac.h: Added.
* DumpRenderTree/mac/UIScriptControllerMac.mm:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h: Added.
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm: Added.
* WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
* WebKitTestRunner/gtk/UIScriptControllerGtk.h: Added.
* WebKitTestRunner/ios/UIScriptControllerIOS.h: Added.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
* WebKitTestRunner/mac/UIScriptControllerMac.h: Added.
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
2019-07-28 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] Remove PageLoadTestClient
https://bugs.webkit.org/show_bug.cgi?id=200155
Reviewed by Brent Fulgham.
It is not used nowadays.
* MiniBrowser/win/CMakeLists.txt:
* MiniBrowser/win/Common.cpp:
(parseCommandLine):
* MiniBrowser/win/Common.h:
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::init):
* MiniBrowser/win/MainWindow.h:
* MiniBrowser/win/MiniBrowserWebHost.cpp:
(MiniBrowserWebHost::updateAddressBar):
(MiniBrowserWebHost::didFinishLoadForFrame):
(MiniBrowserWebHost::didStartProvisionalLoadForFrame):
(MiniBrowserWebHost::didFailLoadWithError):
(MiniBrowserWebHost::didHandleOnloadEventsForFrame):
(MiniBrowserWebHost::didFirstLayoutInFrame):
* MiniBrowser/win/PageLoadTestClient.cpp: Removed.
* MiniBrowser/win/PageLoadTestClient.h: Removed.
* MiniBrowser/win/ResourceLoadDelegate.cpp:
(ResourceLoadDelegate::identifierForInitialRequest):
(ResourceLoadDelegate::willSendRequest):
(ResourceLoadDelegate::didFinishLoadingFromDataSource):
(ResourceLoadDelegate::didFailLoadingWithError):
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::create):
(WebKitBrowserWindow::createNewPage):
* MiniBrowser/win/WebKitBrowserWindow.h:
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::create):
(WebKitLegacyBrowserWindow::WebKitLegacyBrowserWindow):
(WebKitLegacyBrowserWindow::exitProgram): Deleted.
* MiniBrowser/win/WebKitLegacyBrowserWindow.h:
(WebKitLegacyBrowserWindow::pageLoadTestClient): Deleted.
* MiniBrowser/win/WinMain.cpp:
(wWinMain):
2019-07-26 Jiewen Tan <jiewen_tan@apple.com>
NavigationSOAuthorizationSession should check the active URL of the responding page after waking up from waiting
https://bugs.webkit.org/show_bug.cgi?id=200150
<rdar://problem/53280170>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(TestWebKitAPI::TEST):
2019-07-26 Jonathan Bedard <jbedard@apple.com>
Follow-up fix: results.webkit.org: Suite results shouldn't be the landing page
https://bugs.webkit.org/show_bug.cgi?id=200090
Unreviewed follow-up fix.
* resultsdbpy/resultsdbpy/view/view_routes.py:
(ViewRoutes.__init__): Keep /search endpoint for existing links
2019-07-26 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Add switch to filter results by expectation
https://bugs.webkit.org/show_bug.cgi?id=200134
Rubber-stamped by Aakash Jain.
Users of the results database should be able to easily differentiate tests which are expected
to fail verse tests which are unexpectedly failing.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(Timeline.render): Respect the willFilterExpected variable.
(LegendLabel): Generates html for label in the legend.
(Legend): Add switch for filter results.
* resultsdbpy/resultsdbpy/view/templates/search.html: GIve Legend callback to re-render timelines.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html:
2019-07-26 Aakash Jain <aakash_jain@apple.com>
[ews-build] Use update-webkit script in Style EWS
https://bugs.webkit.org/show_bug.cgi?id=193196
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(StyleFactory): Updated to use CheckOutSource step as well.
* BuildSlaveSupport/ews-build/steps.py: Added build-step to UpdateWorkingDirectory.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2019-07-26 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Support buildbot 0.8 CI links
https://bugs.webkit.org/show_bug.cgi?id=200146
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/model/ci_context.py:
(BuildbotEightURLFactory): Buildbot 0.8 link factory.
(BuildbotEightURLFactory.__init__):
(BuildbotEightURLFactory.url):
* resultsdbpy/resultsdbpy/model/ci_context_unittest.py:
(URLFactoryTest.test_old_builder_url):
(URLFactoryTest):
(URLFactoryTest.test_old_worker_url):
2019-07-26 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Suite results shouldn't be the landing page
https://bugs.webkit.org/show_bug.cgi?id=200090
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Remove search bar.
* resultsdbpy/resultsdbpy/view/view_routes.py:
(ViewRoutes.__init__): Make search the landing page instead of suite results.
* resultsdbpy/resultsdbpy/view/view_routes_unittest.py:
(WebSiteUnittest.test_main):
2019-07-26 Jonathan Bedard <jbedard@apple.com>
Follow-up fix: results.webkit.org: Color should be the worst result, count should include all results
https://bugs.webkit.org/show_bug.cgi?id=200127
Unreviewed follow-up fix.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(Dot.toString): Use self instead of this in render callback.
2019-07-24 Jiewen Tan <jiewen_tan@apple.com>
WebPageProxy::receivedPolicyDecision should check navigation ID before clear pendingAPIRequest
https://bugs.webkit.org/show_bug.cgi?id=200108
<rdar://problem/53521238>
Reviewed by Chris Dumez.
Added an API test.
* TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
(-[DecidePolicyForNavigationActionController webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):
2019-07-25 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Color should be the worst result, count should include all results
https://bugs.webkit.org/show_bug.cgi?id=200127
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(Dot.prototype.toString): Do not differentiate the count based on the prevailing failure type.
2019-07-25 Zhifei Fang <zhifei_fang@apple.com>
[Timeline]: Make timeline header width automatic, instead of fixed width
https://bugs.webkit.org/show_bug.cgi?id=200059
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/css/timeline.css:
(.dot.crash):
(.timeline>.header): Deleted.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.timeline>.content):
(.timeline>.header):
2019-07-25 Ross Kirsling <ross.kirsling@sony.com>
[ESNext] Implement nullish coalescing
https://bugs.webkit.org/show_bug.cgi?id=200072
Reviewed by Darin Adler.
* Scripts/run-jsc-stress-tests:
2019-07-24 Fujii Hironori <Hironori.Fujii@sony.com>
Add Takashi Komori and Tomoki Imai as contributors
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-07-24 Yusuke Suzuki <ysuzuki@apple.com>
[bmalloc] Add IsoHeap test to ensure that IsoHeap pages are not allocating too large VA
https://bugs.webkit.org/show_bug.cgi?id=200103
Reviewed by Mark Lam.
This patch adds tests to TestWTF IsoHeap tests to ensure that IsoHeap's component is not leaking pages or not allocating too large VAs for memory allocation.
We use VMTag to get the system view of the allocated VAs and check whether it is not incredibly large.
While the tests are white-box tests (it means that this is a bit flaky to the implementation changes of IsoHeap), I adjusted some threshold to make this less-flaky
to the future implementation changes while it catches the severe issues we had.
* TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp:
(assertEmptyPointerSet):
(assertHasOnlyObjects):
(assertClean):
(TEST):
(allocateAndDeallocate):
2019-07-24 Fujii Hironori <fujii.hironori@gmail.com>
[CMake] CMAKE_SHARED_LINKER_FLAGS drops "-Wl,--no-undefined"
https://bugs.webkit.org/show_bug.cgi?id=200074
Reviewed by Michael Catanzaro.
There was a latent issue. PluginTest::indicateTestFailure was
using WTF::sleep without linking WTF.
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
Added WebKit::WTF to WebKitTestNetscapePlugIn_LIBRARIES.
2019-07-24 Fujii Hironori <fujii.hironori@gmail.com>
[GTK][WPE][CMake] failing to build TestWebKitAPIInjectedBundle due to missing forwarding headers
https://bugs.webkit.org/show_bug.cgi?id=200073
Reviewed by Michael Catanzaro.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
Added add_dependencies(TestWebKitAPIInjectedBundle TestWebKitAPI-forwarding-headers).
2019-07-24 Fujii Hironori <Hironori.Fujii@sony.com>
[webkitperl] runCommand doesn't work in Windows Perl
https://bugs.webkit.org/show_bug.cgi?id=199900
Reviewed by Don Olmstead.
runCommand was always failing implicit fork by using 'open' with
'-|' in Windows Perl. Explicitly specify the command to 'open' not
to do the implicit fork.
There is one more difference between Windows and Unix. 'open'
successes on Windows even for non existent command while it fails
on Unix. So, return the same error code on Unix as well as
Windows.
* Scripts/VCSUtils.pm: Specified the command to 'open'.
* Scripts/webkitperl/VCSUtils_unittest/runCommand.pl: 'echo'
command is not available on Windows. Use Perl ($^X) instead.
2019-07-24 Priyanka Agarwal <pagarwal999@apple.com>
Allow Clients to Add Fields to the AutoFillContext Dictionary.
https://bugs.webkit.org/show_bug.cgi?id=199326
rdar://problem/42816957
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST): Created a test to check that the auto fill context
is being properly populated with additional context dictionary.
* TestWebKitAPI/Tests/ios/TestInputDelegate.h:
* TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
(-[TestInputDelegate setWebViewAdditionalContextForStrongPasswordAssistanceHandler:]): Setting the handler for the function
which will populate the additional autofill context dictionary.
(-[TestInputDelegate webViewAdditionalContextForStrongPasswordAssistanceHandler]): Returns the handler for the function which
populates the additional autofill context dictionary.
(-[TestInputDelegate _webViewAdditionalContextForStrongPasswordAssistance:]): Function which populates the additional autofill
context dictionary.
(-[TestInputDelegate setFocusRequiresStrongPasswordAssistanceHandler:]): Setting the handler for the function which checks if the
input field requires strong password work.
(-[TestInputDelegate focusRequiresStrongPasswordAssistanceHandler]): Returns the handler for the function which checks if the
input field requires strong password work.
(-[TestInputDelegate _webView:focusRequiresStrongPasswordAssistance:]): Function which checks if the input field requires strong
password work.
2019-07-24 Zhifei Fang <zhifei_fang@apple.com>
run-javascriptcore-tests won't report test results for testmasm, testair, testb3, testdfg and test api
https://bugs.webkit.org/show_bug.cgi?id=199489
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunJavaScriptCoreTests.start): Skip run jsc test binaries for mips, armv7, aarch64.
(RunJavaScriptCoreTests.countFailures): Pick up the test binaires failure to total failures count
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
* Scripts/run-javascriptcore-tests: The script now failed wether the run-jsc-stress-tests failed or test binaries failed.
(runTest): Record test binary failure
(reportTestFailures): Report test binary failure
(runJSCStressTests):
* Scripts/webkitpy/common/config/ports.py: Skip run jsc test binaries for those need to run remotely
(JscOnlyPort.build_jsc_command):
(JscOnlyPort):
(JscOnlyPort.run_javascriptcore_tests_command):
* Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest.test_jsconly_port):
2019-07-24 Zalan Bujtas <zalan@apple.com>
ASSERTION FAILED: settings().textAutosizingEnabled() && settings().textAutosizingUsesIdempotentMode() in WebCore::Page::recomputeTextAutoSizingInAllFrames()
https://bugs.webkit.org/show_bug.cgi?id=200079
<rdar://problem/53474325>
Reviewed by Wenson Hsieh.
Reset textAutosizingUsesIdempotentMode when transitioning to a new test.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
2019-07-23 Fujii Hironori <Hironori.Fujii@sony.com>
[webkitperl] prepare-ChangeLog_unittest/parser_unittests.pl is failing on Windows Perl
https://bugs.webkit.org/show_bug.cgi?id=199927
Reviewed by Alex Christensen.
convertAbsolutepathToWebKitPath was failing to convert paths on
Windows Perl due to path separators mismatch.
Renamed convertAbsolutepathToWebKitPath to
convertAbsolutePathToRelativeUnixPath, and changed it to replace
paths to relative Unix paths.
* Scripts/webkitperl/prepare-ChangeLog_unittest/parser_unittests.pl:
(convertAbsolutePathToRelativeUnixPath): Added.
(convertAbsolutepathToWebKitPath): Deleted.
2019-07-23 Alex Christensen <achristensen@webkit.org>
Fix iOS API test after r247759
https://bugs.webkit.org/show_bug.cgi?id=200045
* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
In the iOS simulator, the WebProcess was being started before we were setting the value on the WKProcessPool.
To fix this, set the value on the WKProcessPool before making the WKWebView. This makes the test always pass on Mac and iOS.
2019-07-23 Keith Rollin <krollin@apple.com>
Remove rest of NavigatorContentUtils support
https://bugs.webkit.org/show_bug.cgi?id=200052
<rdar://problem/53467357>
Reviewed by Alex Christensen.
Bug 196070 removes most of the support for the never-used
NavigatorContentUtils facility. However, there were still a couple of
left-over references after that change. This patch sweeps those up.
* Scripts/webkitperl/FeatureList.pm:
2019-07-23 Alex Christensen <achristensen@webkit.org>
Move javaScriptConfigurationDirectory SPI from _WKProcessPoolConfiguration to WKProcessPoolPrivate to make it runtime switchable
https://bugs.webkit.org/show_bug.cgi?id=200045
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
2019-07-23 Russell Epstein <repstein@apple.com>
Unreviewed, rolling out r247745.
This broke API test
TestWebKitAPI.WKProcessPool.JavaScriptConfiguration as
indicated by EWS
Reverted changeset:
"Move javaScriptConfigurationDirectory SPI from
_WKProcessPoolConfiguration to WKProcessPoolPrivate to make it
runtime switchable"
https://bugs.webkit.org/show_bug.cgi?id=200045
https://trac.webkit.org/changeset/247745
2019-07-23 Alex Christensen <achristensen@webkit.org>
Move javaScriptConfigurationDirectory SPI from _WKProcessPoolConfiguration to WKProcessPoolPrivate to make it runtime switchable
https://bugs.webkit.org/show_bug.cgi?id=200045
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
2019-07-23 Alex Christensen <achristensen@webkit.org>
Add SPI for setting media cache and key location on _WKWebsiteDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=199972
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2019-07-23 Alicia Boya García <aboya@igalia.com>
[WTF] Add DataMutex and MainThreadData wrappers
https://bugs.webkit.org/show_bug.cgi?id=199831
Reviewed by Alex Christensen.
Added a very simple test that checks that DataMutex<T> indeed takes
the lock and indeed holds data.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/Tests/WTF/DataMutex.cpp: Added.
(TestWebKitAPI::TEST):
2019-07-23 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS 10.15] Web process crashes when attempting to show the font panel via Font > Show Fonts
https://bugs.webkit.org/show_bug.cgi?id=200021
<rdar://problem/53301325>
Reviewed by Ryosuke Niwa.
Add support for grabbing the child menu items of a context menu item.
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::getMenuItemChildrenCallback):
2019-07-23 Ryosuke Niwa <rniwa@webkit.org>
WebKit should strip away system font names from the pasted content
https://bugs.webkit.org/show_bug.cgi?id=199975
<rdar://problem/53336353>
Reviewed by Darin Adler.
Added a test to strip away system font names such as ".AppleSystemUIFont", ".SFUI-Regular", and ".SF UI Mono".
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/cocoa-writer-markup-with-system-fonts.html: Added.
2019-07-22 Aakash Jain <aakash_jain@apple.com>
[ews-build] EWS fails to parse multi-line full_results.json
https://bugs.webkit.org/show_bug.cgi?id=199992
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/layout_test_failures.py:
(LayoutTestFailures.results_from_string): Concatenate content into single line.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(test_parse_results_json_with_newlines): Unit-test to cover this scenario.
2019-07-22 Jonathan Bedard <jbedard@apple.com>
resultsdbpy: Handle case where the previous commit doesn't have the changelog
https://bugs.webkit.org/show_bug.cgi?id=200015
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/model/repository.py:
(WebKitRepository.commit_for_id.diff_changelogs): Allow the previous_response to be None.
2019-07-22 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] [WK1] UIWebView always jumps to the top left corner when scrolling to reveal the selection
https://bugs.webkit.org/show_bug.cgi?id=200013
<rdar://problem/52526901>
Reviewed by Simon Fraser.
Add a new API test to verify that inserting text in UIWebView causes the document to scroll.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm: Added.
(-[LegacyLoadingDelegate webViewDidFinishLoad:]):
(-[LegacyLoadingDelegate waitForDidFinishLoad]):
* TestWebKitAPI/ios/UIKitSPI.h:
2019-07-22 Jer Noble <jer.noble@apple.com>
REGRESSION(rUnknown): YouTube playback pauses when switching to a new tab
https://bugs.webkit.org/show_bug.cgi?id=199971
<rdar://problem/51951218>
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/NoPauseWhenSwitchingTabs.mm: Added.
(TestWebKitAPI::TEST):
2019-07-22 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add an EWS to run services tests
https://bugs.webkit.org/show_bug.cgi?id=199994
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json: Added Services-EWS configuration.
* BuildSlaveSupport/ews-build/factories.py: Added ServicesFactory.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Run this EWS only for patches with changes in relevant files.
(RunEWSUnitTests): Build step to run EWS unit-tests.
(RunEWSBuildbotCheckConfig): Build step to run buildbot checkconfig command.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Added services status-bubble.
2019-07-22 Youenn Fablet <youenn@apple.com>
Disable MediaRecorder for legacy WebKit
https://bugs.webkit.org/show_bug.cgi?id=200001
<rdar://problem/53400030>
Reviewed by Eric Carlson.
Enable MediaRecorder for testing purposes.
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
2019-07-22 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Timeline header is too small
https://bugs.webkit.org/show_bug.cgi?id=199955
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/css/timeline.css:
(.timeline>.header): Make timeline header larder to fit configuration names.
2019-07-22 Alex Christensen <achristensen@webkit.org>
Add SPI to _WKWebsiteDataStoreConfiguration for configuring application cache storage location
https://bugs.webkit.org/show_bug.cgi?id=199954
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2019-07-22 Alex Christensen <achristensen@webkit.org>
Add SPI _WKProcessPoolConfiguration.javaScriptConfigurationDirectory
https://bugs.webkit.org/show_bug.cgi?id=199917
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
2019-07-22 Aakash Jain <aakash_jain@apple.com>
[ews-build] ReRunWebKitTests should use similar logic for evaluateCommand as RunWebKitTests
https://bugs.webkit.org/show_bug.cgi?id=199980
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ReRunWebKitTests.evaluateCommand): Updatd to use similar logic as RunWebKitTests.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestRunWebKitTests): Modified to make it generic so as to re-use tests.
(TestReRunWebKitTests): Run all TestRunWebKitTests unit-tests for ReRunWebKitTests as well.
2019-07-22 Carlos Alberto Lopez Perez <clopez@igalia.com>
[webkitpy] Add an unit test for setting up the driver environment without starting it.
https://bugs.webkit.org/show_bug.cgi?id=199945
Reviewed by Michael Catanzaro.
This adds an unit test for the change implemented in r247663.
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_setup_environ_base_vars):
(DriverTest):
(DriverTest.test_setup_environ_without_starting_driver):
2019-07-21 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] [WebKit2] Add limited support for -isPosition:atBoundary:inDirection: in WKContentView
https://bugs.webkit.org/show_bug.cgi?id=199993
<rdar://problem/49523528>
Reviewed by Beth Dakin.
Add a new API test to verify the behavior of -isPosition:atBoundary:inDirection:.
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
2019-07-21 Andres Gonzalez <andresg_22@apple.com>
Add accessibilityInsertText for text insertion in edit fields.
https://bugs.webkit.org/show_bug.cgi?id=199973
Reviewed by Chris Fleizach.
Renamed accessibilityInsertText to _accessibilityInsertText.
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::insertText):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::insertText):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::insertText):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::insertText):
2019-07-20 Chris Dumez <cdumez@apple.com>
Speed up HashTable decoding by reserving capacity and avoiding rehashing
https://bugs.webkit.org/show_bug.cgi?id=199982
Reviewed by Saam Barati.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
2019-07-20 Andres Gonzalez <andresg_22@apple.com>
Add accessibilityInsertText for text insertion in edit fields.
https://bugs.webkit.org/show_bug.cgi?id=199973
Reviewed by Chris Fleizach.
Glue code to run new LayoutTests.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::insertText):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::insertText):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::insertText):
* WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp:
(WTR::AccessibilityUIElement::insertText):
2019-07-19 Zhifei Fang <zhifei_fang@apple.com>
Move webkit.css to opensource to support resultsdbpy's frontend
https://bugs.webkit.org/show_bug.cgi?id=199957
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/css/docs.yaml: Added.
* resultsdbpy/resultsdbpy/view/static/library/css/generate-webkit-css-docs: Added.
* resultsdbpy/resultsdbpy/view/static/library/css/index.html: Added.
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css: Added.
2019-07-19 Zhifei Fang <zhifei_fang@apple.com>
Move Ref.js to WebKit to support resultsdbpy's frontend
https://bugs.webkit.org/show_bug.cgi?id=199956
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js:
* resultsdbpy/resultsdbpy/view/static/js/search.js:
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
* resultsdbpy/resultsdbpy/view/static/library/js/Ref.js: Added.
* resultsdbpy/resultsdbpy/view/static/library/js/Utils.js: Added.
* resultsdbpy/resultsdbpy/view/static/library/js/components/BaseComponents.js: Added.
* resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js: Added.
* resultsdbpy/resultsdbpy/view/templates/base.html:
* resultsdbpy/resultsdbpy/view/templates/commits.html:
* resultsdbpy/resultsdbpy/view/templates/documentation.html:
* resultsdbpy/resultsdbpy/view/templates/search.html:
* resultsdbpy/resultsdbpy/view/templates/suite_results.html:
* resultsdbpy/resultsdbpy/view/view_routes.py:
2019-07-19 Carlos Alberto Lopez Perez <clopez@igalia.com>
[webkitpy] Allow the testrunner driver to setup the environment completely without needing to start the server process.
https://bugs.webkit.org/show_bug.cgi?id=199945
Reviewed by Michael Catanzaro.
Refactor the code to create the Driver temporal directories inside Driver._setup_environ_for_driver().
This allows external callers to setup the environment for running tests by calling that method without needing to start the server process.
When this callers finish testing, it is enough with calling either Driver.stop() or Driver._delete_temporal_directories().
* Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver):
(Driver._create_temporal_directories):
(Driver):
(Driver._start):
(Driver._delete_temporal_directories):
(Driver.stop):
* Scripts/webkitpy/w3c/wpt_runner.py: Not needed anymore to start the driver since this doesnt need the server process running.
(main):
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Ditto.
(WebDriverTestRunner.__init__):
* glib/api_test_runner.py:
(TestRunner._setup_testing_environment): Ditto.
2019-07-19 Aakash Jain <aakash_jain@apple.com>
[ews-build] Display pre-existing Layout test failure names in the build summary
https://bugs.webkit.org/show_bug.cgi?id=199941
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeLayoutTestsResults.report_pre_existing_failures):
2019-07-19 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] run-webkit-tests should run with a temporal homedir
https://bugs.webkit.org/show_bug.cgi?id=199738
Reviewed by Michael Catanzaro.
Run the tests with an empty homedir that is created inside the driver tmpdir.
The driver tmpdir is a random directory created for each test runner that is purged after the run.
This is done to ensure that the test results are not affected by the user settings of any library.
* Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver):
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_setup_environ_base_vars):
(DriverTest):
(DriverTest.test_create_temporal_home_dir):
2019-07-19 Carlos Garcia Campos <cgarcia@igalia.com>
Remove pywebsockets from thirdparty
https://bugs.webkit.org/show_bug.cgi?id=199710
Reviewed by Jonathan Bedard.
We have a very old version of pywebsocket in webkitpy thirdparty, but we are also importing pywebsocket as part
of wpt tools. We can simply use the wpt one for all websocket tests and remove the old copy from sources.
* Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket._prepare_config): Use pywebsocket from imported w3c tools directory.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/__init__.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_base.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hixie75.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/dispatch.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/__init__.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi00.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/headerparserhandler.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/http_header_util.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/memorizingfile.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/msgutil.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/mux.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/stream.py: Removed.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py: Removed.
2019-07-18 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Move resultsdbpy to WebKit
https://bugs.webkit.org/show_bug.cgi?id=199837
<rdar://problem/53172130>
Rubber-stamped by Aakash Jain.
Moving the entirety of the resultsdbpy library, which provides utilities to build
a database designed to store, visualize and organize test results, into WebKit.
* Scripts/webkitpy/style/checker.py:
(CheckerDispatcher._create_checker): resulltsdbpy is a Python 3 library.
* resultsdbpy: Added.
* resultsdbpy/MANIFEST.in: Added.
* resultsdbpy/README.md: Added.
* resultsdbpy/resultsdbpy: Added.
* resultsdbpy/resultsdbpy/__init__.py: Added.
* resultsdbpy/resultsdbpy/controller: Added.
* resultsdbpy/resultsdbpy/controller/__init__.py: Added.
* resultsdbpy/resultsdbpy/controller/api_routes.py: Added.
* resultsdbpy/resultsdbpy/controller/ci_controller.py: Added.
* resultsdbpy/resultsdbpy/controller/ci_controller_unittest.py: Added.
* resultsdbpy/resultsdbpy/controller/commit.py: Added.
* resultsdbpy/resultsdbpy/controller/commit_controller.py: Added.
* resultsdbpy/resultsdbpy/controller/commit_controller_unittest.py: Added.
* resultsdbpy/resultsdbpy/controller/commit_unittest.py: Added.
* resultsdbpy/resultsdbpy/controller/configuration.py: Added.
* resultsdbpy/resultsdbpy/controller/configuration_controller.py: Added.
* resultsdbpy/resultsdbpy/controller/configuration_controller_unittest.py: Added.
* resultsdbpy/resultsdbpy/controller/configuration_unittest.py: Added.
* resultsdbpy/resultsdbpy/controller/suite_controller.py: Added.
* resultsdbpy/resultsdbpy/controller/suite_controller_unittest.py: Added.
* resultsdbpy/resultsdbpy/controller/test_controller.py: Added.
* resultsdbpy/resultsdbpy/controller/test_controller_unittest.py: Added.
* resultsdbpy/resultsdbpy/controller/upload_controller.py: Added.
* resultsdbpy/resultsdbpy/controller/upload_controller_unittest.py: Added.
* resultsdbpy/resultsdbpy/flask_support: Added.
* resultsdbpy/resultsdbpy/flask_support/__init__.py: Added.
* resultsdbpy/resultsdbpy/flask_support/authed_blueprint.py: Added.
* resultsdbpy/resultsdbpy/flask_support/flask_test_context.py: Added.
* resultsdbpy/resultsdbpy/flask_support/flask_testcase.py: Added.
* resultsdbpy/resultsdbpy/flask_support/util.py: Added.
* resultsdbpy/resultsdbpy/flask_support/util_unittest.py: Added.
* resultsdbpy/resultsdbpy/model: Added.
* resultsdbpy/resultsdbpy/model/__init__.py: Added.
* resultsdbpy/resultsdbpy/model/cassandra_context.py: Added.
* resultsdbpy/resultsdbpy/model/cassandra_context_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/casserole.py: Added.
* resultsdbpy/resultsdbpy/model/casserole_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/ci_context.py: Added.
* resultsdbpy/resultsdbpy/model/ci_context_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/commit_context.py: Added.
* resultsdbpy/resultsdbpy/model/commit_context_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/configuration_context.py: Added.
* resultsdbpy/resultsdbpy/model/configuration_context_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/docker-compose.yml: Added.
* resultsdbpy/resultsdbpy/model/docker.py: Added.
* resultsdbpy/resultsdbpy/model/docker_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/mock_cassandra_context.py: Added.
* resultsdbpy/resultsdbpy/model/mock_model_factory.py: Added.
* resultsdbpy/resultsdbpy/model/mock_repository.py: Added.
* resultsdbpy/resultsdbpy/model/model.py: Added.
* resultsdbpy/resultsdbpy/model/partitioned_redis.py: Added.
* resultsdbpy/resultsdbpy/model/partitioned_redis_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/redis_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/repository.py: Added.
* resultsdbpy/resultsdbpy/model/repository_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/suite_context.py: Added.
* resultsdbpy/resultsdbpy/model/suite_context_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/test_context.py: Added.
* resultsdbpy/resultsdbpy/model/test_context_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/upload_context.py: Added.
* resultsdbpy/resultsdbpy/model/upload_context_unittest.py: Added.
* resultsdbpy/resultsdbpy/model/wait_for_docker_test_case.py: Added.
* resultsdbpy/resultsdbpy/run-tests: Added.
* resultsdbpy/resultsdbpy/view: Added.
* resultsdbpy/resultsdbpy/view/__init__.py: Added.
* resultsdbpy/resultsdbpy/view/ci_view.py: Added.
* resultsdbpy/resultsdbpy/view/commit_view.py: Added.
* resultsdbpy/resultsdbpy/view/commit_view_unittest.py: Added.
* resultsdbpy/resultsdbpy/view/site_menu.py: Added.
* resultsdbpy/resultsdbpy/view/static: Added.
* resultsdbpy/resultsdbpy/view/static/css: Added.
* resultsdbpy/resultsdbpy/view/static/css/commit.css: Added.
* resultsdbpy/resultsdbpy/view/static/css/drawer.css: Added.
* resultsdbpy/resultsdbpy/view/static/css/search.css: Added.
* resultsdbpy/resultsdbpy/view/static/css/timeline.css: Added.
* resultsdbpy/resultsdbpy/view/static/js: Added.
* resultsdbpy/resultsdbpy/view/static/js/commit.js: Added.
* resultsdbpy/resultsdbpy/view/static/js/common.js: Added.
* resultsdbpy/resultsdbpy/view/static/js/configuration.js: Added.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js: Added.
* resultsdbpy/resultsdbpy/view/static/js/search.js: Added.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js: Added.
* resultsdbpy/resultsdbpy/view/suite_view.py: Added.
* resultsdbpy/resultsdbpy/view/templates: Added.
* resultsdbpy/resultsdbpy/view/templates/base.html: Added.
* resultsdbpy/resultsdbpy/view/templates/commit.html: Added.
* resultsdbpy/resultsdbpy/view/templates/commits.html: Added.
* resultsdbpy/resultsdbpy/view/templates/documentation.html: Added.
* resultsdbpy/resultsdbpy/view/templates/error.html: Added.
* resultsdbpy/resultsdbpy/view/templates/search.html: Added.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Added.
* resultsdbpy/resultsdbpy/view/view_routes.py: Added.
* resultsdbpy/resultsdbpy/view/view_routes_unittest.py: Added.
* resultsdbpy/setup.py: Added.
2019-07-18 Alex Christensen <achristensen@webkit.org>
Add and test _WKWebsiteDataStoreConfiguration.deviceIdHashSaltsStorageDirectory SPI
https://bugs.webkit.org/show_bug.cgi?id=199923
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm:
(TestWebKitAPI::TEST):
2019-07-18 Aakash Jain <aakash_jain@apple.com>
[ews-build] Enable iOS WK2 tester queue on new EWS
https://bugs.webkit.org/show_bug.cgi?id=199867
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json: Enabled the triggers for ios-wk2 queue.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Enabled ios-sim (builder) and ios-wk2 (tester) bubbles.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: Removed ios-sim queue from bot-watcher's dashboard.
* QueueStatusServer/config/queues.py: Removed ios-sim queue from old EWS.
2019-07-18 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add build step to AnalyzeLayoutTestsResults
https://bugs.webkit.org/show_bug.cgi?id=199877
Reviewed by Jonathan Bedard.
Logic is ported from webkitpy/tool/bot/patchanalysistask.py::_retry_layout_tests()
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTestsWithoutPatch.evaluateCommand): invoke AnalyzeLayoutTestsResults step.
(AnalyzeLayoutTestsResults): Build step to analyze layout-test results.
(AnalyzeLayoutTestsResults.report_failure):
(AnalyzeLayoutTestsResults.report_pre_existing_failures):
(AnalyzeLayoutTestsResults.retry_build):
(AnalyzeLayoutTestsResults._results_failed_different_tests):
(AnalyzeLayoutTestsResults._report_flaky_tests):
(AnalyzeLayoutTestsResults.start):
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2019-07-18 Alex Christensen <achristensen@webkit.org>
Move NetworkCache ownership from NetworkProcess to NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=199817
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView synchronouslyLoadRequest:]):
2019-07-18 Youenn Fablet <youenn@apple.com>
Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts
https://bugs.webkit.org/show_bug.cgi?id=199769
<rdar://problem/49390297>
Reviewed by Myles C. Maxfield.
Add a font containing one extended character not found in system fonts.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/fonts/FakeHelvetica-SingleExtendedCharacter.ttf: Added.
2019-07-18 Konstantin Tokarev <annulen@yandex.ru>
Unreviewed, Add Olivier Blin as contributor
* Scripts/webkitpy/common/config/contributors.json:
2019-07-17 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE][webkitpy] Refactor drivers to use the base driver for setting up the environment and start the drivers.
https://bugs.webkit.org/show_bug.cgi?id=199855
Reviewed by Michael Catanzaro.
The webkitpy drivers for GTK and WPE use their own versions for setting
up the environment and starting/stopping the drivers.
This refactors those drivers to use the base class driver functions.
As a benefit we get some fixes like support for setting the profiler
environment variables, and a simpler code.
* Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver): This already correctly setups LOCAL_RESOURCE_ROOT and DUMPRENDERTREE_TEMP.
Add the remaining environment variable XDG_CACHE_HOME that is needed for Linux.
* Scripts/webkitpy/port/headlessdriver.py:
(HeadlessDriver._setup_environ_for_test):
* Scripts/webkitpy/port/waylanddriver.py:
(WaylandDriver._setup_environ_for_test):
* Scripts/webkitpy/port/westondriver.py:
(WestonDriver._setup_environ_for_test):
(WestonDriver.stop):
* Scripts/webkitpy/port/westondriver_unittest.py: now mock _test_runner_process_constructor as base driver does.
(WestonDriverTest.make_driver):
* Scripts/webkitpy/port/xorgdriver.py:
(XorgDriver._setup_environ_for_test):
* Scripts/webkitpy/port/xvfbdriver.py: the xvfb binary is started with the port server env
(XvfbDriver._setup_environ_for_test):
* Scripts/webkitpy/port/xvfbdriver_unittest.py: rename the variable to make clearer that it uses the port server env.
(XvfbDriverTest.make_driver):
(XvfbDriverTest.test_start):
(XvfbDriverTest.test_start_arbitrary_worker_number):
* Scripts/webkitpy/w3c/wpt_runner.py:
(main): Start the driver before trying to get its environment to define all the environment variables.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
(WebDriverTestRunner.__init__): Ditto.
* glib/api_test_runner.py:
(TestRunner._setup_testing_environment): Ditto.
2019-07-17 Antoine Quint <graouts@apple.com>
Disable Pointer Events prior to watchOS 6
https://bugs.webkit.org/show_bug.cgi?id=199890
<rdar://problem/53206113>
Reviewed by Dean Jackson.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-07-17 Christopher Reid <chris.reid@sony.com>
Bytecode cache should use FileSystem
https://bugs.webkit.org/show_bug.cgi?id=199759
Reviewed by Yusuke Suzuki.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
2019-07-17 Jonathan Bedard <jbedard@apple.com>
check-webkit-style: Add limited Python3 support
https://bugs.webkit.org/show_bug.cgi?id=199870
Rubber-stamped by Aakash Jain.
Since new services will be added in the near future which are Python 3, we
need to support Python 3 style checks. For now, assume all Python files are
Python 2 unless otherwise specified.
* Scripts/webkitpy/style/checker.py:
(_all_categories): Add pycodestyle to valid categories for testing.
(CheckerDispatcher._create_checker): Check that the provided Python file is in
one of the declared Python 3 directories.
* Scripts/webkitpy/style/checkers/python.py:
(Python3Checker): Add Python 3 checker, which doesn't lint and uses pycodestyle
instead of pep8.
(Python3Checker.__init__):
(Python3Checker.check):
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Support auto-installing pycodestyle.
(AutoinstallImportHook._install_pycodestyle):
2019-07-17 Sam Weinig <weinig@apple.com>
Add StringBuilder member function which allows makeString() style variadic argument construction
https://bugs.webkit.org/show_bug.cgi?id=198997
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
Add basic test showing that StringBuilder::flexibleAppend can be used to
append one or more string adaptable types.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Add WTFStringUtilities.cpp
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
Add basic test showing that StringBuilder::flexibleAppend can be used to
append one or more string adaptable types.
* TestWebKitAPI/Tests/WTF/StringOperators.cpp:
* TestWebKitAPI/WTFStringUtilities.cpp: Added.
* TestWebKitAPI/WTFStringUtilities.h:
Move WTF_STRINGTYPEADAPTER_COPIED_WTF_STRING() and wtfStringCopyCount to WTFStringUtilities.h/cpp
to allow for a single definition of StringTypeAdapter<String, void> which is required for ODR.
2019-07-17 Ryosuke Niwa <rniwa@webkit.org>
Remove the file superfluously added in r247535.
* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h: Removed.
* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm:
2019-07-17 Alex Christensen <achristensen@webkit.org>
Add a runtime-disabled dialog element skeleton
https://bugs.webkit.org/show_bug.cgi?id=199839
Reviewed by Ryosuke Niwa.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Enable the dialog element for layout tests.
2019-07-17 Ryosuke Niwa <rniwa@webkit.org>
[iOS] Option + Up or Down Arrow key doesn’t move cursor past paragraph boundaries in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=199851
Reviewed by Wenson Hsieh.
Added a regression test for iOS. Unfortunately, event sender, etc... doesn't work because
this code is getting directly triggered from UIKeyboard's code.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.h: Added.
* TestWebKitAPI/Tests/ios/SelectionModifyByParagraphBoundary.mm: Added.
* TestWebKitAPI/ios/UIKitSPI.h:
2019-07-17 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r247505.
https://bugs.webkit.org/show_bug.cgi?id=199871
"Caused failed ASSERT in stress test" (Requested by creid on
#webkit).
Reverted changeset:
"Bytecode cache should use FileSystem"
https://bugs.webkit.org/show_bug.cgi?id=199759
https://trac.webkit.org/changeset/247505
2019-07-17 Russell Epstein <russell_e@apple.com>
Adding self to contributors.json
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-07-17 Aakash Jain <aakash_jain@apple.com>
[ews-build] Parse full_results.json for layout-tests
https://bugs.webkit.org/show_bug.cgi?id=199804
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests.start): Monitor json output.
(RunWebKitTests.commandComplete): Read json output, parse the results and set Buildbot properties accordingly. These
properties would be used in subsequent AnalyzeLayoutTests build step to determine whether the failures are introduced
by the patch or are pre-existing.
(ReRunWebKitTests.commandComplete): Ditto.
(RunWebKitTestsWithoutPatch.commandComplete): Ditto.
* BuildSlaveSupport/ews-build/steps_unittest.py:
(BuildStepMixinAdditions.getProperty): Added.
(TestRunWebKitTests.test_parse_results_json): Added unit-tests.
* BuildSlaveSupport/ews-build/layout_test_failures.py: Parse full_results.json and generate list of failing tests.
2019-07-17 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, rolling out r247512.
Broke API test runners
Reverted changeset:
"[GTK][WPE][webkitpy] Refactor drivers to use the base driver
for setting up the environment and start the drivers."
https://bugs.webkit.org/show_bug.cgi?id=199855
https://trac.webkit.org/changeset/247512
2019-07-17 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE][webkitpy] Refactor drivers to use the base driver for setting up the environment and start the drivers.
https://bugs.webkit.org/show_bug.cgi?id=199855
Reviewed by Carlos Garcia Campos.
The webkitpy drivers for GTK and WPE use their own versions for setting
up the environment and starting/stopping the drivers.
This refactors those drivers to use the base class driver functions.
As a benefit we get some fixes like support for setting the profiler
environment variables, and a simpler code.
* Scripts/webkitpy/port/driver.py:
(Driver._setup_environ_for_driver): This already correctly setups LOCAL_RESOURCE_ROOT and DUMPRENDERTREE_TEMP.
Add the remaining environment variable XDG_CACHE_HOME that is needed for Linux.
* Scripts/webkitpy/port/headlessdriver.py:
(HeadlessDriver._setup_environ_for_test):
* Scripts/webkitpy/port/waylanddriver.py:
(WaylandDriver._setup_environ_for_test):
* Scripts/webkitpy/port/westondriver.py:
(WestonDriver._setup_environ_for_test):
(WestonDriver.stop):
* Scripts/webkitpy/port/westondriver_unittest.py: now mock _test_runner_process_constructor as base driver does.
(WestonDriverTest.make_driver):
* Scripts/webkitpy/port/xorgdriver.py:
(XorgDriver._setup_environ_for_test):
* Scripts/webkitpy/port/xvfbdriver.py: the xvfb binary is started with the port server env
(XvfbDriver._setup_environ_for_test):
* Scripts/webkitpy/port/xvfbdriver_unittest.py: rename the variable to make clearer that it uses the port server env.
(XvfbDriverTest.make_driver):
(XvfbDriverTest.test_start):
(XvfbDriverTest.test_start_arbitrary_worker_number):
2019-07-16 Christopher Reid <chris.reid@sony.com>
Bytecode cache should use FileSystem
https://bugs.webkit.org/show_bug.cgi?id=199759
Reviewed by Yusuke Suzuki.
* TestWebKitAPI/Tests/WTF/FileSystem.cpp:
2019-07-16 Jonathan Bedard <jbedard@apple.com>
svn-create-patch duplicates diffs when adding directories
https://bugs.webkit.org/show_bug.cgi?id=199842
Reviewed by Dewei Zhu.
* Scripts/svn-create-patch:
(findKind): Add function which returns what 'kind' of file the provided path is.
(generateFileList): If the path is a directory and being added, don't add it.
Instead, rely on the fact that its children will be added.
2019-07-16 Tim Horton <timothy_horton@apple.com>
NSTextFinder holes don't scroll with the page
https://bugs.webkit.org/show_bug.cgi?id=199815
<rdar://problem/52280514>
Reviewed by Simon Fraser.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[MiniBrowserNSTextFinder performAction:]):
(-[WK2BrowserWindowController awakeFromNib]):
Adopt the WebKit UI in MiniBrowser. Also, override NSTextFinder's
-performAction: so that we can intercept the close action and
hide our own find UI, since there is no delegate for that action yet.
* TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
(TEST):
2019-07-15 Keith Miller <keith_miller@apple.com>
JSGlobalObject type macros should support feature flags and WeakRef should have one
https://bugs.webkit.org/show_bug.cgi?id=199601
Reviewed by Mark Lam.
JSC options need to be set before the window is created for the test.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/win/DumpRenderTree.cpp:
(setJSCOptions):
(resetWebViewToConsistentStateBeforeTesting):
2019-07-15 Said Abou-Hallawa <sabouhallawa@apple.com>
[ Mojave WK1 ] Some Image tests are flakey failures and are failing in tandem with zoomed in or blank image results
https://bugs.webkit.org/show_bug.cgi?id=193108
Reviewed by Simon Fraser.
Add a workaround for <rdar://problem/17084993> in createBitmapContextFromWebView().
Re-request the snapshot at kCGWindowImageNominalResolution if it was captured
at the wrong scale.
* DumpRenderTree/mac/PixelDumpSupportMac.mm:
(takeWindowSnapshot):
(createBitmapContextFromWebView):
2019-07-15 Brady Eidson <beidson@apple.com>
Make WKURLSchemeTask thread safe.
<rdar://problem/50471863> and https://bugs.webkit.org/show_bug.cgi?id=199764
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
2019-07-15 Jiewen Tan <jiewen_tan@apple.com>
Unreviewed, a build fix after r247437
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
Added platform guard towards -[WKUIDelegate _presentingViewControllerForWebView:].
2019-07-15 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS 10.15] Cannot unbold selected text when the system font is used
https://bugs.webkit.org/show_bug.cgi?id=199788
<rdar://problem/52142570>
Reviewed by Tim Horton.
Add a new API test to verify that bolding and unbolding updates the
shared font manager's selected font.
* TestWebKitAPI/Tests/mac/FontManagerTests.mm:
(TestWebKitAPI::TEST):
2019-07-15 Jiewen Tan <jiewen_tan@apple.com>
[iOS] SOAuthorizationSession should tell AppSSO whether the UIClient is capable of showing the extension UI
https://bugs.webkit.org/show_bug.cgi?id=199790
<rdar://problem/52790112>
Reviewed by Brent Fulgham.
Add tests to check SOAuthorization.enableEmbeddedAuthorizationViewController accordingly.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(-[TestSOAuthorizationDelegate _presentingViewControllerForWebView:]):
(configureSOAuthorizationWebView):
(TestWebKitAPI::TEST):
(-[TestSOAuthorizationNavigationDelegate init]): Deleted.
(-[TestSOAuthorizationNavigationDelegate webView:didFinishNavigation:]): Deleted.
(-[TestSOAuthorizationNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
(-[TestSOAuthorizationNavigationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): Deleted.
(-[TestSOAuthorizationNavigationDelegate _webView:decidePolicyForSOAuthorizationLoadWithCurrentPolicy:forExtension:completionHandler:]): Deleted.
2019-07-15 Sihui Liu <sihui_liu@apple.com>
window.openDatabase is not writable
https://bugs.webkit.org/show_bug.cgi?id=199737
<rdar://problem/52551332>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WebSQLBasics.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/opendatabase-always-exists.html:
2019-07-15 Aakash Jain <aakash_jain@apple.com>
[ews-build] Parse and display layout test failures
https://bugs.webkit.org/show_bug.cgi?id=199709
Rubber-stamped by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests.start): Initialize log_observer.
(RunWebKitTests._strip_python_logging_prefix): Copied from similar code in build.webkit.org buildbot config.
(RunWebKitTests._parseRunWebKitTestsOutput): Ditto.
(RunWebKitTests.commandComplete): Gather and parse the stdout and stderr logs.
(RunWebKitTests.evaluateResult): Analyze the results and decide build status.
(RunWebKitTests.getResultSummary): Update build and step summary.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added and updated unit-tests.
2019-07-15 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r247393.
https://bugs.webkit.org/show_bug.cgi?id=199797
broke mips and arm EWS (Requested by guijemont on #webkit).
Reverted changeset:
"run-javascriptcore-tests won't report test results for
testmasm, testair, testb3, testdfg and test api"
https://bugs.webkit.org/show_bug.cgi?id=199489
https://trac.webkit.org/changeset/247393
2019-07-12 Andy Estes <aestes@apple.com>
[Cocoa] -loadFileURL:allowingReadAccessToURL: should fully resolve file URLs
https://bugs.webkit.org/show_bug.cgi?id=199768
<rdar://problem/52002206>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm:
(TEST):
2019-07-12 Aakash Jain <aakash_jain@apple.com>
[ews-build] Remove wincairo queue from old EWS and dashboard
https://bugs.webkit.org/show_bug.cgi?id=199776
Reviewed by Don Olmstead.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
* QueueStatusServer/config/queues.py:
2019-07-12 Aakash Jain <aakash_jain@apple.com>
[ews-build] Enable wincairo queue on new EWS
https://bugs.webkit.org/show_bug.cgi?id=199593
Reviewed by Don Olmstead.
* BuildSlaveSupport/ews-build/config.json: Enabled the triggers for wincairo builder.
* BuildSlaveSupport/ews-build/factories.py: Added required build steps for wincairo factory.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): Enable wincairo status-bubble.
2019-07-12 Aakash Jain <aakash_jain@apple.com>
[ews-app] Enable logging for clicking SubmitToEWS button
https://bugs.webkit.org/show_bug.cgi?id=199757
Unreviewed minor infrastructure fix.
* BuildSlaveSupport/ews-app/ews/views/submittoews.py:
(SubmitToEWS.post): Change logging level from debug to info.
2019-07-12 Alex Christensen <achristensen@webkit.org>
Enable client certificate authentication unit test
https://bugs.webkit.org/show_bug.cgi?id=199735
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TEST):
I originally wrote this in https://bugs.webkit.org/show_bug.cgi?id=197800 but it was disabled because it crashed.
I found what was crashing. I was reading out of bounds on my vector of 2 strings :(
2019-07-12 Alex Christensen <achristensen@webkit.org>
Begin unifying TestWebKitAPI build
https://bugs.webkit.org/show_bug.cgi?id=199728
Reviewed by Keith Miller.
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Scripts/generate-unified-sources.sh: Added.
* TestWebKitAPI/Sources.txt: Added.
* TestWebKitAPI/SourcesCocoa.txt: Added.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2019-07-12 Zhifei Fang <zhifei_fang@apple.com>
run-javascriptcore-tests won't report test results for testmasm, testair, testb3, testdfg and test api
https://bugs.webkit.org/show_bug.cgi?id=199489
<rdar://problem/47891081>
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunJavaScriptCoreTests.countFailures):
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
* Scripts/run-javascriptcore-tests:
(runTest):
(reportTestFailures):
(runJSCStressTests):
2019-07-12 Aakash Jain <aakash_jain@apple.com>
[ews-build] Make layout-tests' full_results.json accessible in Buildbot
https://bugs.webkit.org/show_bug.cgi?id=199743
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-07-11 Aakash Jain <aakash_jain@apple.com>
Unreviewed follow-up fix to r247364.
[ews-build] Add build step to clean up .git/index.lock file
https://bugs.webkit.org/show_bug.cgi?id=199722
* BuildSlaveSupport/ews-build/steps.py:
(CheckOutSource): CheckOutSource should not haltOnFailure since CleanUpGitIndexLock step needs
to be run after this step.
2019-07-11 Yusuke Suzuki <ysuzuki@apple.com>
Flaky API Test TestWTF.bmalloc.ScavengedMemoryShouldBeReused
https://bugs.webkit.org/show_bug.cgi?id=199524
<rdar://problem/52783816>
Reviewed by Saam Barati.
This test is white-box one and it has strong assumption how IsoHeap allocates pages.
But this test has several problems.
1. IsoPage::numObjects is not the exact number of how many we allocate objects. This
number is calculated by pageSize / sizeof(T), and this does not account the header
size of IsoPage. So, # of objects per IsoPage is less than numObjects. Since sizeof(double)
is very small, we can have many objects in one IsoPage. As a result, we need a large
bitmap in IsoPage. This reduces # of objects in IsoPage largely. So, `ptrs.size()` becomes
less than numObjects.
2. We now have lower tier of allocation in IsoHeap. It means that we allocate 8 objects in
shared page (page is shared, but memory is pinned for a specific type) before using IsoHeap's
page. This also makes the intention of this test wrong.
Due to (1), we access OoB of ptrs vector, passing a garbage to IsoHeap::deallocate, and crashing.
We make this test robust while we still keep this test white-box one to test the critical feature
of IsoHeap. We first exhaust lower tier of IsoHeap, and after that, start testing the memory. We
allocate many pointers, deallocate them, allocate one pointer while keeping pointers in the lower
tier live, and check whether the deallocated memory is reused.
* TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp:
(TEST):
2019-07-11 Pablo Saavedra <psaavedra@igalia.com>
[WPE][GTK] Build failure with ENABLE_ACCESSIBILITY=OFF
https://bugs.webkit.org/show_bug.cgi?id=199625
Added ENABLE(ACCESSIBILITY) and replaced HAVE(ACCESSIBILITY)
with ENABLE(ACCESSIBILITY) in the code.
Additionally, the TestRunner code generator now honors the
Conditional IDL format.
Reviewed by Konstantin Tokarev.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityTextMarker.idl:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityTextMarkerRange.idl:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(_generateImplementationFile):
2019-07-11 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add build step to clean up .git/index.lock file
https://bugs.webkit.org/show_bug.cgi?id=199722
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(CheckOutSource.getResultSummary): Run CleanUpGitIndexLock step when CheckOutSource fails.
(CleanUpGitIndexLock.__init__): Configure timeout and logEnviron.
(CleanUpGitIndexLock.evaluateCommand): Always RETRY the build after this step is run.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2019-07-11 Jonathan Bedard <jbedard@apple.com>
[iOS 13] Enable WebKit build
https://bugs.webkit.org/show_bug.cgi?id=199481
<rdar://problem/52619048>
Reviewed by Tim Horton.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Add iOS framework stubs.
2019-07-11 Ryan Haddad <ryanhaddad@apple.com>
Add test expectations and baselines for iOS 13
https://bugs.webkit.org/show_bug.cgi?id=199329
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/port/ios.py:
(IOSPort): Increment current version to 13.
* Scripts/webkitpy/port/ios_device_unittest.py: Update unit tests.
(IOSDeviceTest.test_layout_test_searchpath_with_apple_additions):
(IOSDeviceTest.test_layout_test_searchpath_without_apple_additions):
(IOSDeviceTest.test_layout_searchpath_wih_device_type):
* Scripts/webkitpy/port/ios_simulator_unittest.py: Ditto.
(IOSSimulatorTest.make_port):
(IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions):
(IOSSimulatorTest.test_layout_test_searchpath_without_apple_additions):
(IOSSimulatorTest.test_layout_searchpath_wih_device_type):
* Scripts/webkitpy/port/ios_testcase.py: Ditto.
(IOSTest.make_port):
2019-07-11 Joanmarie Diggs <jdiggs@igalia.com>
AX: Implement support for ARIA roles insertion, deletion, subscript, superscript, and time
https://bugs.webkit.org/show_bug.cgi?id=199692
Reviewed by Chris Fleizach.
Add support for output of AXDeletion and AXInsertion roles for tests.
Update GTK and WPE jhbuild modules to use version of ATK and AT-SPI2
which include ROLE_CONTENT_DELETION and ROLE_CONTENT_INSERTION.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
* gtk/jhbuild.modules:
* wpe/jhbuild.modules:
2019-07-11 Adrian Perez de Castro <aperez@igalia.com>
[ews-build] Remove workers {ltilve,tanty}-gtk-wk2-ews from configuration
https://bugs.webkit.org/show_bug.cgi?id=199707
Reviewed by Aakash Jain.
* BuildSlaveSupport/ews-build/config.json: Remove old unused workers.
2019-07-10 Simon Fraser <simon.fraser@apple.com>
[iOS WK2] With modal overlay and body overflow:hidden, can't access all the content
https://bugs.webkit.org/show_bug.cgi?id=199693
rdar://problem/51930364
Reviewed by Tim Horton.
New API tests that test scrollability with various combinations of content, insets,
input accessory bars etc.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/ScrollViewScrollabilityTests.mm: Added.
(TestWebKitAPI::webViewWithAutofocusedInput):
(TestWebKitAPI::TEST):
2019-07-10 Tim Horton <timothy_horton@apple.com>
Long pressing on attachments will crash the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=199696
<rdar://problem/52920241>
Reviewed by Dean Jackson.
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
(TestWebKitAPI::TEST):
Add a test that previously crashed.
2019-07-10 Dean Jackson <dino@apple.com>
Support MacCatalyst in run-webkit-app
https://bugs.webkit.org/show_bug.cgi?id=199690
Reviewed by Tim Horton.
Add a --maccatalyst option to run-webkit-app that
can launch MacCatalyst applications with a built WebKit.
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
(determineXcodeSDK):
(xcodeSDKPlatformName):
(determineConfigurationProductDir):
(determinePortName):
(isCatalystWebKit):
(isAppleCocoaWebKit):
(willUseCatalystSDK):
2019-07-10 Ryan Haddad <ryanhaddad@apple.com>
[MacOS] Filter VPA info logged to stdout
https://bugs.webkit.org/show_bug.cgi?id=199673
Reviewed by Eric Carlson.
* Scripts/webkitpy/port/mac.py:
(MacPort.logging_patterns_to_strip):
2019-07-10 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r247286.
Caused TestWTF.WTF.StringOperators to fail on debug bots
Reverted changeset:
"Add StringBuilder member function which allows makeString()
style variadic argument construction"
https://bugs.webkit.org/show_bug.cgi?id=198997
https://trac.webkit.org/changeset/247286
2019-07-10 Aakash Jain <aakash_jain@apple.com>
[ews-build] Explicitly use perl or python while invoking scripts
https://bugs.webkit.org/show_bug.cgi?id=199669
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py: Explicitly added perl or python while invoking scripts.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests accordingly.
2019-07-10 Guillaume Emont <guijemont@igalia.com>
Run tests on mips EWS
https://bugs.webkit.org/show_bug.cgi?id=196854
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/common/config/ews.json:
2019-07-09 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] GUniqueOutPtr::release should return a raw pointer
https://bugs.webkit.org/show_bug.cgi?id=199579
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WTF/glib/GUniquePtr.cpp:
(TestWebKitAPI::TEST):
2019-07-09 Chris Dumez <cdumez@apple.com>
Fix integer type encoding / decoding in WKRemoteObjectCoder
https://bugs.webkit.org/show_bug.cgi?id=199643
<rdar://problem/52732342>
Reviewed by Anders Carlsson.
Update API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn takeUnsignedLongLong:completionHandler:]):
(-[RemoteObjectRegistryPlugIn takeLongLong:completionHandler:]):
(-[RemoteObjectRegistryPlugIn takeUnsignedLong:completionHandler:]):
(-[RemoteObjectRegistryPlugIn takeLong:completionHandler:]):
2019-07-09 Sam Weinig <weinig@apple.com>
Add StringBuilder member function which allows makeString() style variadic argument construction
https://bugs.webkit.org/show_bug.cgi?id=198997
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
Add basic test showing that StringBuilder::flexibleAppend can be used to
append one or more string adaptable types.
2019-07-09 Sihui Liu <sihui_liu@apple.com>
Only allow fetching and removing session credentials from WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=199385
<rdar://problem/52622080>
Reviewed by Alex Christensen.
removeDataOfTypes will no longer remove persistent credentials. We should clear persistent credentials using
the new SPI after each test that creates persistent credentials, otherwise the later tests may use credentials
left by previous tests and didReceiveAuthenticationChallenge will not be invoked.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
2019-07-09 Alex Christensen <achristensen@webkit.org>
When parsing an IPv4 address, wait until after deciding it is indeed an IPv4 address before reporting syntax violations
https://bugs.webkit.org/show_bug.cgi?id=199628
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2019-07-09 Alex Christensen <achristensen@webkit.org>
Remove invalid assertion in URLParser::domainToASCII
https://bugs.webkit.org/show_bug.cgi?id=199624
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2019-07-09 Alex Christensen <achristensen@webkit.org>
URLParser should reserialize IPv6 addresses that end with a colon
https://bugs.webkit.org/show_bug.cgi?id=199627
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2019-07-08 Aakash Jain <aakash_jain@apple.com>
[ews-build] Do not run unix commands for windows in PrintConfiguration
https://bugs.webkit.org/show_bug.cgi?id=199605
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
2019-07-08 Fujii Hironori <Hironori.Fujii@sony.com>
JSTestGlobalObject.cpp of bindings-generation-tests is failing for Windows Python
https://bugs.webkit.org/show_bug.cgi?id=199487
Reviewed by Ross Kirsling.
In Windows Python, preprocessor.pm is using cl.exe. cl.exe was
failing to open testglobalscope_constructors_file which was
created by using tempfile.mkstemp() because it keeps the file
open. Use tempfile.mkdtemp() to create temporary files in the
temporary directory instead of tempfile.mkstemp().
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.run_tests):
(BindingsTests.main):
(BindingsTests.close_and_remove): Deleted.
2019-07-08 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add KillOldProcesses step before running API or Layout tests
https://bugs.webkit.org/show_bug.cgi?id=199592
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
2019-07-08 Jonathan Bedard <jbedard@apple.com>
test-webkitpy: Explicitly use Python 2.7 lldb library
https://bugs.webkit.org/show_bug.cgi?id=199578
<rdar://problem/51853557>
Reviewed by Aakash Jain.
* Scripts/webkitpy/common/system/systemhost.py:
(SystemHost.path_to_lldb_python_directory): Explicitly use Python 2.7 lldb libary.
* Scripts/webkitpy/test/main.py:
(_supports_building_and_running_lldb_tests): Run lldb tests on Catalina again.
2019-07-08 Ryan Haddad <ryanhaddad@apple.com>
Add test expectations and baselines for Catalina
https://bugs.webkit.org/show_bug.cgi?id=199328
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/port/mac.py:
(MacPort): Increment current version to 10.15 so that baseline search paths are correctly constructed for High Sierra.
2019-07-08 Christopher Reid <chris.reid@sony.com>
Implement MappedFileData for Windows
https://bugs.webkit.org/show_bug.cgi?id=198269
Reviewed by Darin Adler.
* TestWebKitAPI/PlatformWin.cmake:
2019-07-08 Charlie Turner <cturner@igalia.com>
REGRESSION(r243197): [GStreamer] Web process hangs when scrolling twitter timeline which contains HLS videos
https://bugs.webkit.org/show_bug.cgi?id=197558
Reviewed by Xabier Rodriguez-Calvar.
On shutdown we can easily deadlock the web process if we don't
ensure all network operations are completed before comitting state
changes. In HLS, make sure the network operations are cancelled,
and also prevent hlsdemux's retry logic from scuppering our
efforts.
* gstreamer/jhbuild.modules: Include the patch.
* gstreamer/patches/gst-plugins-bad-do-not-retry-downloads-during-shutdown.patch: Added.
2019-07-08 Antoine Quint <graouts@apple.com>
[Pointer Events] Enable only on the most recent version of the supported iOS family
https://bugs.webkit.org/show_bug.cgi?id=199562
<rdar://problem/52766511>
Reviewed by Dean Jackson.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-07-06 Simon Fraser <simon.fraser@apple.com>
Long hang when loading a cnn.com page on iOS
https://bugs.webkit.org/show_bug.cgi?id=199556
Reviewed by Zalan Bujtas.
Add code to load a page by default in MobileMiniBrowser so it's easy to hack it
to load a test page of your choice.
* MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m:
(-[WebViewController viewDidLoad]):
2019-07-05 Ryosuke Niwa <rniwa@webkit.org>
[iOS] Crash in WebKit::WebPage::positionInformation via Range::startPosition
https://bugs.webkit.org/show_bug.cgi?id=199503
Reviewed by Wenson Hsieh.
Added UIScriptController.ensurePositionInformationIsUpToDateAt using the existing WKWebView SPI:
_requestActivatedElementAtPosition
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::ensurePositionInformationIsUpToDateAt):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::ensurePositionInformationIsUpToDateAt):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::ensurePositionInformationIsUpToDateAt):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::ensurePositionInformationIsUpToDateAt):
* WebKitTestRunner/ios/UIScriptControllerMac.mm:
(WTR::UIScriptController::ensurePositionInformationIsUpToDateAt):
2019-07-05 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r247115.
Breaks lldbWebKitTester (and by extension, test-webkitpy)
Reverted changeset:
"[WHLSL] Standard library is too big to directly include in
WebCore"
https://bugs.webkit.org/show_bug.cgi?id=198186
https://trac.webkit.org/changeset/247115
2019-07-05 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r247123.
Caused TestWebKitAPI.Challenge.BasicProposedCredential to
fail.
Reverted changeset:
"Only allow fetching and removing session credentials from
WebsiteDataStore"
https://bugs.webkit.org/show_bug.cgi?id=199385
https://trac.webkit.org/changeset/247123
2019-07-05 Wenson Hsieh <wenson_hsieh@apple.com>
Touching media controls sometimes shows software keyboard
https://bugs.webkit.org/show_bug.cgi?id=199490
<rdar://problem/52076270>
Reviewed by Eric Carlson.
Adds plumbing for a new testing hook to check whether or not there is an active input session. See other
ChangeLog entries for more detail.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::hasInputSession const):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::hasInputSession const):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::hasInputSession const):
2019-07-04 Aakash Jain <aakash_jain@apple.com>
[ews-build] Remove GTK and WPE queue from old EWS and dashboard
https://bugs.webkit.org/show_bug.cgi?id=199458
Reviewed by Michael Catanzaro.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
* QueueStatusServer/config/queues.py:
2019-07-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] Fix browserperfdash script after r239522
https://bugs.webkit.org/show_bug.cgi?id=199496
Reviewed by Michael Catanzaro.
* Scripts/webkitpy/browserperfdash/browserperfdash_runner.py:
(BrowserPerfDashRunner.run): Pass None for the new required BenchmarkRunner constructor.
2019-07-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
[webkitpy] test-webkitpy is broken on Linux since r246662
https://bugs.webkit.org/show_bug.cgi?id=199493
Reviewed by Michael Catanzaro.
* Scripts/webkitpy/test/main.py:
(_supports_building_and_running_lldb_tests): Add a check for None before calling startswith().
2019-07-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Not longer needed to build woff2 on the JHBuild
https://bugs.webkit.org/show_bug.cgi?id=199406
Reviewed by Michael Catanzaro.
Install the Woff2 libraries and headers from the system package
and stop building them on the JHBuild.
* gtk/install-dependencies:
* gtk/jhbuild.modules:
* wpe/install-dependencies:
* wpe/jhbuild.modules:
2019-07-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE][CMake] The CMake cache should be clean when the JHBuild is rebuilt
https://bugs.webkit.org/show_bug.cgi?id=199449
Reviewed by Michael Catanzaro.
* Scripts/webkitdirs.pm:
(shouldRemoveCMakeCache): Clean the CMake cache if we detect that the JHBuild has been rebuilt.
2019-07-01 Philippe Normand <pnormand@igalia.com>
Unreviewed, GTK a11y tests fix after r247071
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::popupValue const):
2019-07-03 Aakash Jain <aakash_jain@apple.com>
[ews-build] Enable WPE and GTK queues on new EWS
https://bugs.webkit.org/show_bug.cgi?id=199234
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json: Enabled the triggers for GTK and WPE builders.
* BuildSlaveSupport/ews-build/factories.py: Added required build steps for GTKFactory and WPEFactory.
* BuildSlaveSupport/ews-build/steps.py:
(CompileWebKit.evaluateCommand): Added InstallGtkDependencies/InstallWpeDependencies step before Compiling WebKit without patch.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): Enable gtk and wpe status-bubbles.
2019-07-03 Sihui Liu <sihui_liu@apple.com>
Only allow fetching and removing session credentials from WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=199385
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
2019-07-03 Tim Horton <timothy_horton@apple.com>
UI process exception when dragging an <attachment> with no content type
https://bugs.webkit.org/show_bug.cgi?id=199480
<rdar://problem/44351353>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
Add a test; before the change, it crashes.
2019-07-03 Jonathan Bedard <jbedard@apple.com>
[Catalina] Enable WebKit build
https://bugs.webkit.org/show_bug.cgi?id=199209
Reviewed by Darin Adler.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Add Mac framework stubs.
2019-07-03 Sam Weinig <weinig@apple.com>
Adopt simple structured bindings in more places
https://bugs.webkit.org/show_bug.cgi?id=199247
Reviewed by Alex Christensen.
Replaces simple uses of std::tie() with structured bindings. Does not touch
uses of std::tie() that are not initial declarations, use std::ignore or in
case where the binding is captured by a lambda, as structured bindings don't
work for those cases yet.
* TestWebKitAPI/ios/PreferredContentMode.mm:
(TestWebKitAPI::TEST):
2019-07-03 Aakash Jain <aakash_jain@apple.com>
Unreviewed follow-up fix to r247049, default the platform to '*' when platform property is not set.
* BuildSlaveSupport/ews-build/steps.py:
(PrintConfiguration.run):
2019-07-02 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add build steps to Install Wpe and Gtk dependencies
https://bugs.webkit.org/show_bug.cgi?id=199408
Reviewed by Michael Catanzaro.
* BuildSlaveSupport/ews-build/steps.py:
(InstallGtkDependencies): Build step to install dependencies for GTK. Set haltOnFailure=False so that in case of failure, build isn't
marked as failed (which would indicated patch failed EWS), instead subsequent steps would be run and the build would be marked as RETRY.
(InstallWpeDependencies): Ditto for WPE.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2019-07-02 Aakash Jain <aakash_jain@apple.com>
[ews-build] Allow skipping uploading built product for few builders
https://bugs.webkit.org/show_bug.cgi?id=199422
Reviewed by Michael Catanzaro.
* BuildSlaveSupport/ews-build/steps.py:
(CompileWebKit.__init__): Added optional skipUpload parameter.
(CompileWebKit.evaluateCommand): Allow to skip upload if there are no triggers and skipUpload is True.
2019-07-02 Tim Horton <timothy_horton@apple.com>
REGRESSION (r243240): Unable to swipe back in Safari
https://bugs.webkit.org/show_bug.cgi?id=199394
<rdar://problem/51137447>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
Make sure that we actually end up with swipe gesture recognizers installed
after process swap and crash.
2019-07-02 Andres Gonzalez <andresg_22@apple.com>
Enhance support of aria-haspopup per ARIA 1.1 specification.
https://bugs.webkit.org/show_bug.cgi?id=199216
<rdar://problem/46221342>
Reviewed by Chris Fleizach.
* DumpRenderTree/AccessibilityUIElement.cpp:
(getPopupValueCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::popupValue const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::popupValue const):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::popupValue const):
2019-07-02 Aakash Jain <aakash_jain@apple.com>
[ews-build] Do not print worker environment variables in each build step [part 2]
https://bugs.webkit.org/show_bug.cgi?id=199405
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(CheckOutSpecificRevision.__init__): Disabled logging of environment variables.
(CleanWorkingDirectory.__init__): Ditto.
(RunBindingsTests.__init__): Ditto.
(RunWebKitPerlTests.__init__): Ditto.
(RunWebKitPyTests.__init__): Ditto.
(CompileWebKit.__init__): Ditto.
(ArchiveTestResults.__init__): Ditto.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-07-02 Jer Noble <jer.noble@apple.com>
Pipe suport for 'cenc' init data type into CDMFairPlayStreaming
https://bugs.webkit.org/show_bug.cgi?id=199381
<rdar://problem/52483103>
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebCore/ISOBox.cpp:
2019-07-02 Aakash Jain <aakash_jain@apple.com>
[ews-build] Update bot configuration for WPE and GTK
https://bugs.webkit.org/show_bug.cgi?id=199238
Reviewed by Michael Catanzaro.
* BuildSlaveSupport/ews-build/config.json:
2019-07-02 Aakash Jain <aakash_jain@apple.com>
[ews-build] Make PrintConfiguration platform aware
https://bugs.webkit.org/show_bug.cgi?id=196657
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/steps.py:
(PrintConfiguration): Specified platform-specific command lists.
(PrintConfiguration.run): Override run method and specify platform specific commands.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2019-07-01 Justin Michaud <justin_michaud@apple.com>
[Wasm-References] Disable references by default
https://bugs.webkit.org/show_bug.cgi?id=199390
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests:
2019-07-01 Joonghun Park <pjh0718@gmail.com>
Unreviewed. Revert r246965 to fix build break
since r247019 reverted its related changes.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::popupValue const): Deleted.
2019-07-01 Alex Christensen <achristensen@webkit.org>
Add new decidePolicyForNavigationAction SPI with preferences and userInfo
https://bugs.webkit.org/show_bug.cgi?id=199371
<rdar://problem/52352905>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(-[NavigationActionSPIDelegate webView:didFinishNavigation:]):
(-[NavigationActionSPIDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
(-[NavigationActionSPIDelegate spiCalled]):
(TEST):
2019-07-01 Alex Christensen <achristensen@webkit.org>
Deprecate _webView:showCustomSheetForElement: after transition to UIContextMenuInteraction
https://bugs.webkit.org/show_bug.cgi?id=199296
<rdar://problem/51041960>
Reviewed by Darin Adler.
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator _webView:showCustomSheetForElement:]):
2019-07-01 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r246958.
Broke inspector/dom/getAccessibilityPropertiesForNode.html
Reverted changeset:
"Enhance support of aria-haspopup per ARIA 1.1 specification."
https://bugs.webkit.org/show_bug.cgi?id=199216
https://trac.webkit.org/changeset/246958
2019-07-01 Philippe Normand <pnormand@igalia.com>
Unreviewed, GTK a11y tests fix after r246958
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::popupValue const):
2019-06-30 Andres Gonzalez <andresg_22@apple.com>
Enhance support of aria-haspopup per ARIA 1.1 specification.
https://bugs.webkit.org/show_bug.cgi?id=199216
<rdar://problem/46221342>
Reviewed by Chris Fleizach.
* DumpRenderTree/AccessibilityUIElement.cpp:
(getPopupValueCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::popupValue const):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::popupValue const):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::popupValue const):
2019-06-28 Robin Morisset <rmorisset@apple.com>
Adding myself as a reviewer to contributors.json.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-06-28 Jer Noble <jer.noble@apple.com>
Add new -[WKWebView _closeAllMediaPresentations] SPI
https://bugs.webkit.org/show_bug.cgi?id=199294
<rdar://problem/51965958>
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm: Added.
(TEST):
2019-06-28 Sihui Liu <sihui_liu@apple.com>
Add a regression test for change r246901
https://bugs.webkit.org/show_bug.cgi?id=199290
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(-[LocalStorageNavigationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/localstorage-open-window-private.html: Added.
2019-06-28 Konstantin Tokarev <annulen@yandex.ru>
Remove traces of ENABLE_ICONDATABASE remaining after its removal in 219733
https://bugs.webkit.org/show_bug.cgi?id=199317
Reviewed by Michael Catanzaro.
While IconDatabase and all code using it was removed,
ENABLE_ICONDATABASE still exists as build option and C++ macro.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* gtk/manifest.txt.in: Remove reference to unused urlIcon.png file.
* wpe/manifest.txt.in: Remove reference to unused urlIcon.png file.
2019-06-28 Wenson Hsieh <wenson_hsieh@apple.com>
-[WKContentView _selectionClipRects] returns a bogus value in -reloadInputViews when focusing an element
https://bugs.webkit.org/show_bug.cgi?id=199310
<rdar://problem/52292137>
Reviewed by Megan Gardner.
Add a new API test to verify that _selectionClipRects returns the correct value when invoked under the scope of
_elementDidFocus.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/TestInputDelegate.h:
* TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
(-[TestInputDelegate setDidStartInputSessionHandler:]):
(-[TestInputDelegate didStartInputSessionHandler]):
Add plumbing for a handler block in TestInputDelegate.
(-[TestInputDelegate setWillStartInputSessionHandler:]):
Drive-by style fixes to add a space between id and < for Objective-C protocols.
(-[TestInputDelegate willStartInputSessionHandler]):
(-[TestInputDelegate _webView:willStartInputSession:]):
(-[TestInputDelegate _webView:didStartInputSession:]):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/ios/UIKitSPI.h:
Add a declaration for _selectionClipRects.
2019-06-27 Zalan Bujtas <zalan@apple.com>
REGRESSION(r244633): e-mail with "height: 100%" causes unstable layout.
https://bugs.webkit.org/show_bug.cgi?id=199303
<rdar://problem/51340927>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
(TEST):
2019-06-27 Beth Dakin <bdakin@apple.com>
Upstream use of MACCATALYST
https://bugs.webkit.org/show_bug.cgi?id=199245
rdar://problem/51687723
Reviewed by Tim Horton.
* ContentExtensionTester/Configurations/SDKVariant.xcconfig:
* DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
* ImageDiff/cg/Configurations/SDKVariant.xcconfig:
* MiniBrowser/Configurations/SDKVariant.xcconfig:
* MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
* Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
(JavaScriptCoreGenerator):
(WebCoreGenerator):
(WebKitGenerator):
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/Configurations/SDKVariant.xcconfig:
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
* WebEditingTester/Configurations/SDKVariant.xcconfig:
* WebKitLauncher/Configurations/SDKVariant.xcconfig:
* WebKitTestRunner/Configurations/SDKVariant.xcconfig:
* lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:
2019-06-27 Saam Barati <sbarati@apple.com>
Make WEBGPU enabled only on Mojave and later.
Rubber-stamped by Myles C. Maxfield.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-06-27 Aakash Jain <aakash_jain@apple.com>
[ews-build] Do not print worker environment variables in each build step
https://bugs.webkit.org/show_bug.cgi?id=197319
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/steps.py:
(CheckOutSource.__init__): Disabled logging of environment variables.
(ApplyPatch.__init__): Ditto.
(KillOldProcesses.__init__): Ditto.
(ArchiveBuiltProduct.__init__): Ditto.
(DownloadBuiltProduct.__init__): Ditto.
(ExtractBuiltProduct.__init__): Ditto.
(RunAPITests.__init__): Ditto.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests accordingly.
2019-06-26 Jiewen Tan <jiewen_tan@apple.com>
SubFrameSOAuthorizationSession should preserve the referrer header when fall back to web path
https://bugs.webkit.org/show_bug.cgi?id=199232
<rdar://problem/51718328>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(TestWebKitAPI::TEST):
Add a test that utilizes TCPServer as local files always omit referrer.
2019-06-26 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add configuration and architecture for WPE and GTK builders
https://bugs.webkit.org/show_bug.cgi?id=199249
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json:
2019-06-26 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add check for duplicate workers in config.json
https://bugs.webkit.org/show_bug.cgi?id=199240
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/loadConfig.py:
(checkWorkersAndBuildersForConsistency._find_worker_with_name): Check for duplicate worker entry.
* BuildSlaveSupport/ews-build/loadConfig_unittest.py:
(TestcheckWorkersAndBuildersForConsistency.test_duplicate_worker): Added unit-test.
2019-06-26 Ross Kirsling <ross.kirsling@sony.com>
[Win] MiniBrowser should make better font choices
https://bugs.webkit.org/show_bug.cgi?id=199244
Reviewed by Brent Fulgham.
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::updateDeviceScaleFactor):
* MiniBrowser/win/MiniBrowserLib.rc:
2019-06-26 Alex Christensen <achristensen@webkit.org>
testRunner.setAlwaysAcceptCookies should wait for cookie accept policy to be set
https://bugs.webkit.org/show_bug.cgi?id=199230
<rdar://51757107>
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
(TestWebKitAPI::didGetTestHTTPCookieAcceptPolicy):
(TestWebKitAPI::didGetUserHTTPCookieAcceptPolicy):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundleWithListener):
(WTR::TestController::didReceiveSynchronousPageMessageFromInjectedBundleWithListener):
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestController::didReceiveSynchronousPageMessageFromInjectedBundle): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-06-26 Ross Kirsling <ross.kirsling@sony.com>
[Win][MiniBrowser] Remove obsolete code after r246814.
https://bugs.webkit.org/show_bug.cgi?id=199233
Reviewed by Fujii Hironori.
* MiniBrowser/win/MiniBrowserWebHost.cpp:
(MiniBrowserWebHost::didFinishLoadForFrame):
(SimpleEventListener::SimpleEventListener): Deleted.
(SimpleEventListener::handleEvent): Deleted.
2019-06-25 Jiewen Tan <jiewen_tan@apple.com>
Implement a new SPI to inform clients about AppSSO
https://bugs.webkit.org/show_bug.cgi?id=199085
<rdar://problem/50028246>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(-[TestSOAuthorizationBasicDelegate webView:didFinishNavigation:]):
(-[TestSOAuthorizationNavigationDelegate init]):
(-[TestSOAuthorizationNavigationDelegate _webView:decidePolicyForSOAuthorizationLoadWithCurrentPolicy:forExtension:completionHandler:]):
(TestWebKitAPI::TEST):
2019-06-25 Aakash Jain <aakash_jain@apple.com>
[ews-build] Retry Layout test in case of failures
https://bugs.webkit.org/show_bug.cgi?id=199194
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests.evaluateCommand): Check if tests failed and retry them if required.
(ReRunWebKitTests): Build step to re-run layout tests.
(ReRunWebKitTests.evaluateCommand): Check if tests failed and retry on clean build if required.
(RunWebKitTestsWithoutPatch): Build step to run tests without patch.
(RunWebKitTestsWithoutPatch.evaluateCommand):
2019-06-25 Aakash Jain <aakash_jain@apple.com>
[ews-build] Combine various patchFailed*Tests properties
https://bugs.webkit.org/show_bug.cgi?id=199193
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py: Renamed patchFailedJSCTests and patchFailedAPITests to patchFailedTests. This property
can also be used for layout-tests later on.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-06-25 Ross Kirsling <ross.kirsling@sony.com>
[Win] MiniBrowser should default to webkit.org
https://bugs.webkit.org/show_bug.cgi?id=199201
Reviewed by Don Olmstead.
* MiniBrowser/win/BrowserWindow.h:
* MiniBrowser/win/MiniBrowserReplace.h:
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::loadHTMLString): Deleted.
* MiniBrowser/win/WebKitBrowserWindow.h:
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::loadHTMLString): Deleted.
* MiniBrowser/win/WebKitLegacyBrowserWindow.h:
* MiniBrowser/win/WinMain.cpp:
(wWinMain):
2019-06-25 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Occasional crash under -[UIPreviewTarget initWithContainer:center:transform:] when generating a drag preview
https://bugs.webkit.org/show_bug.cgi?id=199192
<rdar://problem/51554509>
Reviewed by Tim Horton.
Tweak the drag and drop simulator to ask for drag cancellation previews, and use this to write a couple tests to
verify that we gracefully handle web process termination and web view unparenting mid-drag.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator _resetSimulatedState]):
(-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
(-[DragAndDropSimulator _advanceProgress]):
(-[DragAndDropSimulator liftPreviews]):
(-[DragAndDropSimulator cancellationPreviews]):
(-[DragAndDropSimulator setSessionWillBeginBlock:]):
(-[DragAndDropSimulator sessionWillBeginBlock]):
(-[DragAndDropSimulator _webView:dataInteraction:sessionWillBegin:]):
2019-06-25 Aakash Jain <aakash_jain@apple.com>
[ews-build] UploadTestResults and ExtractTestResults clobber results in case of multiple layout test runs in a build
https://bugs.webkit.org/show_bug.cgi?id=199178
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(UploadTestResults.__init__): Add an optional identifier and append the identifier to the file name.
(ExtractTestResults.__init__): Ditto.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit tests.
2019-06-25 Michael Catanzaro <mcatanzaro@igalia.com>
Add user agent quirk for bankofamerica.com
https://bugs.webkit.org/show_bug.cgi?id=199154
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2019-06-25 Michael Catanzaro <mcatanzaro@igalia.com>
Fully rename WebKitGTK+ -> WebKitGTK everywhere
https://bugs.webkit.org/show_bug.cgi?id=199159
Reviewed by Carlos Garcia Campos.
* BuildSlaveSupport/gtk/README:
* MiniBrowser/gtk/BrowserWindow.c:
* MiniBrowser/gtk/main.c:
(aboutURISchemeRequestCallback):
* Scripts/webkitpy/common/config/contributionareas.py:
* Scripts/webkitpy/common/config/contributors.json:
* Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py:
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
(testWebViewResources):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewMouseTarget):
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebExtensionGetTitle):
(testDocumentLoadedSignal):
(testWebExtensionFormControlsAssociated):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettingsUserAgent):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewRunJavaScript):
* TestWebKitAPI/Tests/WebKitGtk/InspectorTestServer.cpp:
(main):
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(prepareContextMenuTestView):
(testContextMenuPopulateMenu):
(testContextMenuCustomMenu):
(testContextMenuDisableMenu):
(testContextMenuSubMenu):
(testContextMenuDismissed):
(testContextMenuWebExtensionMenu):
(testContextMenuWebExtensionNode):
* TestWebKitAPI/Tests/WebKitGtk/TestInspector.cpp:
(testInspectorDefault):
(testInspectorManualAttachDetach):
(testInspectorCustomContainerDestroyed):
* TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp:
(testWebViewPrint):
(testPrintOperationPrint):
(testPrintOperationErrors):
* gtk/install-dependencies:
* gtk/jhbuild.modules:
* gtkdoc/generate-gtkdoc:
* wpe/install-dependencies:
2019-06-24 Michael Catanzaro <mcatanzaro@igalia.com>
contributors.json not canonicalized since r243297
https://bugs.webkit.org/show_bug.cgi?id=199161
Reviewed by Alexey Proskuryakov.
Canonicalize it using 'validate-committer-lists --canonicalize'
* Scripts/webkitpy/common/config/contributors.json:
2019-06-24 Jonathan Bedard <jbedard@apple.com>
webkitpy: Build style should be lower-case
https://bugs.webkit.org/show_bug.cgi?id=199158
Reviewed by Aakash Jain.
* Scripts/webkitpy/test/main.py:
(Tester._run_tests): Make all styles lower-case.
2019-06-24 Aakash Jain <aakash_jain@apple.com>
[ews-build] Remove iOS queue from old EWS and dashboard
https://bugs.webkit.org/show_bug.cgi?id=199150
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
* QueueStatusServer/config/queues.py:
2019-06-21 Ryan Haddad <ryanhaddad@apple.com>
API Test [Mojave+ WK2 Debug ] TestWebKitAPI.WKAttachmentTestsMac.InsertDroppedFilePromisesAsAttachments is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=198795
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST): Disable flaky test.
2019-06-24 Aakash Jain <aakash_jain@apple.com>
[ews-build] Enable iOS-12-Build queue on new EWS
https://bugs.webkit.org/show_bug.cgi?id=199149
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/config.json: Enable iOS-12-Build-EWS trigger. Also temporarily share ews152 and ews154 with
this queue.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble): Enable ios status-bubble. Also display the ios bubble first (left). Going forward
will keep the builders to the left and testers to the right.
2019-06-24 Aakash Jain <aakash_jain@apple.com>
[ews-build] Upload test results after running layout-tests
https://bugs.webkit.org/show_bug.cgi?id=199120
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests.evaluateCommand):
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2019-06-24 Aakash Jain <aakash_jain@apple.com>
[ews-build] EWS should provide option to download layout test results zip file
https://bugs.webkit.org/show_bug.cgi?id=199121
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ExtractTestResults.resultsDownloadURL): Method to return layout test result zip file url.
(ExtractTestResults.addCustomURLs): Add url to download layout test results zip file.
2019-06-24 Michael Catanzaro <mcatanzaro@igalia.com>
Add user agent quirk for Google Drive
https://bugs.webkit.org/show_bug.cgi?id=199153
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2019-06-22 Zalan Bujtas <zalan@apple.com>
[LFC] Expand tests coverage (328 new tests -> 2652).
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-06-22 Andres Gonzalez <andresg_22@apple.com>
Accessibility objects contained in links should honor the aria-haspopup attribute in the ancestor link.
https://bugs.webkit.org/show_bug.cgi?id=199107
<rdar://problem/43663611>
Reviewed by Chris Fleizach.
iOS implementation for AccessibilityUIElement::hasPopup.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::hasPopup const):
2019-06-22 Konstantin Tokarev <annulen@yandex.ru>
Unreviewed, add myself to CMake watchlist
* Scripts/webkitpy/common/config/watchlist:
2019-06-21 Sihui Liu <sihui_liu@apple.com>
openDatabase should return an empty object when WebSQL is disabled
https://bugs.webkit.org/show_bug.cgi?id=198805
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WebSQLBasics.mm: Added.
(-[WebSQLBasicsMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/opendatabase-always-exists.html: Added.
2019-06-21 Jiewen Tan <jiewen_tan@apple.com>
WebPageProxy::loadData should accept ShouldOpenExternalURLsPolicy
https://bugs.webkit.org/show_bug.cgi?id=199114
<rdar://problem/51671674>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(-[TestSOAuthorizationNavigationDelegate init]):
(-[TestSOAuthorizationNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(configureSOAuthorizationWebView):
(TestWebKitAPI::TEST):
2019-06-21 Youenn Fablet <youenn@apple.com>
WebPageProxy should use the right path for sandbox extension
https://bugs.webkit.org/show_bug.cgi?id=198902
<rdar://problem/50772810>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-06-21 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Bump minimum versions of GLib, GTK, libsoup, ATK, GStreamer, and Cairo
https://bugs.webkit.org/show_bug.cgi?id=199094
Reviewed by Carlos Garcia Campos.
* MiniBrowser/gtk/BrowserTab.c:
(runColorChooserCallback):
(browserTabConstructed):
* TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
(testWebViewSyncRequestOnMaxConns):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(testWebSocketTLSErrors):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::~WebKitTestServer):
(WebKitTestServer::getWebSocketURIForPath const):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::rowHeaders const):
(WTR::AccessibilityUIElement::columnHeaders const):
(WTR::AccessibilityUIElement::isAttributeSettable):
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::y):
(WTR::AccessibilityUIElement::width):
(WTR::AccessibilityUIElement::height):
(WTR::AccessibilityUIElement::clickPointX):
(WTR::AccessibilityUIElement::clickPointY):
(WTR::AccessibilityUIElement::intValue const):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::stringAtOffset):
2019-06-20 Dean Johnson <dean_johnson@apple.com>
test-webkitpy is broken on macOS Catalina
https://bugs.webkit.org/show_bug.cgi?id=199078
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/test/main.py: Check if lldb tests are supported before adding them
to the runner.
(main):
(_supports_building_and_running_lldb_tests): Check if you are running macOS Catalina.
2019-06-20 Dean Johnson <dean_johnson@apple.com>
Change status to "committer" in contributors.json
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-06-20 Alex Christensen <achristensen@webkit.org>
Add unit test for UIContextMenuConfiguration API
https://bugs.webkit.org/show_bug.cgi?id=199043
Reviewed by Wenson Hsieh.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm: Added.
(-[TestContextMenuUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
(-[TestContextMenuUIDelegate webView:contextMenuWillPresentForElement:]):
(-[TestContextMenuUIDelegate webView:contextMenuForElement:willCommitWithAnimator:]):
(-[TestContextMenuUIDelegate webView:contextMenuDidEndForElement:]):
(TEST):
* TestWebKitAPI/cocoa/TestContextMenuDriver.h: Added.
* TestWebKitAPI/cocoa/TestContextMenuDriver.mm: Added.
(-[TestContextMenuDriver delegate]):
(-[TestContextMenuDriver setDelegate:]):
(-[TestContextMenuDriver view]):
(-[TestContextMenuDriver setView:]):
(-[TestContextMenuDriver allowableMovement]):
(-[TestContextMenuDriver setAllowableMovement:]):
(-[TestContextMenuDriver primaryGestureRecognizer]):
(-[TestContextMenuDriver setPrimaryGestureRecognizer:]):
(-[TestContextMenuDriver touchDuration]):
(-[TestContextMenuDriver setTouchDuration:]):
(-[TestContextMenuDriver locationInCoordinateSpace:]):
(-[TestContextMenuDriver cancelInteraction]):
(-[TestContextMenuDriver begin:]):
(-[TestContextMenuDriver clickDown]):
(-[TestContextMenuDriver clickUp]):
(-[TestContextMenuDriver end]):
* TestWebKitAPI/ios/UIKitSPI.h:
2019-06-20 Aakash Jain <aakash_jain@apple.com>
[ews-app] Status bubble should not turn orange when any build step is skipped
https://bugs.webkit.org/show_bug.cgi?id=199079
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2019-06-20 Alex Christensen <achristensen@webkit.org>
Fix an internal engineering build after r246605
​https://bugs.webkit.org/show_bug.cgi?id=197800
* TestWebKitAPI/TCPServer.cpp:
2019-06-20 Aakash Jain <aakash_jain@apple.com>
[ews-build] Triggered builds should use same revision as parent build
https://bugs.webkit.org/show_bug.cgi?id=198289
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(CheckOutSpecificRevision): Build step to checkout specific revision.
(CheckOutSpecificRevision.doStepIf): Run this step only if ews_revision property is set.
(CheckOutSpecificRevision.hideStepIf): Hide this step when it is skipped.
(CheckOutSpecificRevision.start): Run appropriate git command.
(Trigger.propertiesToPassToTriggers): Pass ews_revision property to triggered builds, so that triggered
builds use same revision as parent build.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
* BuildSlaveSupport/ews-build/factories.py:
(Factory.__init__): Added CheckOutSpecificRevision step.
2019-06-20 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add unit tests for AnalyzeCompileWebKitResults
https://bugs.webkit.org/show_bug.cgi?id=199073
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests for AnalyzeCompileWebKitResults.
2019-06-20 Alexander Mikhaylenko <exalm7659@gmail.com>
[GTK] Enable navigation swipe layout tests
https://bugs.webkit.org/show_bug.cgi?id=198995
Reviewed by Michael Catanzaro.
Add a way for tests to enable and then control swipe gesture on GTK.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp: Hide
empty implementations of beginBackSwipe() and completeBackSwipe() for GTK.
* WebKitTestRunner/PlatformGTK.cmake:
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::setNavigationGesturesEnabled): Implemented.
* WebKitTestRunner/gtk/UIScriptControllerGtk.cpp: Added.
(WTR::UIScriptController::beginBackSwipe):
(WTR::UIScriptController::completeBackSwipe):
2019-06-20 Alexander Mikhaylenko <exalm7659@gmail.com>
[GTK] HTTP layout tests don't run in flatpak
https://bugs.webkit.org/show_bug.cgi?id=199067
Reviewed by Michael Catanzaro.
Stop bind mounting /app/lib/perl to /etc/perl because Perl doesn't actually
check that path. Instead, add /app/lib/perl to Apache config directly.
/usr/manifest.json file is not guaranteed to exist in sandbox, check for
/.flatpak-info instead.
* Scripts/webkitpy/port/base.py:
(Port._is_flatpak):
(Port._in_flatpak_sandbox):
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
(is_sandboxed):
2019-06-18 Darin Adler <darin@apple.com>
Tidy up the remaining bits of the AtomicString to AtomString rename
https://bugs.webkit.org/show_bug.cgi?id=198990
Reviewed by Michael Catanzaro.
* Scripts/do-webcore-rename: Removed already-done renames.
* TestWebKitAPI/Tests/WTF/StringImpl.cpp: Rename one use of "atomic".
2019-06-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Remove support for GTK2 plugins
https://bugs.webkit.org/show_bug.cgi?id=199065
Reviewed by Sergio Villar Senin.
* EWSTools/ubuntu-ews-packages:
* TestWebKitAPI/PlatformGTK.cmake:
* WebKitTestRunner/PlatformGTK.cmake:
* flatpak/org.webkit.GTK.yaml:
* gtk/install-dependencies:
2019-06-19 Yusuke Suzuki <ysuzuki@apple.com>
[bmalloc] IsoHeap's initialization is racy with IsoHeap::isInitialized
https://bugs.webkit.org/show_bug.cgi?id=199053
Reviewed by Saam Barati.
Added a test stressing IsoHeap with multiple threads.
* TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp:
(assertHasObjects):
(assertHasOnlyObjects):
(assertClean):
(TEST):
2019-06-19 Zalan Bujtas <zalan@apple.com>
[LFC] Expand tests coverage (1126 new tests -> 2324).
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-06-19 Fujii Hironori <Hironori.Fujii@sony.com>
Add WTF::crossThreadCopy(T&&) to utilize String::isolatedCopy() &&
https://bugs.webkit.org/show_bug.cgi?id=198957
Reviewed by Alex Christensen.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CrossThreadCopier.cpp: Added.
2019-06-19 Keith Rollin <krollin@apple.com>
Relocate some test tools in non-mac builds
https://bugs.webkit.org/show_bug.cgi?id=198984
<rdar://problem/51873261>
Reviewed by Andy Estes.
The tools DumpRenderTree, WebKitTestRunner, LayoutTestHelper, and
TestNetscapePlugin get created in
WebKit.framework/Versions/A/Resources on non-mac builds. This is
incorrect, as those bundles are shallow bundles that don't use the
Versions hierarchy. Instead, store these files directly in
WebKit.framework.
Note that getting rid of just the "Versions/A" path components and
putting the files in WebKit.framework/Resources doesn't work as
`codesign` treats the result as an invalid layout.
The work in this patch involves changing the definition of the custom
build variable WEBKIT_FRAMEWORK_RESOURCES_PATH. The standard build
variable INSTALL_PATH is defined in terms of this variable. In order
to increase visiblity into this relationship, move both of these
variables into .xcconfig files if they weren't already. This
refactoring was done in a way to be the least disruptive and most
compatible with the previous definitions, even at the cost of being
repetitive.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
* DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
* DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig:
* WebKitTestRunner/Configurations/BaseTarget.xcconfig:
2019-06-19 Aakash Jain <aakash_jain@apple.com>
[ews-build] Patch link should open the pretty patch
https://bugs.webkit.org/show_bug.cgi?id=199031
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ConfigureBuild.getPatchURL): Use the prettypatch url for patch.
2019-06-19 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add step to analyze Compile WebKit failures
https://bugs.webkit.org/show_bug.cgi?id=199025
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(CompileWebKit.evaluateCommand): Add AnalyzeCompileWebKitResults step.
(CompileWebKitToT): set haltOnFailure to False since we need to run AnalyzeCompileWebKitResults step.
(AnalyzeCompileWebKitResults): Class to analyze compile webkit steps results.
(AnalyzeCompileWebKitResults.start): If ToT fails to build, retry the build, else marked the build as failed. Note that
this step is run only when compile-webkit failed.
2019-06-19 Aakash Jain <aakash_jain@apple.com>
[ews-build] Send email notifications for failures
https://bugs.webkit.org/show_bug.cgi?id=198919
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/master.cfg:
2019-06-19 Alex Christensen <achristensen@webkit.org>
Add a unit test for client certificate authentication
https://bugs.webkit.org/show_bug.cgi?id=197800
Reviewed by Youenn Fablet.
Make better abstractions for reading and writing from/to TCPServer.
Add a unit test that causes a client certificate authentication challenge to happen.
* TestWebKitAPI/TCPServer.cpp:
(TestWebKitAPI::TCPServer::TCPServer):
(TestWebKitAPI::TCPServer::read):
(TestWebKitAPI::TCPServer::write):
(TestWebKitAPI::TCPServer::respondWithChallengeThenOK):
(TestWebKitAPI::TCPServer::respondWithOK):
* TestWebKitAPI/TCPServer.h:
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
(credentialWithIdentity):
(-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TEST):
(-[ClientCertificateDelegate webView:didFinishNavigation:]):
(-[ClientCertificateDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(-[ClientCertificateDelegate challengeCount]):
(TestWebKitAPI::TEST):
(respondWithChallengeThenOK): Deleted.
(credentialWithIdentityAndKeychainPath): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:
(TEST):
(readRequest): Deleted.
(writeResponse): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
(TestWebKitAPI::respondWithChallengeThenOK): Deleted.
2019-06-19 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, fix build warnings in TestWebKitAPIInjectedBundle
System headers are being included without SYSTEM again here.
* TestWebKitAPI/PlatformGTK.cmake:
2019-06-18 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] JSLock should be WebThread aware
https://bugs.webkit.org/show_bug.cgi?id=198911
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitLegacy/ios/JSLockTakesWebThreadLock.mm: Added.
(TestWebKitAPI::TEST):
2019-06-18 Keith Miller <keith_miller@apple.com>
webkit-patch should allow for a bugzilla url not just bugzilla id
https://bugs.webkit.org/show_bug.cgi?id=198972
Reviewed by Dewei Zhu.
When prompting for a bugzilla id or a new title we should also
allow for a bugzilla url.
* Scripts/webkitpy/tool/steps/promptforbugortitle.py:
(PromptForBugOrTitle.run):
2019-06-18 David Quesada <david_quesada@apple.com>
REGRESSION: _WKDownload.OriginatingWebView and _WKDownload.CrashAfterDownloadDidFinishWhenDownloadProxyHoldsTheLastRefOnWebProcessPool failing
https://bugs.webkit.org/show_bug.cgi?id=198954
rdar://problem/51711556
Reviewed by Alex Christensen.
For these tests, kill the web process after the download starts. This makes the deallocation
of the download-originating web views, which these tests depend on, more reliable.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[OriginatingWebViewDownloadDelegate _downloadDidStart:]):
(-[WaitUntilDownloadCanceledDelegate _downloadDidStart:]):
2019-06-18 Dan Bernstein <mitz@apple.com>
Revert workaround for bug 198904 from run-webkit-archive
https://bugs.webkit.org/show_bug.cgi?id=198931
Reviewed by Alexey Proskuryakov.
Reverted r245965, now that the load commands in the XPC service binaries make them correctly
pick up the built frameworks.
* WebKitArchiveSupport/run-webkit-archive:
(set_dyld_framework_path):
2019-06-17 Sihui Liu <sihui_liu@apple.com>
-[WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:] doesn't delete _WKWebsiteDataTypeCredentials
https://bugs.webkit.org/show_bug.cgi?id=198854
<rdar://problem/51386058>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
2019-06-17 Adrian Perez de Castro <aperez@igalia.com>
[Flatpak][JHBuild] Update build environments to use WPEBackend-fdo 1.3.1
https://bugs.webkit.org/show_bug.cgi?id=198831
Reviewed by Žan Doberšek.
* flatpak/org.webkit.WPEModules.yaml: Bump versions of libwpe and WPEBackend-fdo to 1.3.1
* wpe/jhbuild.modules: Ditto.
* wpe/patches/wpebackend-fdo-Handle-the-case-of-new-target-created-for-the-same-v.patch: Removed.
* wpe/wpebackend-fdo-view-backend-exportable-private-don-t-double-free-ca.patch: Removed.
2019-06-17 Jiewen Tan <jiewen_tan@apple.com>
Move SOAuthorization from WebKitAdditions to WebKit
https://bugs.webkit.org/show_bug.cgi?id=198874
<rdar://problem/47573431>
Reviewed by Brent Fulgham.
This patch moves all SOAuthorization tests from WebKitAdditions to WebKit.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: Added.
(-[TestSOAuthorizationNavigationDelegate init]):
(-[TestSOAuthorizationNavigationDelegate webView:didFinishNavigation:]):
(-[TestSOAuthorizationNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[TestSOAuthorizationNavigationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[TestSOAuthorizationViewController viewDidAppear]):
(-[TestSOAuthorizationViewController viewDidDisappear]):
(overrideCanPerformAuthorizationWithURL):
(overrideSetDelegate):
(overrideBeginAuthorizationWithURL):
(overrideCancelAuthorization):
(overrideAddObserverForName):
(overrideIsURLFromAppleOwnedDomain):
(resetState):
(configureSOAuthorizationWebView):
(generateHtml):
(checkAuthorizationOptions):
(TestWebKitAPI::TEST):
2019-06-17 Brent Fulgham <bfulgham@apple.com>
Ensure ITP state is relayed to Network Process on restart
https://bugs.webkit.org/show_bug.cgi?id=198797
<rdar://problem/51646944>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(cleanupITPDatabase): Added.
(TEST:EnableDisableITP): Update to use cleanup method.
(TEST:NetworkProcessRestart): Added.
2019-06-17 Aakash Jain <aakash_jain@apple.com>
New EWS can't process patches larger than 640kb
https://bugs.webkit.org/show_bug.cgi?id=198851
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/master.cfg: Increase the patch size limit to 100 MB.
2019-06-17 Jonathan Bedard <jbedard@apple.com>
webkitpy: Add macOS Catalina, iOS 13
https://bugs.webkit.org/show_bug.cgi?id=198492
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Catalina.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Catalina@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS13.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS13@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS13Simulator.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS13Simulator@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
* BuildSlaveSupport/ews-build/steps.py:
* Scripts/webkitpy/common/version_name_map.py:
* Scripts/webkitpy/common/version_name_map_unittest.py:
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
2019-06-17 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. [GTK] Bump WPEBackend-fdo requirement to 1.3.1
* gtk/jhbuild.modules:
* gtk/patches/wpebackend-fdo-Handle-the-case-of-new-target-created-for-the-same-v.patch: Removed.
* gtk/wpebackend-fdo-view-backend-exportable-private-don-t-double-free-ca.patch: Removed.
2019-06-16 Zalan Bujtas <zalan@apple.com>
[LFC] Expand tests coverage (325 new tests -> 1198).
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-06-16 Darin Adler <darin@apple.com>
Rename AtomicString to AtomString
https://bugs.webkit.org/show_bug.cgi?id=195276
Reviewed by Michael Catanzaro.
* many files: Let do-webcore-rename do the renaming.
* Scripts/do-webcore-rename: Updated with a list of all the identifiers
that mention "atomic string" and changed them to instead say "atom string".
2019-06-16 Zalan Bujtas <zalan@apple.com>
[LFC] Unreviewed test gardening.
Unsupported alignments.
fast/inline/absolute-positioned-inline-in-centred-block.html -align: center
fast/borders/empty-outline-border-assert.html -vertical-align: super
css2.1/20110323/vertical-align-boxes-001.htm - vertical-align: middle
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-06-15 Youenn Fablet <youenn@apple.com>
WPT test importer WTR option reader should not throw if the file is not proper UTF-8
https://bugs.webkit.org/show_bug.cgi?id=198780
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter._webkit_test_runner_options):
In case the test file cannot be read as text, consider that there is no WTR option.
2019-06-14 Youenn Fablet <youenn@apple.com>
WebResourceLoadStatisticsStore should not use its network session if invalidated
https://bugs.webkit.org/show_bug.cgi?id=198814
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2019-06-14 Youenn Fablet <youenn@apple.com>
import-w3c-tests should respect WEBKIT_OUTPUTDIR
https://bugs.webkit.org/show_bug.cgi?id=198682
<rdar://problem/51536931>
Reviewed by Jonathan Bedard.
Check for WEBKIT_OUTPUTDIR environment variable to compute the w3c-tests folder.
Made some refactoring to also teach WPTPaths users about WEBKIT_OUTPUTDIR.
* Scripts/webkitpy/common/webkit_finder.py:
(WebKitFinder.path_from_webkit_outputdir):
* Scripts/webkitpy/w3c/common.py:
(WPTPaths):
(WPTPaths.checkout_directory):
(WPTPaths.wpt_checkout_path):
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.__init__):
* Scripts/webkitpy/w3c/test_importer_unittest.py:
(test_checkout_directory):
2019-06-13 Antoine Quint <graouts@apple.com>
REGRESSION (r246103) [ Mojave+ WK1 ] Layout Test scrollbars/scrollbar-iframe-click-does-not-blur-content.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=198800
<rdar://problem/51679634>
Reviewed by Tim Horton.
We didn't detect an NSScroller in a sub-frame due to WebHTMLView's implementation of -[NSView hitTest:]. We now use a private method
which lets us use the default implementation and correctly returns an NSScroller in a sub-frame.
* DumpRenderTree/mac/EventSendingController.mm:
(eventPressedMouseButtonsSwizzlerForViewAndEvent):
(-[EventSendingController mouseDown:withModifiers:]):
(-[EventSendingController mouseUp:withModifiers:]):
(-[EventSendingController mouseMoveToX:Y:]):
2019-06-13 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][WebKitTestRunner] pixel image dump outputs blank images
https://bugs.webkit.org/show_bug.cgi?id=198820
Reviewed by Ross Kirsling.
WebView window paints nothing because it is moved out of the
screen. Send WM_PRINT with memory DC instead of WM_PAINT as well
as DumpRenderTree does.
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::windowSnapshotImage): Send WM_PRINT instead of BitBlt.
2019-06-13 Tim Horton <timothy_horton@apple.com>
Make it possible for validate-committer-lists to dump a mailmap file
https://bugs.webkit.org/show_bug.cgi?id=198517
Reviewed by Simon Fraser.
Mailmaps wildly improve the output of various Git tools, including
`git shortlog -sne`, mapping committers to our canonical name/email pair.
* Scripts/validate-committer-lists:
(CommitterListFromGit):
(CommitterListBugzillaChecker.print_committers_with_invalid_bugzilla_emails):
Add some missing legacy username mappings.
(dump_mailmap):
(dump_mailmap.format_email):
(dump_mailmap.format_email_with_gitsvn_uuid):
(dump_mailmap.map_emails_to_legacy_username):
(main):
Add `validate-committer-lists --dump-mailmap`, which generates
one given committers.json and the existing mapping of legacy username
to email addresses that exists in validate-committer-lists.
2019-06-12 Aakash Jain <aakash_jain@apple.com>
Replace double-quotes with single quotes in loadConfig.py
https://bugs.webkit.org/show_bug.cgi?id=198792
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/loadConfig.py:
* BuildSlaveSupport/ews-build/steps_unittest.py:
22019-06-11 Brent Fulgham <bfulgham@apple.com>
Add mechanism and test case to check if ITP is active
https://bugs.webkit.org/show_bug.cgi?id=198694
<rdar://problem/51557704>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2019-06-12 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Deprecate WebSQL APIs
https://bugs.webkit.org/show_bug.cgi?id=195011
Reviewed by Carlos Garcia Campos.
* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataConfiguration):
(testWebsiteDataEphemeral):
(testWebsiteDataDatabases):
2019-06-12 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Enable hyperlink auditing
https://bugs.webkit.org/show_bug.cgi?id=197845
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2019-06-11 Keith Rollin <krollin@apple.com>
Open up xcfilelist processing to more platforms
https://bugs.webkit.org/show_bug.cgi?id=198675
<rdar://problem/51533238>
Reviewed by Jonathan Bedard.
Now that it's been tested, add AppleTV{OS,Simulator} to the set of
platforms on which to perform xcfilelist generation/updating.
* Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
(JavaScriptCoreGenerator):
(WebCoreGenerator):
(WebKitGenerator):
2019-06-11 Jonathan Bedard <jbedard@apple.com>
webkitpy: Fix device ASan reporting, add testing for report configurations
https://bugs.webkit.org/show_bug.cgi?id=198756
Reviewed by Aakash Jain.
ASan results were reporting an incorrect style. This indicates we need to be testing this upload
configuration thoroughly in webkitpy.
* Scripts/webkitpy/port/config.py:
(clear_cached_configuration): Clearing configurations should clear the ASan cache as well.
* Scripts/webkitpy/port/device_port.py:
(DevicePort.configuration_for_upload): Add ASan as style.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest):
(IOSDeviceTest.test_default_upload_configuration):
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.test_default_upload_configuration):
* Scripts/webkitpy/port/mock_drt_unittest.py:
(MockDRTPortTest.test_asan_upload_configuration):
* Scripts/webkitpy/port/port_testcase.py:
(test_default_upload_configuration):
(test_debug_upload_configuration):
(test_asan_upload_configuration):
(test_guard_malloc_configuration):
* Scripts/webkitpy/port/watch_simulator_unittest.py:
(WatchSimulatorTest):
(WatchSimulatorTest.test_default_upload_configuration):
2019-06-11 Michael Catanzaro <mcatanzaro@igalia.com>
tu-berlin university email web interface (Outlook Web App) goes directly to the light version instead of the normal web app
https://bugs.webkit.org/show_bug.cgi?id=198749
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2019-06-11 Wenson Hsieh <wenson_hsieh@apple.com>
Quotes are always inserted as smart quotes on stackblitz.com, causing compilation errors
https://bugs.webkit.org/show_bug.cgi?id=198735
<rdar://problem/51557159>
Reviewed by Megan Gardner.
Add a test to verify that spellcheck="false" disables smart quotes and dashes, but any other value defers to the
user's preferences by using UITextSmartQuotesTypeDefault and UITextSmartDashesTypeDefault.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
2019-06-11 Tadeu Zagallo <tzagallo@apple.com>
Unreviewed, add myself to the JavaScriptCore watchlist.
* Scripts/webkitpy/common/config/watchlist:
2019-06-11 Tadeu Zagallo <tzagallo@apple.com>
Unreviewed, change my status to be a WebKit reviewer
* Scripts/webkitpy/common/config/contributors.json:
2019-06-11 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Use new exported image API from fdo backend
https://bugs.webkit.org/show_bug.cgi?id=198558
Reviewed by Philippe Normand.
* WebKitTestRunner/PlatformWPE.cmake: Do not find fdo backend and libxkb again here, since WKTR depends on
WPEToolingBackends that already depends on fdo backend and libxkb
* wpe/backends/CMakeLists.txt: Bump fdo requirements to 1.3.0 version.
* wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::createSnapshot):
(WPEToolingBackends::HeadlessViewBackend::performUpdate):
(WPEToolingBackends::HeadlessViewBackend::displayBuffer):
* wpe/backends/HeadlessViewBackend.h:
* wpe/backends/ViewBackend.cpp:
(WPEToolingBackends::ViewBackend::initialize):
* wpe/backends/ViewBackend.h:
* wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WindowViewBackend::displayBuffer):
* wpe/backends/WindowViewBackend.h:
2019-06-10 Dewei Zhu <dewei_zhu@apple.com>
Extend run-benchmark to allow diagnosing before closing browser on test failure.
https://bugs.webkit.org/show_bug.cgi?id=198729
Reviewed by Ryosuke Niwa.
Add '--diagnose-directory' option to store diagnose information when test failed.
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.__init__):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver.diagnose_test_failure): Add default no-op function to base class.
* Scripts/webkitpy/benchmark_runner/run_benchmark.py: Added '--diagnose-directory' option.
(parse_args):
(run_benchmark_plan):
* Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
(WebDriverBenchmarkRunner._run_one_test): Added 'diagnose_test_failure' invocation on test failure.
* Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
(WebServerBenchmarkRunner.__init__):
(WebServerBenchmarkRunner._run_one_test): Added 'diagnose_test_failure' invocation on test failure.
2019-06-10 Sam Weinig <weinig@apple.com>
Remove Dashboard support
https://bugs.webkit.org/show_bug.cgi?id=198615
Reviewed by Ryosuke Niwa.
* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
(setUseDashboardCompatibilityModeCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setUseDashboardCompatibilityMode): Deleted.
* ImageDiff/cg/Configurations/Base.xcconfig:
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/DeviceScaleFactorInDashboardRegions.mm: Removed.
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUseDashboardCompatibilityMode): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-06-10 Alexey Proskuryakov <ap@apple.com>
Tool binaries like WebKitTestRunner have too aggressive stripping, resulting in non-symbolicated crash logs
https://bugs.webkit.org/show_bug.cgi?id=198616
rdar://problem/36386573
Reviewed by David Kilzer.
Adding an explicit STRIP_STYLE to appropriate xcconfigs.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
* DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
* DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
* ImageDiff/cg/Configurations/ImageDiff.xcconfig:
* MiniBrowser/Configurations/MiniBrowser.xcconfig:
* MobileMiniBrowser/Configurations/MobileMiniBrowser.xcconfig:
* TestWebKitAPI/Configurations/TestWTF.xcconfig:
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
2019-06-10 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] fast/xsl tests are flaky when run after certain viewport shrink-to-fit tests
https://bugs.webkit.org/show_bug.cgi?id=198699
<rdar://problem/50501718>
Reviewed by Simon Fraser.
Add logic to platformResetPreferencesToConsistentValues, to reset the "ShouldIgnoreMetaViewport" preference.
While this is already being adjusted in platformConfigureViewForTest using the correct, TestOptions, this might
happen too late, allowing the shrink-to-fit-content heuristic to unexpectedly kick in on tests where testing
viewport parameters are used.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
(WTR::TestController::platformConfigureViewForTest):
2019-06-10 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] UnlinkedCodeBlock should be eventually jettisoned in VM mini mode
https://bugs.webkit.org/show_bug.cgi?id=198023
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests:
2019-06-10 Timothy Hatcher <timothy@apple.com>
Integrate dark mode support for iOS.
https://bugs.webkit.org/show_bug.cgi?id=198687
rdar://problem/51545643
Reviewed by Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-06-10 Jonathan Bedard <jbedard@apple.com>
webkitpy: xcrun simctl spawn *** launchctl print system output is not utf-8
https://bugs.webkit.org/show_bug.cgi?id=198723
Reviewed by Aakash Jain.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.is_usable): Do not decode 'print system' output, it's already ASCII.
2019-06-10 Sihui Liu <sihui_liu@apple.com>
[WKHTTPCookieStore getAllCookies:] may return duplicate cookies
https://bugs.webkit.org/show_bug.cgi?id=198635
<rdar://problem/46010232>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(areCookiesEqual):
(TEST):
2019-06-10 Adrian Perez de Castro <aperez@igalia.com>
[JHBuild] Bump shared-mime-info to version ≥ 1.6
https://bugs.webkit.org/show_bug.cgi?id=198714
Reviewed by Carlos Garcia Campos.
* gtk/jhbuild.modules: Bump shared-mime-info version to 1.10.
* gtk/patches/shared-mime-info-xht-glob.patch: Removed.
* gtk/patches/shared-mime-info-xhtml-magic.patch: Removed.
2019-06-10 Philippe Normand <pnormand@igalia.com>
[WPE][Qt] Port to new wpe_fdo_egl_exported_image API
https://bugs.webkit.org/show_bug.cgi?id=198713
Reviewed by Carlos Garcia Campos.
* flatpak/org.webkit.WPEModules.yaml: Include wpebackend-fdo
patches currently used in JHBuild.
2019-06-10 Adrian Perez de Castro <aperez@igalia.com>
[GTK][Flatpak] webkit-build fails due to missing libwpe in Flatpak environment
https://bugs.webkit.org/show_bug.cgi?id=198711
Reviewed by Philippe Normand.
* flatpak/org.webkit.GTK.yaml: Also include modules from
org.webkit.WPEModules.yaml, which brings in libwpe and WPEBackend-fdo
2019-06-10 Zan Dobersek <zdobersek@igalia.com>
Unreviewed follow-up to r246148. Add another WPEBackend-fdo patch that
avoids double-free condition that's causing bots to exit early.
* gtk/jhbuild.modules:
* gtk/wpebackend-fdo-view-backend-exportable-private-don-t-double-free-ca.patch: Added.
* wpe/jhbuild.modules:
* wpe/wpebackend-fdo-view-backend-exportable-private-don-t-double-free-ca.patch: Added.
2019-06-09 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][MiniBrowser] Disable MediaCapabilities until it's ready
https://bugs.webkit.org/show_bug.cgi?id=198655
Reviewed by Ross Kirsling.
MediaCapabilities is enabled by default for WK2, but WinCairo
doesn't implemented yet. Disable it in MiniBrowser.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::create):
2019-06-08 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] The default application name for user agent when requesting desktop content is still "Mobile/15E148"
https://bugs.webkit.org/show_bug.cgi?id=198693
<rdar://problem/51555371>
Reviewed by Tim Horton.
Augment an existing API test to exercise three additional scenarios:
- The web view configuration's application name is never set; the default should not include
"Mobile/15E148" in desktop mode.
- The application name is explicitly set to nil; the default application name should still not include
"Mobile/15E148".
- The application name is explicitly set to the default value, "Mobile/15E148". WKWebView should honor
this when generating the user agent, even in desktop mode.
* TestWebKitAPI/ios/PreferredContentMode.mm:
(TestWebKitAPI::setUpWebViewForPreferredContentModeTestingWithoutNavigationDelegate):
(TestWebKitAPI::setUpWebViewForPreferredContentModeTesting):
(TestWebKitAPI::TEST):
2019-06-08 Zalan Bujtas <zalan@apple.com>
[LFC] Unreviewed test gardening.
Remove rtl tests. They were mistakenly marked as pass.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-06-07 Said Abou-Hallawa <sabouhallawa@apple.com>
REGRESSION (r244182) [WK1]: Page updates should always scheduleCompositingLayerFlush() immediately
https://bugs.webkit.org/show_bug.cgi?id=198664
Reviewed by Simon Fraser.
Delete repeated entries which were submitted by mistake.
* Tracing/SystemTracePoints.plist:
2019-06-07 Wenson Hsieh <wenson_hsieh@apple.com>
Allow clients to vend custom -inputView and -inputAccessoryView by overriding WKWebView methods
https://bugs.webkit.org/show_bug.cgi?id=198631
<rdar://problem/51505431>
Reviewed by Tim Horton.
Add an API test that overrides -[WKWebView inputView] and -[WKWebView inputAccessoryView].
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(-[CustomInputWebView initWithFrame:configuration:inputView:inputAccessoryView:]):
(-[CustomInputWebView inputView]):
(-[CustomInputWebView inputAccessoryView]):
(TestWebKitAPI::TEST):
2019-06-07 Daniel Bates <dabates@apple.com>
[lldb-webkit] Pretty-print all kinds of Documents
https://bugs.webkit.org/show_bug.cgi?id=198620
Reviewed by Simon Fraser.
Register formatters for all classes derived from WebCore::Document so we get nice summaries
without having to drill down in Xcode- or casting- to the base class, Document.
Older LLDB versions use to do this automatically, but this functionality was removed in newer
versions:
[[
Warning: previous versions of LLDB defined cascading to mean not only going through typedef
chains, but also through inheritance chains. This feature has been removed since it
significantly degrades performance. You need to set up your formatters for every type in
inheritance chains to which you want the formatter to apply.
]]
<https://lldb.llvm.org/use/variable.html> (as of 06/06/2019)
* lldb/lldb_webkit.py:
(__lldb_init_module):
2019-06-07 Jonathan Bedard <jbedard@apple.com>
webkitpy: Support reporting results for uncommon test configurations
https://bugs.webkit.org/show_bug.cgi?id=198662
<rdar://problem/51524128>
Reviewed by Aakash Jain.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Override wk1 and wk2 flavors with specified flavor.
* Scripts/webkitpy/port/base.py:
(Port.configuration_for_upload): Set flavor based on options.
* Scripts/webkitpy/results/options.py:
(upload_options): Add result-report-flavor option.
* Scripts/webkitpy/test/main.py:
(Tester._run_tests): Set flavor based on options.
2019-06-07 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] At least 6 API tests are failing due to an exception when writing NSAttributedString to the pasteboard
https://bugs.webkit.org/show_bug.cgi?id=198641
<rdar://problem/51266310>
Reviewed by Tim Horton.
Work around a bug in a lower-level framework, which currently prevents NSAttributedStrings from being written to
UIPasteboard by way of -[NSItemProvider registerObject:visibility:]. This is because, when saving a
representation of "public.rtfd" to disk, the default suggested filename (determined using CoreServices APIs
_UTTypeCreateSuggestedFilename and UTTypeCopyDescription) ends up being nil; UIKit then subsequently tries to
append nil as a path component using -URLByAppendingPathComponent:, which throws an exception. This only
reproduces on iOS simulator.
To work around this for the time being, simply avoid writing a representation of "public.rtfd" to disk. This
representation is actually ignored by most clients anyways (including WebKit), in favor of using
"com.apple.flat-rtfd".
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(applyWorkaroundToAllowWritingAttributedStringsToItemProviders):
(-[TestWKWebView initWithFrame:configuration:addToWindow:]):
2019-06-06 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r244857): [GTK][WPE] Many tests are no longer run in the bots after r244857
https://bugs.webkit.org/show_bug.cgi?id=198607
Reviewed by Michael Catanzaro.
Since r244857 several test executables are compiled in the base tests directory instead of using their own sub
directory. Our scripts to run the tests rely on the tests location to decide whether to run them or not, or
determine the type of the tests.
* Scripts/run-gtk-tests:
(GtkTestRunner): Rename TEST_DIRS as TEST_TARGETS and use the executable names for tests not in a subdirectory.
(GtkTestRunner._setup_testing_environment): Fix TestWebKitAccessibility directory name.
(GtkTestRunner.is_glib_test): Use the test name for the ones not using a subdirectory.
(GtkTestRunner.is_google_test): Ditto.
* Scripts/run-wpe-tests:
(WPETestRunner): Rename TEST_DIRS as TEST_TARGETS and use the executable names for tests not in a subdirectory.
(WPETestRunner.is_glib_test): Use the test name for the ones not using a subdirectory.
(WPETestRunner.is_google_test): Ditto.
* glib/api_test_runner.py:
(TestRunner): Rename TEST_DIRS as TEST_TARGETS.
(TestRunner._get_tests): Handle test targets which can now contain directories and executables.
2019-06-06 Keith Rollin <krollin@apple.com>
Remove SSL-based tests from TestWebKitAPI on some configurations
https://bugs.webkit.org/show_bug.cgi?id=198551
<rdar://problem/51424996>
Reviewed by Jonathan Bedard.
Not all platforms have SSL handy, so don't include SSL-based tests on
those platforms.
* TestWebKitAPI/TCPServer.cpp:
* TestWebKitAPI/TCPServer.h:
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
* TestWebKitAPI/config.h:
2019-06-06 Daniel Bates <dabates@apple.com>
[lldb-webkit] TypeError: cannot concatenate 'str' and 'int' objects when prettify SecurityOrigin with
non-default port number
https://bugs.webkit.org/show_bug.cgi?id=198618
Reviewed by Brent Fulgham.
WebCoreSecurityOriginProvider.port() returns an int data type. We need to explicitly convert this to
a string before we concatenate it with another string when building the string representation
for the WebCore::SecurityOrigin object. Otherwise, Python complains that we are concatenating a str
with an int and we don't get a pretty-printed representation for WebCore::SecurityOrigin.
* lldb/lldb_webkit.py:
(WebCoreSecurityOriginProvider.to_string): Call str() on the port before concatenting it.
2019-06-06 Jonathan Bedard <jbedard@apple.com>
Remove obsolete TOOLCHAINS overrides from as asan.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=198613
Reviewed by Alexey Proskuryakov.
* asan/asan.xcconfig: XCBuild doesn't support overriding toolchains.
2019-06-06 Jonathan Bedard <jbedard@apple.com>
webkitpluginhost: Support ASan as a style
https://bugs.webkit.org/show_bug.cgi?id=198586
<rdar://problem/51459088>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/port/base.py:
(Port.configuration_for_upload): Add ASan as a style.
* Scripts/webkitpy/port/config.py:
(Config._read_configuration):
(Config):
(Config.asan): Add property to check if the ASan configuration is active.
* Scripts/webkitpy/port/config_unittest.py:
(ConfigTest.test_default_configuration__scripterror):
(ConfigTest):
(ConfigTest.test_asan):
* Scripts/webkitpy/test/main.py:
(Tester._run_tests): Add Asan as a style.
2019-06-06 Alexey Proskuryakov <ap@apple.com>
block-spammers tool doesn't block e-mail
https://bugs.webkit.org/show_bug.cgi?id=198570
Reviewed by Jonathan Bedard.
* Scripts/block-spammers: (disable_user): Corrected the parameters, Bugzilla doesn't
recognize "false" here. Also, request body is unnecessary.
2019-06-06 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Enable PSON
https://bugs.webkit.org/show_bug.cgi?id=194979
Reviewed by Žan Doberšek.
Add WPEBackend-fdo patch required for PSON to work. It can be removed once we have a new version to depend on.
* gtk/jhbuild.modules:
* gtk/patches/wpebackend-fdo-Handle-the-case-of-new-target-created-for-the-same-v.patch: Added.
* wpe/jhbuild.modules:
* wpe/patches/wpebackend-fdo-Handle-the-case-of-new-target-created-for-the-same-v.patch: Added.
2019-06-05 Andy Estes <aestes@apple.com>
[macOS] Stop calling -[NSDraggingItem setItem:]
https://bugs.webkit.org/show_bug.cgi?id=198588
<rdar://problem/48297453>
On macOS Catalina, use -[NSDraggingItem _initWithItem:] instead.
Reviewed by Wenson Hsieh.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Fixed up file paths in the
TestRunnerShared group.
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
(-[DumpRenderTreeDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
Changed to call -[NSDraggingItem _initWithItem:] when available.
* TestRunnerShared/spi/AppKitTestSPI.h: Renamed from
Tools/DumpRenderTree/mac/AppKitTestSPI.h and moved NSDraggingItem internal interface
declarations here from DumpRenderTree.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Added TestRunnerShared/spi/AppKitTestSPI.h.
* TestWebKitAPI/mac/TestDraggingInfo.mm:
(-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
Changed to call -[NSDraggingItem _initWithItem:] when available.
2019-06-05 Jer Noble <jer.noble@apple.com>
-[WKWebView _suspendAllMediaPlayback] does not persist across navigation.
https://bugs.webkit.org/show_bug.cgi?id=198585
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSuspendAllMediaPlayback.mm: Added.
(TEST):
* TestWebKitAPI/Tests/WebKitLegacy/ios/video-with-audio.html:
2019-06-05 Alex Christensen <achristensen@webkit.org>
Re-enable safe browsing in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=196161
<rdar://problem/49171413>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
(safeBrowsingView):
== Rolled over to ChangeLog-2019-06-05 ==