blob: 3a72cba353643a3bc82002d0380b8ef3a10750df [file] [log] [blame]
2017-03-23 Carlos Alberto Lopez Perez <clopez@igalia.com>
buildbot: Fix mixing of tabs and spaces after r214172
https://bugs.webkit.org/show_bug.cgi?id=169793
Unreviewed.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests.evaluateCommand):
2017-03-22 Andy Estes <aestes@apple.com>
[Cocoa] Add an option to exclude overflow when snapshotting a WKWebProcessPlugInNodeHandle
https://bugs.webkit.org/show_bug.cgi?id=169991
<rdar://problem/30141083>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm: Added.
(-[RenderedImageWithOptionsObject didRenderImageWithSize:]):
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsPlugIn.mm: Added.
(-[RenderedImageWithOptionsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[RenderedImageWithOptionsPlugIn webProcessPlugInBrowserContextController:didFinishLoadForFrame:]):
* TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsProtocol.h: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/rendered-image-excluding-overflow.html: Added.
2017-03-22 Matt Rajca <mrajca@apple.com>
Only run volume-related autoplay policy tests on Mac.
https://bugs.webkit.org/show_bug.cgi?id=169969
Reviewed by Alex Christensen.
iOS does not support volume changes to media elements so these tests are timing out.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST):
2017-03-22 Carlos Alberto Lopez Perez <clopez@igalia.com>
[Linux] determineArchitecture is not cross-compile aware
https://bugs.webkit.org/show_bug.cgi?id=169886
Reviewed by Michael Catanzaro.
Try to detect the target architecture name from the GCC triplet
when cross-building.
The aarch64 architecture is renamed to arm64 (this is coherent with
the rest of the perl tooling that consults the architecture determined
in determineArchitecture(), the check for this arch is always done
with the arm64 name).
* Scripts/webkitdirs.pm: Remove the isARM() function: its dead code
and not cross-build aware.
(determineArchitecture): When crossbuilding, try to detect the target
architecture name from the GCC triplet.
Remove also the fallback option to run the arch command, because this
command doesn't print the expected on Mac/BSD, and on Linux is the
same than uname -m. See https://bugs.webkit.org/show_bug.cgi?id=152958#c6
(isCrossCompilation): Some cross-compilers (buildroot one for example)
don't define the --host option. Add another option to detect that
we are cross-building by building a dummy program and checking if
we can run it.
2017-03-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Several WPT tests are failing since they were added in the last update in r213882
https://bugs.webkit.org/show_bug.cgi?id=169915
Reviewed by Michael Catanzaro.
Add libsoup patch to not fail loads when there's no empty line after the headers in responses with no body.
* gtk/jhbuild.modules:
* gtk/patches/libsoup-soup-message-io-Do-not-fail-when-there-s-no-empty-li.patch: Added.
2017-03-20 Matt Rajca <mrajca@apple.com>
Loosen audio playback restrictions when the volume is 0.
https://bugs.webkit.org/show_bug.cgi?id=169897
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/autoplay-zero-volume-check.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST):
2017-03-21 Aakash Jain <aakash_jain@apple.com>
EWS fails to parse_bug_id_from_attachment_page after bugzilla upgrade
https://bugs.webkit.org/show_bug.cgi?id=169937
<rdar://problem/31181859>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla._parse_bug_id_from_attachment_page): Since rel tag is no longer present, parsing the bug id from bug_title.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: Fixed unit test.
2017-03-21 Aakash Jain <aakash_jain@apple.com>
ews should indicate in logs when it fails to parse_bug_id_from_attachment_page
https://bugs.webkit.org/show_bug.cgi?id=169927
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla._parse_bug_id_from_attachment_page): Added log statement.
2017-03-20 Simon Fraser <simon.fraser@apple.com>
Add a system trace point for memory warning handling
https://bugs.webkit.org/show_bug.cgi?id=169893
Reviewed by Zalan Bujtas.
Describe the new trace points.
* Tracing/SystemTracePoints.plist:
2017-03-20 Alex Christensen <achristensen@webkit.org>
WebPageProxy DecidePolicyForNavigationAction and DecidePolicyForResponseSync should be Delayed reply messages
https://bugs.webkit.org/show_bug.cgi?id=167183
<rdar://problem/30203539>
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(-[WebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
2017-03-20 Jonathan Bedard <jbedard@apple.com>
webkitpy: Work around simctl launch returning dead processes
https://bugs.webkit.org/show_bug.cgi?id=169878
Reviewed by Daniel Bates.
simctl launch will sometimes give the PID of a process which has just been terminated.
To work around this, we will always check if the returned PID is of a process which is
still running.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.Popen.__init__): Accept device argument.
(SimulatorProcess.Popen.poll): Call device.poll().
(SimulatorProcess._start): Pass device into Popen object.
* Scripts/webkitpy/xcode/device.py:
(Device.poll): Added.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.install_app): Change attempts to timeout.
(SimulatedDevice.launch_app): Check that the process being returned is active, use a
timeout instead of attempts.
(SimulatedDevice):
(SimulatedDevice.poll): Added.
2017-03-20 Jonathan Bedard <jbedard@apple.com>
buildbot: run-webkit-tests should display test failures and run exceptions differently
https://bugs.webkit.org/show_bug.cgi?id=169793
<rdar://problem/30987863>
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests.evaluateCommand): Return EXCEPTION when run-webkit-tests returns with a code of 254.
2017-03-17 Michael Saboff <msaboff@apple.com>
Use USE_INTERNAL_SDK to compute ENABLE_FAST_JIT_PERMISSIONS instead of HAVE_INTERNAL_SDK
https://bugs.webkit.org/show_bug.cgi?id=169817
Reviewed by Filip Pizlo.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-03-16 Simon Fraser <simon.fraser@apple.com>
Improve the system tracing points
https://bugs.webkit.org/show_bug.cgi?id=169790
Reviewed by Zalan Bujtas.
Use a more cohesive set of system trace points that give a good overview of what
WebKit is doing. Added points for resource loading, render tree building, sync messages
to the web process, async image decode, WASM and fetching cookies.
* Tracing/SystemTracePoints.plist:
2017-03-16 Youenn Fablet <youenn@apple.com>
Wrap legacy WebRTC API in runtime flag
https://bugs.webkit.org/show_bug.cgi?id=169646
Reviewed by Alex Christensen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebRTCLegacyAPIEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-03-16 Brady Eidson <beidson@apple.com>
Update the WKHTTPCookieStore API to be simpler and add observers.
<rdar://problem/31096000> and https://bugs.webkit.org/show_bug.cgi?id=169776
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStorage.mm.
(-[CookieObserver cookiesDidChangeInCookieStore:]):
(TEST): Also test delete and observers.
2017-03-16 Kocsen Chung <kocsen_chung@apple.com>
Fix quotes around --pretty format git flag.
https://bugs.webkit.org/show_bug.cgi?id=169712
Reviewed by Ryosuke Niwa.
Remove double quotes from command list element '--pretty="format:%ct"' since it will cause
subprocess to not work as expected.
Additionally, take advantage of `git -C` flag.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.native_revision):
Take advantage of `git -C` flag.
(Git.timestamp_of_native_revision):
Take advantage of `git -C` flag and remove double quotes from git formatter.
We know this works from `committer_email_for_revision()` function.
2017-03-16 Alex Christensen <achristensen@webkit.org>
Clean up WKContentExtension API
https://bugs.webkit.org/show_bug.cgi?id=169772
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
(TEST_F):
(-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2017-03-16 Jonathan Bedard <jbedard@apple.com>
webktpy: Fix device regular expression for parsing simctl output
https://bugs.webkit.org/show_bug.cgi?id=169757
Reviewed by Alex Christensen.
If a device is unavailable, the changes in r213164 mean that the
name of the device will consume the UDID and return the state as
the device UDID and the availability string as the device state.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator): Make UDID regular expression more strict.
* Scripts/webkitpy/xcode/simulator_unittest.py: Test an unavailable device.
2017-03-15 Tim Horton <timothy_horton@apple.com>
Null deref under callAfterNextPresentationUpdate
https://bugs.webkit.org/show_bug.cgi?id=169710
<rdar://problem/30987863>
Reviewed by Simon Fraser.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm: Added.
(TEST):
2017-03-15 Chris Dumez <cdumez@apple.com>
Document state (e.g. form data) is lost after a tab is terminated in the background for power reasons
https://bugs.webkit.org/show_bug.cgi?id=169635
<rdar://problem/31046729>
Reviewed by Andreas Kling.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/mac/RestoreStateAfterTermination.mm: Added.
(TestWebKitAPI::runJavaScriptAlert):
(TestWebKitAPI::didFinishLoad):
(TestWebKitAPI::didCrash):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/simple-form.html:
2017-03-15 Alex Christensen <achristensen@webkit.org>
Compiled content extensions should include the JSON source
https://bugs.webkit.org/show_bug.cgi?id=169643
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
(TEST_F):
2017-03-15 Kocsen Chung <kocsen_chung@apple.com>
Use git's -C flag when possible in VCSUtils.pm
https://bugs.webkit.org/show_bug.cgi?id=169003
Reviewed by Sam Weinig.
Use the git -C flag where appropriate to perform the
operation on a target directory and avoid unnecessary logic
to `cd` in and out of the target directory.
* Scripts/VCSUtils.pm:
(isGitDirectory):
(isGitSVNDirectory):
(svnRevisionForDirectory):
(svnInfoForPath):
For all four subroutines, use git's -C flag and strip `cd` logic.
2017-03-14 Aakash Jain <aakash_jain@apple.com>
start-queue-mac.sh should create logs directory if it doesn't exist
https://bugs.webkit.org/show_bug.cgi?id=169634
Reviewed by Alexey Proskuryakov.
* EWSTools/start-queue-mac.sh: Creating logs directory if it doesn't exist.
2017-03-14 Andy Estes <aestes@apple.com>
[iOS] -[WKWebView _dataForDisplayedPDF] returns nil when called before an encrypted PDF has been unlocked
https://bugs.webkit.org/show_bug.cgi?id=169653
<rdar://problem/24137675>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/encrypted.pdf: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFView.mm: Added.
(runTest):
(TEST):
2017-03-14 Brady Eidson <beidson@apple.com>
Rename WKHTTPCookieStorage to WKHTTPCookieStore.
https://bugs.webkit.org/show_bug.cgi?id=169630
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStorage.mm:
(TEST):
2017-03-14 Jonathan Bedard <jbedard@apple.com>
webkitpy: Efficient app installation for device testing
https://bugs.webkit.org/show_bug.cgi?id=169054
<rdar://problem/30790207>
Reviewed by Daniel Bates.
We should only install an app on a device once, not every time the app is run.
Move app installation to setup.
* Scripts/webkitpy/port/ios.py:
(IOSPort.setup_test_run): Install app to device.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.__init__): Remove app installation.
2017-03-14 Fujii Hironori <Hironori.Fujii@sony.com>
Nwtr ignores ImageDiff's errors for ref tests
https://bugs.webkit.org/show_bug.cgi?id=168033
Reviewed by Alexey Proskuryakov.
Nwtr checks ImageDiff's errors only for pixel tests, but for ref
tests. Those errors of ref tests also should be checked.
In the current implementation of expected mismatch ref tests,
diff_image was called if the image hashes match. This is useless
because two images are ensured identical in that case. Calling
image_hash is considered unnecessary for expected mismatch ref
tests. Do not call diff_image for them.
As the result, check the error only for expected match ref tests.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_image): Rename a variable 'err_str' to 'error_string'.
(SingleTestRunner._compare_output_with_reference): Do not call
diff_image for expected mismatch ref tests. Check the error and
marked the test failed for expected match ref tests.
2017-03-14 Brady Eidson <beidson@apple.com>
REGRESSION (r213877): WebKit2.CookieManager fails.
https://bugs.webkit.org/show_bug.cgi?id=169581
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Reenable the test.
2017-03-14 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] Data interaction tests occasionally hit assertions in debug builds
https://bugs.webkit.org/show_bug.cgi?id=169002
<rdar://problem/30994806>
Reviewed by Tim Horton.
Reenables and refactors data interaction tests.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _resetSimulatedState]):
(-[DataInteractionSimulator runFrom:to:]):
(-[DataInteractionSimulator _advanceProgress]):
2017-03-13 Brady Eidson <beidson@apple.com>
REGRESSION (r213877): WebKit2.CookieManager fails.
https://bugs.webkit.org/show_bug.cgi?id=169581
Unreviewed gardening
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Skip for now until I can fix.
2017-03-14 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Clean up RunLoop and WorkQueue with Seconds and Function
https://bugs.webkit.org/show_bug.cgi?id=169537
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WTF/Time.cpp:
(TestWebKitAPI::TEST):
2017-03-13 Brady Eidson <beidson@apple.com>
WKWebView provides no access to cookies.
https://bugs.webkit.org/show_bug.cgi?id=140191
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2017-03-13 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] install-dependencies needs to install Perl CGI modules on Debian based distros
https://bugs.webkit.org/show_bug.cgi?id=169563
Reviewed by Michael Catanzaro.
* gtk/install-dependencies:
2017-03-13 Devin Rousso <webkit@devinrousso.com>
Unreviewed, fix accidental comma.
* Scripts/webkitpy/common/config/contributors.json:
2017-03-13 Devin Rousso <webkit@devinrousso.com>
Unreviewed, change my email.
* Scripts/webkitpy/common/config/contributors.json:
2017-03-13 Anders Carlsson <andersca@apple.com>
Fix build warnings.
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate openDocument:]):
* MiniBrowser/mac/ExtensionManagerWindowController.m:
(-[ExtensionManagerWindowController add:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
2017-03-13 Martin Robinson <mrobinson@igalia.com>
Remove my email from some of the watchlists
https://bugs.webkit.org/show_bug.cgi?id=169541
Reviewed by Manuel Rego Casasnovas.
* Scripts/webkitpy/common/config/watchlist: Remove my name from some lists.
2017-03-13 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Clean up RunLoop and WorkQueue with Seconds and Function
https://bugs.webkit.org/show_bug.cgi?id=169537
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
(TestWebKitAPI::TEST):
2017-03-13 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] Remove dead code from previous autotools build in build-jsc
https://bugs.webkit.org/show_bug.cgi?id=169555
Reviewed by Carlos Garcia Campos.
* Scripts/build-jsc:
(buildMyProject):
2017-03-13 Carlos Garcia Campos <cgarcia@igalia.com>
MiniBrowser: a tab closed from javascript always closes the window
https://bugs.webkit.org/show_bug.cgi?id=169415
Reviewed by Michael Catanzaro.
When I implemented tabs support in MiniBrowser I forgot about web view close. We connect to the signal (only for
the active tab) and close the window. That worked when we didn't have tabs, but now we should close the tab, or
the window if it's the last tab.
* MiniBrowser/gtk/BrowserWindow.c:
(webViewClose): Destroy the window if therte's only one tab, otherwise search for the tab corresponding to the web
view and destroy it.
(browserWindowSwitchTab): Re-connect to close signal, we want to handle close on all tabs.
2017-03-11 Said Abou-Hallawa <sabouhallawa@apple.com>
Enable async image decoding for large images
https://bugs.webkit.org/show_bug.cgi?id=165039
Reviewed by Simon Fraser.
Disable LargeImageAsyncDecoding for DRT/WTR.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-03-10 Alex Christensen <achristensen@webkit.org>
Fix watch and tv builds after r213294
https://bugs.webkit.org/show_bug.cgi?id=169508
Reviewed by Dan Bernstein.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-03-10 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
checkpatchrelevance: Exception message is printed twice due to ScriptError handler
https://bugs.webkit.org/show_bug.cgi?id=169496
Unreviewed fix.
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Add --quiet flag to expected logs.
2017-03-10 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
checkpatchrelevance: Exception message is printed twice due to ScriptError handler
https://bugs.webkit.org/show_bug.cgi?id=169496
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchAnalysisTask._check_patch_relevance): Pass --quiet flag.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance.options): Accept options.quiet to prevent duplicate output to stdout.
2017-03-10 Ryan Haddad <ryanhaddad@apple.com>
Add new EWS queues to bot watcher's dashboard.
https://bugs.webkit.org/show_bug.cgi?id=169485
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer): Add Bindings and JSC EWS queues.
2017-03-10 Andy Estes <aestes@apple.com>
Skip an API test that isn't expected to pass on iOS 10.
* TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:
2017-03-10 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
Add bindings-ews to queue status server
https://bugs.webkit.org/show_bug.cgi?id=169307
Reviewed by Alexey Proskuryakov.
* QueueStatusServer/config/queues.py: Add "bindings-ews" to the list of ewses.
2017-03-10 Andy Estes <aestes@apple.com>
[QuickLook] Add WKNavigationDelegate SPI to notify when a password is requested
https://bugs.webkit.org/show_bug.cgi?id=169459
<rdar://problem/30621913>
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:
(runTest):
(TEST):
(-[QuickLookPasswordNavigationDelegate _webViewDidRequestPasswordForQuickLookDocument:]):
2017-03-10 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
Add support for Bindings EWS
https://bugs.webkit.org/show_bug.cgi?id=169308
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/ews.json: Add bindings-ews. Can test without building; should_build = False.
* Scripts/webkitpy/common/net/bindingstestresults.py:
(BindingsTestResults.__init__): Removed 'errors'.
(BindingsTestResults.results_from_string): Ditto.
(BindingsTestResults.is_subset): Ditto.
(BindingsTestResults.equals): Ditto.
(BindingsTestResults.all_passed): Ditto.
(BindingsTestResults.failing_tests): Ditto.
* Scripts/webkitpy/common/net/bindingstestresults_unittest.py:
(BindingsTestResultsTest.test_results_from_string): Removed 'errors'.
(BindingsTestResultsTest.test_results_from_string_success): Removed 'errors'.
* Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
(EarlyWarningSystemTask.__init__): Add should_build parameter.
(EarlyWarningSystemTask.run): Check should_build before calling self._build().
* Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Renamed from Tools/Scripts/webkitpy/tool/bot/jscews_unittest.py.
(MockBindingsEarlyWarningSystem): Based of MockJSCEarlyWarningSystem. Mocked so we can provide test results.
(MockBindingsEarlyWarningSystem.__init__): Sets attributes.
(MockBindingsEarlyWarningSystem.test_results): Returns test results provided by us, instead of JSON output.
(BindingsEarlyWarningSystemTest): Class to test retry logic in below situations.
(BindingsEarlyWarningSystemTest._results_indicate_all_passed): False if None or or has failures, else True.
(BindingsEarlyWarningSystemTest._create_task):
(BindingsEarlyWarningSystemTest.test_success_case): Clean patch on clean tree.
(BindingsEarlyWarningSystemTest.test_test_failure): Red patch on clean tree.
(BindingsEarlyWarningSystemTest.test_fix): Clean patch on red tree.
(BindingsEarlyWarningSystemTest.test_ineffective_patch): Red patch on red tree.
(BindingsEarlyWarningSystemTest.test_partially_effective_patch): Red patch on redder tree.
(BindingsEarlyWarningSystemTest.test_different_test_failures_in_patch_and_tree): Red patch on red tree.
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchAnalysisTask._build_and_test_without_patch): Don't build if should_build is False (eg. on Bindings EWS).
(PatchAnalysisTask._retry_bindings_tests): Retry logic for Bindings tests.
(PatchAnalysisTask._test_patch): If tests failed on Bindings EWS, and call _retry_bindings_tests.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.begin_work_queue): Use BindingsTestResultsReader on Bindings EWS.
(AbstractEarlyWarningSystem._create_task): Pass should_build argument.
(AbstractEarlyWarningSystem.load_ews_classes): Add should_build argument (True by default).
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(TestBindingsEWS): Bindings EWS class, derived from AbstractEarlyWarningSystem.
(AbstractEarlyWarningSystemTest.test_failing_bindings_tests_message): Unit test message posted to Bugzilla.
(EarlyWarningSystemTest._default_expected_logs): Not building on all ewses anymore; make build line optional.
(EarlyWarningSystemTest.test_ews_name): Add bindings-ews.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance): Add bindings paths.
(CheckPatchRelevance._changes_are_relevant): Cleaner way to check if we should perform this step.
* Scripts/webkitpy/tool/steps/steps_unittest.py: Add unit tests for Bindings EWS patch relevance.
(test_patch_relevant_bindings): Test for patch relevant to bindings.
(test_patch_not_relevant_bindings): Test for patch not relevant to bindings.
2017-03-09 Simon Fraser <simon.fraser@apple.com>
[iOS WK2] Layer content blurry with nested perspective and transforms
https://bugs.webkit.org/show_bug.cgi?id=169457
rdar://problem/29879484
Reviewed by Tim Horton.
We set rasterizationScale on CALayers to the same values as contentsScale, to
avoid blurry layers when CA rasterizes, which often happens with nested perspective
transforms.
However, in UI-side compositing, if the page is not zoomed, we never applied the
rasterizationScale in the UI process. This happened because the PlatformCALayerRemote
constructor set m_properties.contentsScale, but did not set the dirty bit that
triggers the application of contentsScale and rasterizationScale in RemoteLayerTreePropertyApplier.
The fix is to set this dirty bit.
The rest of the changes are for testing. Internals now exposes layerIDForElement()
for returns an internal (non-stable-across-loads) layerID, which can be passed
to UIScriptController.propertiesOfLayerWithID() in the UI process, which inspects
the built layer (UIView) hierarchy. propertiesOfLayerWithID() returns a dictionary
which the test can dump as JSON, or pull values out of.
A few #pragma once cleanups also.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::propertiesOfLayerWithID):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::propertiesOfLayerWithID):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::propertiesOfLayerWithID):
2017-03-10 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r213618.
https://bugs.webkit.org/show_bug.cgi?id=169475
Suspect this is the cause of a large memory regression
(Requested by jonlee_ on #webkit).
Reverted changeset:
"Enable async image decoding for large images"
https://bugs.webkit.org/show_bug.cgi?id=165039
http://trac.webkit.org/changeset/213618
2017-03-09 Brian Nicholson <bnicholson@mozilla.com> and Alex Christensen <achristensen@webkit.org>
Expose public APIs for content filters
https://bugs.webkit.org/show_bug.cgi?id=150479
Reviewed by Brady Eidson and Geoff Garen.
Keep the existing tests to verify that I made the wrapper classes for the old SPI work correctly.
Add new identical tests for the new API are added with the new names.
We should keep both until we migrate from and remove the old SPI.
Enum error code values and strings have changed, but the API is source compatible.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm.
(WKUserContentExtensionStoreTest::SetUp):
(TEST_F):
(checkDomain):
(_WKUserContentExtensionStoreTest::SetUp): Deleted.
* TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm:
(checkDomain):
2017-03-09 Daniel Bates <dabates@apple.com>
Attempt to fix the WebKit2 test bots following <https://trac.webkit.org/changeset/213676>
(https://bugs.webkit.org/show_bug.cgi?id=169364)
Create new WebView with Credential Management enabled when the enableCredentialManagement
WebKitTestRunner option is specified.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::viewSupportsOptions):
2017-03-09 John Wilander <wilander@apple.com>
Resource Load Statistics: Remove statistics data as part of full website data removal
https://bugs.webkit.org/show_bug.cgi?id=169448
Reviewed by Alex Christensen.
This patch adds infrastructure for the new TestRunner function
statisticsClearInMemoryAndPersistentStore().
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsClearInMemoryAndPersistentStore):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-03-09 Dean Jackson <dino@apple.com>
WebGPU: Backend - Buffers
https://bugs.webkit.org/show_bug.cgi?id=169451
<rdar://problem/30959168>
Reviewed by Tim Horton.
Test for GPUBuffer object.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm: Added.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
* TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
2017-03-09 Daniel Bates <dabates@apple.com>
Guard Credential Management implementation behind a runtime enabled feature flag
https://bugs.webkit.org/show_bug.cgi?id=169364
<rdar://problem/30957425>
Reviewed by Brent Fulgham.
Add a new test option header, enableCredentialManagement, to DumpRenderTree/WebKitTestRunner
to enable Credential Management.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
2017-03-09 Anders Carlsson <andersca@apple.com>
Add delegate support to WebCore
https://bugs.webkit.org/show_bug.cgi?id=169427
Part of rdar://problem/28880714.
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-03-09 Alex Christensen <achristensen@webkit.org>
[Content Extensions] Introduce if-top-url and unless-top-url
https://bugs.webkit.org/show_bug.cgi?id=169433
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
Add tests for new functionality and new failure types.
2017-03-09 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
JSC EWS repeat the log message thrice about patch not being relevant
https://bugs.webkit.org/show_bug.cgi?id=169330
Reviewed by Chris Dumez.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance.run): Change log level to 'debug' to reduce stdout traffic.
2017-03-08 Matt Rajca <mrajca@apple.com>
Let clients control autoplay quirks with website policies.
https://bugs.webkit.org/show_bug.cgi?id=169390
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKit2/autoplay-check.html:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):
2017-03-09 Devin Rousso <dcrousso+webkit@gmail.com>
Unreviewed, change my status to be a WebKit reviewer
* Scripts/webkitpy/common/config/contributors.json:
2017-03-09 Jonathan Bedard <jbedard@apple.com>
Standardize device/simulator naming conventions
https://bugs.webkit.org/show_bug.cgi?id=169083
<rdar://problem/30810466>
Reviewed by Alexey Proskuryakov.
* Scripts/build-webkit: Document --ios-device and --simulator options.
* Scripts/package-root:
(usage): Ditto.
* Scripts/run-api-tests: Document --simulator option.
* Scripts/webkitdirs.pm:
(argumentsForConfiguration): Use --ios-device by default rather than --device.
(determineXcodeSDK): Parse --ios-device and --simulator options.
* Scripts/webkitpy/common/config/ews.json: Change port name from ios to ios-device.
* Scripts/webkitpy/common/config/ports.py: Ditto.
(DeprecatedPort.port):
(IOSPort): Change port name from ios to ios-device.
* Scripts/webkitpy/port/factory.py:
(platform_options): Add --simulator option.
(PortFactory): Update comment.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort): Change port name from ios to ios-device.
(IOSDevicePort.operating_system): Ditto.
2017-03-09 Jonathan Bedard <jbedard@apple.com>
webkitpy: Add unit test to prevent breakage of EWS
https://bugs.webkit.org/show_bug.cgi?id=169385
Reviewed by Alexey Proskuryakov.
Prevent <http://trac.webkit.org/changeset/213545> from happening in the future.
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(test_ews_name): Added.
2017-03-08 Dean Jackson <dino@apple.com>
WebGPU: Backend - Library and Functions
https://bugs.webkit.org/show_bug.cgi?id=169371
<rdar://problem/30928792>
Reviewed by Tim Horton.
Add tests for GPULibrary and GPUFunction.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::TEST): Deleted.
* TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm: Copied from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm: Copied from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPUTest.h: Copied from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm.
(TestWebKitAPI::GPU::librarySourceCode):
2017-03-08 Filip Pizlo <fpizlo@apple.com>
WTF should make it super easy to do ARM concurrency tricks
https://bugs.webkit.org/show_bug.cgi?id=169300
Reviewed by Mark Lam.
This vastly simplifies the consume API. The new API is thoroughly tested by being used
in the GC's guts. I think that unit tests are a pain to maintain, so we shouldn't have
them unless we are legitimately worried about coverage. We're not in this case.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Consume.cpp: Removed.
2017-03-08 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
Fix error/warning duplication in JSON bindings results
https://bugs.webkit.org/show_bug.cgi?id=169305
Reviewed by Alexey Proskuryakov.
The distinction between failures and errors is not meaningful, since all errors will also be failures.
As a result, we only need to keep track of failures.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.__init__): Remove errors.
(BindingsTests.detect_changes): Remove errors.
(BindingsTests.main): Remove errors.
2017-03-08 Yusuke Suzuki <utatane.tea@gmail.com>
[JSC] Add helpers to run Six Speed to run-jsc-benchmarks
https://bugs.webkit.org/show_bug.cgi?id=169351
Reviewed by Saam Barati.
This patch adds an ability to run six-speed microbenchmarks
from run-jsc-benchmarks by specifying six-speed directory in
arewefastyet repository.
While it is a collection of microbenchmarks, it is useful
to ensure that our ES6 optimization covers major use cases.
For the macrobenchmark, we already have ARES-6.
* Scripts/run-jsc-benchmarks:
2017-03-08 Sam Weinig <sam@webkit.org>
import-w3c-tests doesn't work with svn repositories.
https://bugs.webkit.org/show_bug.cgi?id=169190
Reviewed by Tim Horton.
The script assumed you had WebKit checked-out as a git repository, but
there was no reason for that.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.clone):
Add a class method to clone a repository which does not require
an existing checkout.
(Git.fetch):
(Git.checkout):
Add methods needed for test_downloader.py, so it doesn't have to use
the internal _run_git
* Scripts/webkitpy/w3c/test_downloader.py:
(TestDownloader.checkout_test_repository):
Switch to using Git.clone(), which doesn't require an existing git
directory, and then also adopt non private methods to fetch/checkout.
2017-03-08 John Wilander <wilander@apple.com>
Resource Load Statistics: Communicate to the network process which domains to partition
https://bugs.webkit.org/show_bug.cgi?id=169322
<rdar://problem/30768921>
Reviewed by Alex Christensen.
These changes add support for two new TestRunner functions:
- setCookieStoragePartitioningEnabled()
- statisticsFireShouldPartitionCookiesHandler()
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setCookieStoragePartitioningEnabled):
(WTR::TestRunner::statisticsFireShouldPartitionCookiesHandler):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsFireShouldPartitionCookiesHandler):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-03-08 Said Abou-Hallawa <sabouhallawa@apple.com>
Enable async image decoding for large images
https://bugs.webkit.org/show_bug.cgi?id=165039
Reviewed by Simon Fraser.
Disable LargeImageAsyncDecoding for DRT/WTR.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-03-08 Matt Rajca <mrajca@apple.com>
Add support for updating autoplay policies after a page has been loaded.
https://bugs.webkit.org/show_bug.cgi?id=169360
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2/autoplay-check.html:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST):
2017-03-08 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r213545.
iOS EWS broken by this change
Reverted changeset:
"Standardize device/simulator naming conventions"
https://bugs.webkit.org/show_bug.cgi?id=169083
http://trac.webkit.org/changeset/213545
2017-03-07 Kocsen Chung <kocsen_chung@apple.com>
Perf and layout test results should report using correct scm revision.
https://bugs.webkit.org/show_bug.cgi?id=169171
Reviewed by Ryosuke Niwa.
For accurate record keeping, perf test and layout test results should
report using the native scm revision as an identifier.
To do so we introduce a new scm functions:
`native_revision()` and `timestamp_of_native_revision()`.
The former is responsible for returning a git hash if scm.git or an
svn revision if scm.svn. The latter is responsible for retrieving the correct timestamp.
We also add the corresponding tests and a helper function `_most_recent_log_for_revision`.
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.run):
Drive-by indentation fix to adhere to WebKit style conventions.
(SCM.svn_revision):
Remove superfluous comment.
(SCM.native_revision):
Add new abstract function `native_revision` and make it a `_subclass_must_implement()`
as we want to closely mimic `svn_revision()` function due to their similar behavior.
(SCM.timestamp_of_native_revision):
Add new abstract function `timestamp_of_native_revision` to closely mimic `timestamp_of_revision`.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git._most_recent_log_for_revision):
New helper function similar to `_most_recent_log_matching` that is git hash friendly.
(Git.native_revision):
Implement new function `native_revision()`. Get the native_revision by running:
`git log -1 --pretty=format:%H`
and thus returning the latest git hash (in long format).
(Git.timestamp_of_native_revision):
Since perftestrunner and layout_test.controllers.manager use the new native_revision
function, we create a new native_revision timestamp retriever.
You will notice this uses a far more simplified way to retrieve UTC strict-ISO timestamp
than its non-native counterpart: `timestamp_of_revision()`.
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.native_revision):
Implement native_revision for SVN: simply return self.svn_revision()
(SVN.timestamp_of_native_revision):
Implement timestamp_of_native_revision for SVN: simply return self.timestamp_of_revision()
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(test_native_revision):
[SVN] Confirm that svn_revision == native_revision. And that native_revision returns 5.
Use '.' as the path parameter instead of svn_checkout_path to avoid violating pylint/E1101
and since we are guaranteed by test setUp to be in the correct SVN dir.
(GitTest.test_native_revision):
[Git] Confirm that `git rev-parse HEAD` is equal to newly implemented native_revision().
(GitSVNTest.test_native_revision):
[Git] Confirm that `git rev-parse HEAD` is equal to newly implemented native_revision().
(test_timestamp_of_native_revision):
Test new function `timestamp_of_native_revision`. Very similar fashion to
`test_timestamp_of_revision`.
* Scripts/webkitpy/common/checkout/scm/scm_mock.py:
(MockSCM.native_revision):
Add MockSCM.native_revision to behave like svn.py (default).
(MockSCM.test_native_revision):
Add MockSCM.test_native_revision to behave like its non-native counterpart.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.upload_results):
When iterating through a list of projects, make sure we use the project's new native revision.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(_generate_results_dict):
As per the FIXME in manager.py, we have duplicate code in perftestsrunner.py.
So make the same exact change here.
2017-03-07 Tim Horton <timothy_horton@apple.com>
Fix the TestWebKitAPI build
Rubber-stamped by Anders Carlsson.
* TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
(TestWebKitAPI::TEST_F):
Fix a new warning about default argument promotion and va_start by
making this a enum class.
2017-03-07 Dean Jackson <dino@apple.com>
Some platforms won't be able to create a GPUDevice
https://bugs.webkit.org/show_bug.cgi?id=169314
<rdar://problems/30907521>
Reviewed by Jon Lee.
Protect for the case where the hardware doesn't support Metal.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm:
(TestWebKitAPI::TEST):
2017-03-07 Maureen Daum <mdaum@apple.com>
Correctly check for an empty database file.
<rdar://problem/30542242> Removing Website Data not working (WebSQL directories being left behind)
https://bugs.webkit.org/show_bug.cgi?id=169256
Reviewed by Brady Eidson.
Add a test for DatabaseTracker::deleteDatabaseFileIfEmpty that verifies
that if we pass in an empty file it actually gets deleted.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Add TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp.
* TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Added.
(TestWebKitAPI::TEST):
2017-03-07 Alex Christensen <achristensen@webkit.org>
[URLParser] Fix file URLs that are just file:// and a Windows drive letter
https://bugs.webkit.org/show_bug.cgi?id=169242
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2017-03-07 Jonathan Bedard <jbedard@apple.com>
Standardize device/simulator naming conventions
https://bugs.webkit.org/show_bug.cgi?id=169083
<rdar://problem/30810466>
Reviewed by Alexey Proskuryakov.
* Scripts/build-webkit: Document --ios-device and --simulator options.
* Scripts/package-root:
(usage): Ditto.
* Scripts/run-api-tests: Document --simulator option.
* Scripts/webkitdirs.pm:
(argumentsForConfiguration): Use --ios-device by default rather than --device.
(determineXcodeSDK): Parse --ios-device and --simulator options.
* Scripts/webkitpy/common/config/ews.json: Change port name from ios to ios-device.
* Scripts/webkitpy/common/config/ports.py: Ditto.
(DeprecatedPort.port):
(IOSPort): Change port name from ios to ios-device.
* Scripts/webkitpy/port/factory.py:
(platform_options): Add --simulator option.
(PortFactory): Update comment.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort): Change port name from ios to ios-device.
(IOSDevicePort.operating_system): Ditto.
2017-03-07 Dean Jackson <dino@apple.com>
Add GPUDevice implementation and WebGPULayer
https://bugs.webkit.org/show_bug.cgi?id=169219
<rdar://problem/30879048>
Reviewed by Sam Weinig.
Test for WebCore's GPUDevice class.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm: Added.
(TestWebKitAPI::TEST):
2017-03-07 Alex Christensen <achristensen@webkit.org>
[Content Extensions] Rename "Domain" to "Condition" where appropriate
https://bugs.webkit.org/show_bug.cgi?id=169297
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::InMemoryCompiledContentExtension::create):
(TestWebKitAPI::TEST_F):
2017-03-07 Jonathan Bedard <jbedard@apple.com>
webkitpy: Refactor setup_test_run for IOSPort and IOSSimulator
https://bugs.webkit.org/show_bug.cgi?id=169220
<rdar://problem/30879645>
Reviewed by Daniel Bates.
Provide more specific port setup functions for iOS ports to allow more sharing of common code.
* Scripts/webkitpy/port/ios.py:
(IOSPort):
(IOSPort._create_devices): Added.
(IOSPort.setup_test_run): Shared iOS device setup code.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort._create_devices): Renamed from setup_test_run.
(IOSSimulatorPort.setup_test_run): Renamed as _create_devices.
2017-03-07 Anders Carlsson <andersca@apple.com>
Rewrite the DRT Pasteboard implementation to use UTIs and WTF types
https://bugs.webkit.org/show_bug.cgi?id=169289
Reviewed by Tim Horton.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard initWithName:]):
(-[LocalPasteboard name]):
(-[LocalPasteboard declareTypes:owner:]):
(isUTI):
(toUTI):
(-[LocalPasteboard addTypes:owner:]):
(-[LocalPasteboard changeCount]):
(-[LocalPasteboard types]):
(-[LocalPasteboard availableTypeFromArray:]):
(-[LocalPasteboard setData:forType:]):
(-[LocalPasteboard dataForType:]):
(-[LocalPasteboard writeObjects:]):
(-[LocalPasteboard dealloc]): Deleted.
2017-03-07 Myles C. Maxfield <mmaxfield@apple.com>
Add David Jonathan Ross to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=169265
Unreviewed.
David Jonathan Ross very kindly offered to create and contribute his Boxis font in r211060,
which is used for testing font variations.
* Scripts/webkitpy/common/config/contributors.json:
2017-03-07 Youenn Fablet <youennf@gmail.com>
W3C importer should be able to update the import expectations file
https://bugs.webkit.org/show_bug.cgi?id=168037
Reviewed by Ryosuke Niwa.
Changing import expectations from an array to a map.
Marking all test paths as import and updating import expectations file accordingly.
* Scripts/webkitpy/w3c/test_downloader.py:
(TestDownloader.__init__):
(TestDownloader._init_paths_from_expectations):
(TestDownloader):
(TestDownloader.update_import_expectations):
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.do_import):
* Scripts/webkitpy/w3c/test_importer_unittest.py:
2017-03-07 Philip Rogers <pdr@google.com>
Add pdr to the rendering watchlist
https://bugs.webkit.org/show_bug.cgi?id=167298
Reviewed by Andreas Kling.
* Scripts/webkitpy/common/config/contributors.json: Switch to pdr+autocc@chromium.org
* Scripts/webkitpy/common/config/watchlist: Add pdr to the rendering watchlist.
2017-03-07 Mario Sanchez Prada <mario@webkit.org>
Unreviewed. Removed myself from the Accessibility watch list
* Scripts/webkitpy/common/config/watchlist: Removed myself.
2017-03-06 Fujii Hironori <Hironori.Fujii@sony.com>
Add Fujii Hironori to contributor's list
https://bugs.webkit.org/show_bug.cgi?id=169261
Reviewed by Yusuke Suzuki.
Add myself to the contributor's lists so that my e-mail autocompletes for CC
* Scripts/webkitpy/common/config/contributors.json:
2017-03-06 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] Mark WTF_Lock.ContendedLongSection and WTF_WordLock.ContendedLongSection as slow.
Unreviewed test gardening.
The ContendedShortSection version of this tests were already marked as slow.
And the ContendedLongSection version takes more or less the same time to run.
They cause time outs on the bot sometimes.
* Scripts/run-gtk-tests:
(TestRunner):
2017-03-06 Michael Saboff <msaboff@apple.com>
Take advantage of fast permissions switching of JIT memory for devices that support it
https://bugs.webkit.org/show_bug.cgi?id=169155
Reviewed by Saam Barati.
Updated the Xcode config files to match what is in the JavaScriptCore ones.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-03-06 Lucas Forschler <lforschler@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=169234
torchmobile.com.cn is no longer a registered domain. These email addresses will bounce, so clean them up.
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/contributors.json:
2017-03-03 Matt Rajca <mrajca@apple.com>
Media: notify clients when the user never plays a media element that was prevented from auto-playing
https://bugs.webkit.org/show_bug.cgi?id=169150
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST): Added.
2017-03-06 Alex Christensen <achristensen@webkit.org>
Fix URLs relative to file URLs with paths beginning with Windows drive letters
https://bugs.webkit.org/show_bug.cgi?id=169178
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2017-03-06 Myles C. Maxfield <mmaxfield@apple.com>
Expand font-weight and font-stretch to take any number
https://bugs.webkit.org/show_bug.cgi?id=168889
Reviewed by Simon Fraser.
Migrate off old enum types.
* TestWebKitAPI/Tests/WebCore/FontCache.cpp:
(TestWebKitAPI::createPlatformFont):
(TestWebKitAPI::compareFonts):
(TestWebKitAPI::TEST_F):
2017-03-06 Yusuke Suzuki <utatane.tea@gmail.com>
[GTK][JSCOnly] Enable WebAssembly on Linux environment
https://bugs.webkit.org/show_bug.cgi?id=164032
Reviewed by Michael Catanzaro.
* Scripts/run-jsc-stress-tests:
Enable WASM tests.
* Scripts/webkitperl/FeatureList.pm:
Enable WebAssembly.
2017-03-04 Lucas Forschler <lforschler@apple.com>
Test commit against svn.webkit.org after SHA-1 cleanup.
Unreviewed.
2017-03-03 Dean Jackson <dino@apple.com>
Add WebGPU compile flag and experimental feature flag
https://bugs.webkit.org/show_bug.cgi?id=169161
<rdar://problem/30846689>
Reviewed by Tim Horton.
Add ENABLE_WEBGPU, an experimental feature flag, a RuntimeEnabledFeature,
and an InternalSetting.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebGL2Enabled):
(WTR::TestRunner::setWebGPUEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-03-03 Dean Jackson <dino@apple.com>
Add a script to synchronize FeatureDefines.xcconfig files
https://bugs.webkit.org/show_bug.cgi?id=169151
<rdar://problem/30841856>
Reviewed by Simon Fraser.
I got sick of manually copying the FeatureDefines.xcconfig
files, so I added a script to do it. As long as you
run this after you've edited one, it will take the most
recently updated and copy it to all the others.
* Scripts/sync-feature-defines: Added.
* Scripts/webkitpy/style/checkers/featuredefines.py:
(FeatureDefinesChecker.check): Export the list of files,
and give a suggestion to use the sync script.
2017-03-03 Alex Christensen <achristensen@webkit.org>
[URLParser] Fix file: as a relative file URL
https://bugs.webkit.org/show_bug.cgi?id=169122
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2017-03-02 Myles C. Maxfield <mmaxfield@apple.com>
Migrate font-stretch to use fixed-point values
https://bugs.webkit.org/show_bug.cgi?id=169107
Reviewed by Dean Jackson.
Update to new types.
* TestWebKitAPI/Tests/WebCore/FontCache.cpp:
(TestWebKitAPI::createPlatformFont):
2017-03-02 Brady Eidson <beidson@apple.com>
Update WKWebsiteDatastoreConfiguration SPI.
https://bugs.webkit.org/show_bug.cgi?id=169102
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
(-[WebsiteDataStoreCustomPathsMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
2017-03-02 Jer Noble <jer.noble@apple.com>
Sufficently large timeValue and timeScale arguments to MediaTime will cause wrapping in toTimeScale().
https://bugs.webkit.org/show_bug.cgi?id=169098
Reviewed by Keith Miller.
* TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):
2017-03-02 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
Add ability to read bindings test results
https://bugs.webkit.org/show_bug.cgi?id=169063
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/net/bindingstestresults.py: Added.
(BindingsTestResults): Conforms to the AbstractTestResults interface.
(BindingsTestResults.__init__): Constructor.
(BindingsTestResults.results_from_string): Generates BindingsTestResults object from JSON string.
(BindingsTestResults.is_subset): Compare failing tests in two BindingsTestResults objects.
(BindingsTestResults.equals): Checks if two BindingsTestResults objects contain the same failing test names.
(BindingsTestResults.all_passed): Return True if all bindings tests passed.
(BindingsTestResults.failing_tests): Returns a list of failing tests.
(BindingsTestResults.did_exceed_test_failure_limit): Always returns False, exists to conform to the interface.
* Scripts/webkitpy/common/net/bindingstestresults_unittest.py: Added.
(BindingsTestResultsTest): Class to test BindingsTestResults.
(BindingsTestResultsTest.test_results_from_string): Unit tests string -> BindingsTestResults conversion.
(BindingsTestResultsTest.test_results_from_string_success): Ditto, for success cases.
* Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Added.
(BindingsTestResultsReader): Conforms to the AbstractTestResultsReader interface.
(BindingsTestResultsReader.results): Reads the results file and returns a BindingsTestResults object.
2017-03-02 Aakash Jain <aakash_jain@apple.com>
Move stringMatchesWildcardString from WebKit2 to WebCore
https://bugs.webkit.org/show_bug.cgi?id=169065
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Moved StringUtilities.mm
* TestWebKitAPI/Tests/WebCore/StringUtilities.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit2/mac/StringUtilities.mm.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/mac/StringUtilities.mm: Removed.
2017-02-28 Matt Rajca <mrajca@apple.com>
Media: send "did interfere with playback" events when the user pauses an autoplaying element
https://bugs.webkit.org/show_bug.cgi?id=169006
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST): Added.
2017-03-02 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
Refactor test results classes in webkitpy to enable faster EWS iteration
https://bugs.webkit.org/show_bug.cgi?id=169053
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/net/abstracttestresults.py:
(AbstractTestResults): Import json for parse_json_string().
(AbstractTestResults.parse_json_string): Abstracted out from JSCTestResults.results_from_string().
* Scripts/webkitpy/common/net/abstracttestresults_unittest.py: Added.
(AbstractTestResultsTest): Class that tests AbstractTestResults.
(AbstractTestResultsTest.test_parse_json_string_invalid_inputs): Move unit tests from JSCTestResultsTest.
(AbstractTestResultsTest.test_parse_json_string_valid_input): Add a unit test for a success case.
* Scripts/webkitpy/common/net/jsctestresults.py:
(JSCTestResults.results_from_string): Call parse_json_string because it was abstracted out.
* Scripts/webkitpy/common/net/jsctestresults_unittest.py:
(JSCTestResultsTest.test_results_from_string): Remove JSON parsing unit tests, because they were moved.
* Scripts/webkitpy/tool/bot/abstracttestresultsreader.py: Added.
(AbstractTestResultsReader): Generic TestResultsReader with functions common to jsc, bindings etc.
(AbstractTestResultsReader.__init__): Moved from JSCTestResultsReader.__init__().
(AbstractTestResultsReader._read_file_contents): Moved from JSCTestResultsReader._read_file_contents().
(AbstractTestResultsReader.results): Stub.
* Scripts/webkitpy/tool/bot/jsctestresultsreader.py:
(JSCTestResultsReader): Now inherits from AbstractTestResultsReader.
(JSCTestResultsReader.__init__): Deleted.
(JSCTestResultsReader._read_file_contents): Deleted.
* Scripts/webkitpy/tool/bot/layouttestresultsreader.py:
(LayoutTestResultsReader): Now inherits from AbstractTestResultsReader.
2017-03-02 Alex Christensen <achristensen@webkit.org>
Continue enabling WebRTC
https://bugs.webkit.org/show_bug.cgi?id=169056
Reviewed by Jon Lee.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-03-02 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r213281.
This change caused API test WebKit2.UserMediaBasic to time
out.
Reverted changeset:
"[MediaStream] UIClient may not be notified of capture state
change when leaving a page"
https://bugs.webkit.org/show_bug.cgi?id=169014
http://trac.webkit.org/changeset/213281
2017-03-02 Tomas Popela <tpopela@redhat.com>
[WK2] Keyboard menu key should show context menu
https://bugs.webkit.org/show_bug.cgi?id=72099
Show the context menu when the GtkWidget::popup-menu signal is
emitted. This signal is triggered by pressing a key (usually
the Menu key or the Shift + F10 shortcut) or it could be emitted on
WebKitWebView.
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
(testContextMenuDefaultMenu):
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(WebViewTest::emitPopupMenuSignal):
* TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
2017-03-01 Wenson Hsieh <wenson_hsieh@apple.com>
Replace -[WKWebView adjustedDataInteractionItemProviders:] with a UI delegate method
https://bugs.webkit.org/show_bug.cgi?id=169013
Reviewed by Dan Bernstein.
Adjusts TestWebKitAPI for changes in WebKit2. See Source/WebKit2/ChangeLog for more details.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
(-[CustomItemProviderWebView _adjustedDataInteractionItemProviders:]): Deleted.
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator initWithWebView:]):
(-[DataInteractionSimulator dealloc]):
(-[DataInteractionSimulator _webView:adjustedDataInteractionItemProviders:]):
2017-03-01 Per Arne Vollan <pvollan@apple.com>
[Win] DRT should not dispatch messages after test is done.
https://bugs.webkit.org/show_bug.cgi?id=169026
Reviewed by Brent Fulgham.
Exiting the message loop with PostQuitMessage will leave room for
a few messages to be dispatched after the test is done.
* DumpRenderTree/win/DumpRenderTree.cpp:
(dump):
(runTest):
2017-03-01 Myles C. Maxfield <mmaxfield@apple.com>
Implement font-stretch for installed fonts
https://bugs.webkit.org/show_bug.cgi?id=168888
Reviewed by Darin Adler and Dave Hyatt.
Update TestWebKitAPI tests to test font-stretch too.
* TestWebKitAPI/Tests/WebCore/FontCache.cpp:
(TestWebKitAPI::createPlatformFont):
(TestWebKitAPI::compareFonts):
(TestWebKitAPI::TEST_F):
2017-03-01 Alex Christensen <achristensen@webkit.org>
Unreviewed, rolling out r213259.
Broke an internal build
Reverted changeset:
"Continue enabling WebRTC"
https://bugs.webkit.org/show_bug.cgi?id=169056
http://trac.webkit.org/changeset/213259
2017-03-01 Alex Christensen <achristensen@webkit.org>
Continue enabling WebRTC
https://bugs.webkit.org/show_bug.cgi?id=169056
Reviewed by Jon Lee.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-02-28 Matt Rajca <mrajca@apple.com>
Media: notify clients when autoplayed media is muted
https://bugs.webkit.org/show_bug.cgi?id=168987
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST): Added.
2017-03-01 Brady Eidson <beidson@apple.com>
Add SPI to create WebsiteDataStore objects pointing to custom paths.
https://bugs.webkit.org/show_bug.cgi?id=169044
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: Added.
(-[WebsiteDataStoreCustomPathsMessageHandler userContentController:didReceiveScriptMessage:]):
(getNextMessage):
(TEST):
2017-03-01 Simon Fraser <simon.fraser@apple.com>
Add a way to watch the CSSProperties.json file, and add me and Dan Bates to watch it.
* Scripts/webkitpy/common/config/watchlist:
2017-03-01 Jonathan Bedard <jbedard@apple.com>
webkitpy: Move some device management from iOSSimulatorPort to iOSPort class
https://bugs.webkit.org/show_bug.cgi?id=168681
Reviewed by Daniel Bates.
This patch moves high-level device management into iOSPort and adds a new iOSDevicePort class
which inherits from iOSPort. Additionally, this change renames device_id_for_worker_number to
device_for_worker_number and manages devices by object instead of by UDID.
* Scripts/webkitpy/port/factory.py:
(PortFactory): Correct import path for IOSSimulatorPort and IOSDevicePort.
* Scripts/webkitpy/port/ios.py:
(IOSPort.__init__): Define variables shared between iOS ports.
(IOSPort.driver_cmd_line_for_logging): From IOSSimulatorPort.
(IOSPort.driver_name): From IOSSimulatorPort.
(IOSPort.using_multiple_devices): Check if this port supports multiple devices.
(IOSPort._testing_device): Map worker number to device.
(IOSPort.device_for_worker_number): Return _testing_device() or _current_device based on using_multiple_devices.
(IOSSimulatorPort): Moved to ios_simulator.py
* Scripts/webkitpy/port/ios_device.py: Added.
(IOSDevicePort): Moved functionality from IOSPort.
(IOSDevicePort.determine_full_port_name): Moved from IOSPort.
(IOSDevicePort._build_driver_flags): Ditto.
(IOSDevicePort.operating_system): Ditto.
* Scripts/webkitpy/port/ios_simulator.py: Added.
(IOSSimulatorPort): Moved from ios.py.
(IOSSimulatorPort.__init__): Init parent class, setup device map.
(IOSSimulatorPort._create_simulators): Use object over unbound methods.
(IOSSimulatorPort.setup_test_run): Ditto.
(IOSSimulatorPort.using_multiple_devices): True if we are managing the simulators.
(IOSSimulatorPort._create_device): Use object over unbound methods.
(IOSSimulatorPort._remove_device): Ditto.
(IOSSimulatorPort.driver_name): Moved to parent class.
(IOSSimulatorPort.driver_cmd_line_for_logging): Ditto.
(IOSSimulatorPort.child_processes): Ditto.
(IOSSimulatorPort._testing_device): Ditto.
(IOSSimulatorPort.device_id_for_worker_number): Renamed as device_for_worker_number.
(SimulatorProcess.__init__): Call find_device_by_udid, device_id_for_worker_number has been removed.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator): Make _managed_devices public.
(Simulator.create_device): Ditto.
(Simulator.remove_device): Ditto.
(Simulator.device_number): Ditto.
2017-03-01 Alexey Proskuryakov <ap@apple.com>
IndexedDB.IndexedDBMultiProcess is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=160780
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm: Releasing the object
once doesn't necessarily deallocate the object, there can be other references.
We can use -[WKWebView _close] or -[WKWebView _killWebContentProcessAndResetState].
The latter seems more appropriate, because "kill" is what the comment says.
2017-02-28 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
Add ability for webkitpy to run bindings tests
https://bugs.webkit.org/show_bug.cgi?id=168979
Reviewed by Alexey Proskuryakov.
This allows the below command to run bindings tests with json output, and is a required part
of adding an EWS for bindings tests. (Note: this won't build because --build is not passed).
webkit-patch build-and-test --no-clean --no-update --test --non-interactive --group="bindings"
* Scripts/webkitpy/port/base.py:
(Port.bindings_results_directory): Return the directory to place JSON results for bindings tests.
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run): Checks if we should be running bindings tests.
(RunTests._run_bindings_tests): Generates the command for bindings tests, and executes it.
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(test_runtests_bindings): Unit test for the generated run-bindings-tests command.
2017-02-28 Myles C. Maxfield <mmaxfield@apple.com>
Test fix after r213163
https://bugs.webkit.org/show_bug.cgi?id=168678
Unreviewed.
Tests and builds are timing out because this file is gigantic.
* TestWebKitAPI/Tests/WebCore/FontCache.cpp:
(TestWebKitAPI::TEST_F):
2017-02-28 Wenson Hsieh <wenson_hsieh@apple.com>
Data interaction should support attachment elements
https://bugs.webkit.org/show_bug.cgi?id=168916
<rdar://problem/30664519>
Reviewed by Ryosuke Niwa.
Adds a new unit test verifying that a client injected bundle is able to augment UIItemProvider data vended to
the UI process.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/attachment-element.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(-[CustomItemProviderWebView _adjustedDataInteractionItemProviders:]):
(TestWebKitAPI::TEST):
2017-02-28 Chris Dumez <cdumez@apple.com>
[iOS] Throttle requestAnimationFrame to 30fps in low power mode
https://bugs.webkit.org/show_bug.cgi?id=168837
<rdar://problem/30700929>
Reviewed by Simon Fraser.
Add unit test for -= operator on WTF::OptionSet.
* TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST):
2017-02-28 Jonathan Bedard <jbedard@apple.com>
webkitpy: Regular expression for parsing simctl device information is wrong for iPad Pro
https://bugs.webkit.org/show_bug.cgi?id=168394
Reviewed by Daniel Bates.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator): Allow for parenthesis in device name.
* Scripts/webkitpy/xcode/simulator_unittest.py: Add iPad Pro to test.
2017-02-28 Myles C. Maxfield <mmaxfield@apple.com>
[macOS] Migrate off of CTFontCreateForCSS
https://bugs.webkit.org/show_bug.cgi?id=168678
Reviewed by David Hyatt.
Exhaustively test the font matching algorithm on Sierra.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/FontCache.cpp: Added.
(TestWebKitAPI::FontCacheTest::SetUp):
(TestWebKitAPI::createPlatformFont):
(TestWebKitAPI::compareFonts):
(TestWebKitAPI::TEST_F):
2017-02-28 Basuke Suzuki <Basuke.Suzuki@am.sony.com>
Windows build doesn't start build if the git branch is not master
https://bugs.webkit.org/show_bug.cgi?id=168843
Reviewed by Myles C. Maxfield.
Use correct value for product base dir.
* Scripts/build-webkit:
2017-02-24 Matt Rajca <mrajca@apple.com>
Media: notify clients when autoplayed media ends without being paused
https://bugs.webkit.org/show_bug.cgi?id=168852
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST): Added.
2017-02-28 Jonathan Bedard <jbedard@apple.com>
webkitpy: jsc-ews should run when Makefiles and build scripts are changed
https://bugs.webkit.org/show_bug.cgi?id=168950
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance): Add makefiles and build scripts to jsc_paths.
2017-02-27 Alex Christensen <achristensen@webkit.org>
Begin enabling WebRTC on 64-bit
https://bugs.webkit.org/show_bug.cgi?id=168915
Reviewed by Eric Carlson.
* Scripts/build-webkit:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-02-27 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
Windows regression: webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_jsc[_debug]
https://bugs.webkit.org/show_bug.cgi?id=168628
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests._run_javascriptcore_tests): Pass options to the Base instance.
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest._step_options): Add a new 'root' option that's passed through to the Base instance.
(test_runtests_jsc): Not running webkit-build-directory anymore, and changed json output directory.
(test_runtests_jsc_debug): Ditto
2017-02-27 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
Add machine-readable results for bindings tests
https://bugs.webkit.org/show_bug.cgi?id=168626
Reviewed by Alexey Proskuryakov.
* Scripts/run-bindings-tests:
(main): Add optional --json-output command-line parameter.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.__init__): Add variables to store machine-readable results.
(BindingsTests.detect_changes): Store results in machine-readable form if applicable.
(BindingsTests.main): Write data to JSON file if applicable.
2017-02-27 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, roll out r213065.
We need these temporary fixes to keep the perf bots running.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _advanceProgress]):
2017-02-27 Simon Fraser <simon.fraser@apple.com>
Add specification and status metadata to CSSProperties.json, and validate it
https://bugs.webkit.org/show_bug.cgi?id=168901
Reviewed by Darin Adler.
Enhance check-webkit-style to validate the status and spec data in CSSProperties.json.
Current validation is basic type validation and some cross-referencing, but could be
enhanced.
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check):
(JSONCSSPropertiesChecker.check_category):
(JSONCSSPropertiesChecker):
(JSONCSSPropertiesChecker.check_categories):
(JSONCSSPropertiesChecker.validate_url):
(JSONCSSPropertiesChecker.validate_status_type):
(JSONCSSPropertiesChecker.validate_comment):
(JSONCSSPropertiesChecker.validate_status):
(JSONCSSPropertiesChecker.validate_property_category):
(JSONCSSPropertiesChecker.validate_property_specification):
(JSONCSSPropertiesChecker.check_property):
2017-02-27 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix two GTK+ unit tests failing after r213062.
We were building wrong Content-Disposition headers that libsoup doesn't parse correctly.
* TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
(addContentDispositionHTTPHeaderToResponse):
* TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
(serverCallback):
2017-02-24 Jer Noble <jer.noble@apple.com>
Add public method to MediaTime for doing timeScale conversion.
https://bugs.webkit.org/show_bug.cgi?id=168860
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):
2017-02-26 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, revert all temporary build fixes for data interaction
Rolls out r212990, r212988 and r212984.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _advanceProgress]):
2017-02-27 Alex Christensen <achristensen@webkit.org>
[libwebrtc] Enable WebRTC in some Production Builds
https://bugs.webkit.org/show_bug.cgi?id=168858
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-02-27 Andy Estes <aestes@apple.com>
Add a way to test file input without relying on drag and drop
https://bugs.webkit.org/show_bug.cgi?id=168848
<rdar://problem/22258242>
Reviewed by Tim Horton.
Existing layout tests relied on drag and drop support in EventSender to configure a file
input element for testing. This had several problems:
1. WebKitTestRunner has no support for beginDragWithFiles(), and DumpRenderTree doesn't
support it on iOS.
2. We have no test coverage for selecting files via the runOpenPanel UI delegate, leading to
bugs like webkit.org/b/159686.
Even if we fixed (1), we'd still have a test coverage gap due to (2), so this patch
introduces a way for a test to specify the list of files that should be selected by the
runOpenPanel UI delegate: TestRunner.setOpenPanelFiles(). It also creates versions of a
number of existing file input tests using TestRunner.setOpenPanelFiles() instead of
EventSender.beginDragWithFiles().
* DumpRenderTree/ios/DumpRenderTreeBrowserView.mm:
(-[DumpRenderTreeBrowserView webView:runOpenPanelForFileButtonWithResultListener:configuration:]):
Overrode to call the corresponding method on UIDelegate.
* DumpRenderTree/TestRunner.cpp:
(setOpenPanelFilesCallback): Added to call TestRunner::setOpenPanelFiles().
(TestRunner::staticFunctions): Registered setOpenPanelFiles.
(TestRunner::setOpenPanelFiles): Added. Converts the JavaScript array of file paths to a
std::vector of std::strings.
* DumpRenderTree/TestRunner.h:
(TestRunner::openPanelFiles):
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
Added. Converts the array of file paths to an NSArray of NSURLs, resolving the file paths
relative to the current test URL. Returns either the first item or all items depending on
the value of allowMultipleFiles.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Defined setOpenPanelFiles.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setOpenPanelFiles): Added. Converts the JavaScript array of file paths to
a WKArray of WKURLs, resolving the file paths relative to the current test URL, and sends
the WKArray to the UI process with the "SetOpenPanelFileURLs" message.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::runOpenPanel): Calls the WKOpenPanelResultListener with either the first item or all
items, depending on the value of WKOpenPanelParametersGetAllowsMultipleFiles().
(WTR::TestController::resetStateToConsistentValues): Clear m_openPanelFileURLs.
* WebKitTestRunner/TestController.h:
(WTR::TestController::openPanelFileURLs):
(WTR::TestController::setOpenPanelFileURLs):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Added code to handle the
"SetOpenPanelFileURLs" message.
2017-02-26 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r211312): Double-clicking a word selects it along with the space that follows it
https://bugs.webkit.org/show_bug.cgi?id=168821
<rdar://problem/30690431>
Reviewed by Tim Horton.
Adds the ability for TestWKWebView to send a sequence of clicks to its window, and uses this capability to
verify that double clicking to select a word in a WKWebView on Mac selects just the word, and not a trailing
space along with it.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/double-click-does-not-select-trailing-space.html: Added.
* TestWebKitAPI/Tests/mac/WKWebViewSelectionTests.mm: Copied from Tools/TestWebKitAPI/cocoa/TestWKWebView.h.
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:clickCount:]):
(-[TestWKWebViewHostWindow _mouseUpAtPoint:clickCount:]):
(-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
(-[TestWKWebView mouseUpAtPoint:]):
(-[TestWKWebView sendClicksAtPoint:numberOfClicks:]):
(-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:]): Deleted.
(-[TestWKWebViewHostWindow _mouseUpAtPoint:]): Deleted.
2017-02-25 Simon Fraser <simon.fraser@apple.com>
Make check-webkit-style do some basic validation for CSSProperties.json
https://bugs.webkit.org/show_bug.cgi?id=168874
Reviewed by Zalan Bujtas.
Do checking of the keys and the value types.
Print exceptions if they occur; previously, coding errors caused silent failure.
* Scripts/webkitpy/style/checker.py:
(CheckerDispatcher._create_checker):
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONFeaturesChecker.check):
(JSONCSSPropertiesChecker):
(JSONCSSPropertiesChecker.check):
(JSONCSSPropertiesChecker.validate_comment):
(JSONCSSPropertiesChecker.validate_type):
(JSONCSSPropertiesChecker.validate_boolean):
(JSONCSSPropertiesChecker.validate_string):
(JSONCSSPropertiesChecker.validate_array):
(JSONCSSPropertiesChecker.validate_codegen_properties):
(JSONCSSPropertiesChecker.check_property):
(JSONCSSPropertiesChecker.check_codegen_properties):
2017-02-26 Chris Dumez <cdumez@apple.com>
HitTestResult's linkSuggestedFilename should sanitize download attribute
https://bugs.webkit.org/show_bug.cgi?id=168856
<rdar://problem/30683109>
Reviewed by Antti Koivisto.
Add test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/link-with-download-attribute-with-slashes.html: Added.
* TestWebKitAPI/Tests/WebKit2/mac/ContextMenuDownload.mm:
(TestWebKitAPI::decideDestinationWithSuggestedFilenameContainingSlashes):
(TestWebKitAPI::TEST):
2017-02-24 Joseph Pecoraro <pecoraro@apple.com>
[Resource Timing] Media elements initiated loads should set the initiatorType to their element name (video/audio)
https://bugs.webkit.org/show_bug.cgi?id=168680
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
Include a dummy HTMLVideoElement.
2017-02-24 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, temporarily disable all data interaction tests.
They will be reenabled once the bots are ready to build and run them.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
2017-02-24 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix the internal build.
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _advanceProgress]):
2017-02-24 Matt Rajca <mrajca@apple.com>
Media: notify clients when autoplay is denied
https://bugs.webkit.org/show_bug.cgi?id=168840
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(handleAutoplayEvent):
(runUntilReceivesAutoplayEvent):
(TEST): Added.
2017-02-23 Matt Rajca <mrajca@apple.com>
API test WebKit2.WebsitePoliciesPlayAfterPreventedAutoplay is timing out
https://bugs.webkit.org/show_bug.cgi?id=167466
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST): Use the correct API version.
2017-02-20 Wenson Hsieh <wenson_hsieh@apple.com>
Refactor data interaction to use new WKDataInteraction SPI
https://bugs.webkit.org/show_bug.cgi?id=168602
Work towards <rdar://problem/30313681>
Reviewed by Tim Horton.
Update DataInteractionSimulator to simulate data interaction using updated SPI. See changes in WebKit2 for more details.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _resetSimulatedState]):
(-[DataInteractionSimulator runFrom:to:]):
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator _currentLocation]):
(-[DataInteractionSimulator _finishDataInteraction]): Deleted.
(-[DataInteractionSimulator webViewDidSendDataInteractionStartRequest:]): Deleted.
(-[DataInteractionSimulator webView:didReceiveDataInteractionStartResponse:]): Deleted.
2017-02-20 Wenson Hsieh <wenson_hsieh@apple.com>
Remove the data interaction gesture recognizer
https://bugs.webkit.org/show_bug.cgi?id=168600
<rdar://problem/30313681>
Reviewed by Anders Carlsson.
Adjust TestWebKitAPI for changes in WebKit2.
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator initWithWebView:]):
(-[DataInteractionSimulator runFrom:to:]):
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator _finishDataInteraction]):
(-[MockLongPressGestureRecognizer initWithWindow:]): Deleted.
(-[MockLongPressGestureRecognizer locationInView:]): Deleted.
(-[MockLongPressGestureRecognizer state]): Deleted.
(-[MockLongPressGestureRecognizer numberOfTouches]): Deleted.
(-[DataInteractionSimulator _recognizeGestureAtLocation:withState:]): Deleted.
(-[DataInteractionSimulator dataInteractionGestureRecognizer]): Deleted.
(-[DataInteractionSimulator webView:beginDataInteractionWithSourceIndex:gestureRecognizer:]): Deleted.
2017-02-24 John Wilander <wilander@apple.com>
Resource Load Statistics: Add alternate classification method
https://bugs.webkit.org/show_bug.cgi?id=168347
<rdar://problem/30352793>
<rdar://problem/30646710>
<rdar://problem/30660708>
Reviewed by Alex Christensen.
Added three testRunner functions to facilitate layout tests:
- setStatisticsSubframeUnderTopFrameOrigin()
- setStatisticsSubresourceUnderTopFrameOrigin()
- setStatisticsSubresourceUniqueRedirectTo()
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin):
(WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin):
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-02-23 Joseph Pecoraro <pecoraro@apple.com>
[Resource Timing] Add Experimental Feature Flag
https://bugs.webkit.org/show_bug.cgi?id=167147
Reviewed by Ryosuke Niwa.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
Put experimental flags in the experimental section.
2017-02-23 Beth Dakin <bdakin@apple.com> + Dan Saunders <dasau@microsoft.com>
No reliable way to get a snapshot of WKWebView (macOS)
https://bugs.webkit.org/show_bug.cgi?id=161450
-and corresponding-
<rdar://problem/23846039>
Reviewed by Tim Horton.
Test for WKWebView’s new API takeSnapshotWithConfiguration:completionHandler:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm: Added.
(convertToCGImage):
(getPixelIndex):
(TEST):
2017-02-23 Saam Barati <sbarati@apple.com>
Speculative fix for jsc timing out tests
https://bugs.webkit.org/show_bug.cgi?id=168791
Rubber Stamped by Keith Miller.
Play musical chairs with IRC and Briggs options on
ftl-eager and ftl-eager-no-cjit.
* Scripts/run-jsc-stress-tests:
2017-02-23 Carlos Alberto Lopez Perez <clopez@igalia.com>
Improve error message when the WPT server fails to start.
https://bugs.webkit.org/show_bug.cgi?id=168759
Reviewed by Ryosuke Niwa.
Check if the WPT server is running after 1 second, and if is not
print useful information for helping the user to debug the issue.
Using check_running_pid() to check if the process is still running
doesn't work. A process started via subprocess popen that has ended
will be in a zombie state until a call to wait/communicate/poll
is done, or until the object is deleted or garbage collected.
This adds also support for testing the behaviour of subprocess
poll() on the unit tests that use MockProcess.
A new test is added also for the battery of tests for the WPT
server.
* Scripts/webkitpy/common/system/executive_mock.py:
(MockProcess.__init__):
(MockProcess.wait):
(MockProcess.communicate):
(MockProcess.poll):
(MockExecutive.popen):
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.__init__):
(WebPlatformTestServer._prepare_config):
(WebPlatformTestServer._spawn_process):
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py:
(TestWebPlatformTestServer.test_corrupted_subserver_files):
(TestWebPlatformTestServer):
(TestWebPlatformTestServer.test_server_fails_to_start_throws_exception):
2017-02-23 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, temporarily disable DataInteractionTests in TestWebKitAPI.
These will be reenabled in https://bugs.webkit.org/show_bug.cgi?id=168602.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2017-02-22 Wenson Hsieh <wenson_hsieh@apple.com>
Data interaction causes selection to fall out of sync between web/UI processes
https://bugs.webkit.org/show_bug.cgi?id=168735
<rdar://problem/30657817>
Reviewed by Tim Horton.
Adds a new method to TestWKWebView for querying selection view rects from the UI process and augments data
interaction unit tests to check for selection rects using this new hook.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(makeCGRectValue):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView selectionRectsAfterPresentationUpdate]):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _resetSimulatedState]):
(-[DataInteractionSimulator runFrom:to:]):
(-[DataInteractionSimulator finalSelectionRects]):
2017-02-22 Carlos Garcia Campos <cgarcia@igalia.com>
Better handle Thread and RunLoop initialization
https://bugs.webkit.org/show_bug.cgi?id=167828
Reviewed by Yusuke Suzuki.
Remove unnecessary calls to WTF::initializeMainThread().
* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::ContentExtensionTest::SetUp):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
2017-02-22 Myles C. Maxfield <mmaxfield@apple.com>
[Cocoa] Remove Yosemite-specific font lookup code
https://bugs.webkit.org/show_bug.cgi?id=168682
Reviewed by Zalan Bujtas.
* DumpRenderTree/mac/DumpRenderTree.mm:
(fontWhitelist):
(adjustFonts):
(createWebViewAndOffscreenWindow):
(drt_NSFontManager_availableFontFamilies): Deleted.
(drt_NSFontManager_availableFonts): Deleted.
(swizzleNSFontManagerMethods): Deleted.
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::activateFonts):
(WTR::allowedFontFamilySet): Deleted.
(WTR::systemHiddenFontFamilySet): Deleted.
(WTR::wtr_NSFontManager_availableFontFamilies): Deleted.
(WTR::wtr_NSFontManager_availableFonts): Deleted.
(WTR::swizzleNSFontManagerMethods): Deleted.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::generateWhitelist):
(WTR::TestController::platformInitializeContext):
2017-02-22 Carlos Alberto Lopez Perez <clopez@igalia.com>
AutoInstaller should not skip the install step if the package is downloaded but not installed
https://bugs.webkit.org/show_bug.cgi?id=168737
Reviewed by Ryosuke Niwa.
Don't skip the install step if the package target path don't exists.
Fix the description for "should_refresh" optional argument.
* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller.install):
2017-02-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Do not use g_return_if_fail in EventSenderProxy::continuousMouseScrollBy
https://bugs.webkit.org/show_bug.cgi?id=168721
Reviewed by Michael Catanzaro.
Use WTFLogAlways instead. It's still shown in stderr, but it won't crash if we ever run tests with fatal
criticals.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::continuousMouseScrollBy):
2017-02-21 Youenn Fablet <youenn@apple.com>
[WebRTC][Mac] Activate libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=167293
<rdar://problem/30401864>
Reviewed by Alex Christensen.
Fixing paths to allow loading libwebrtc.dylib successfully.
* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(setupMacWebKitEnvironment):
(setupIOSWebKitEnvironment):
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-02-21 Saam Barati <sbarati@apple.com>
Add the Briggs optimistic allocator to run on ARM64
https://bugs.webkit.org/show_bug.cgi?id=168454
Reviewed by Filip Pizlo.
* Scripts/run-jsc-stress-tests:
2017-02-20 Filip Pizlo <fpizlo@apple.com>
The collector thread should only start when the mutator doesn't have heap access
https://bugs.webkit.org/show_bug.cgi?id=167737
Reviewed by Keith Miller.
Make more tests collect continuously.
* Scripts/run-jsc-stress-tests:
2017-02-20 Simon Fraser <simon.fraser@apple.com>
Add support to PlatformCALayer/GraphicsLayerCA for subpixel-antialiased text, with a Setting and a MiniBrowser switch
https://bugs.webkit.org/show_bug.cgi?id=168620
<rdar://problem/30617772>
Reviewed by Tim Horton.
Add a setting that allows one to toggle subpixel-antialiased layer text on and off.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleSubpixelAntialiasedLayerTextEnabled:]):
(-[SettingsController subpixelAntialiasedLayerTextEnabled]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-02-21 Jonathan Bedard <jbedard@apple.com>
webkitpy: Refactor Device class
https://bugs.webkit.org/show_bug.cgi?id=168332
Reviewed by Alexey Proskuryakov.
Separate the more specific SimulatedDevice from the abstract
idea of a device.
* Scripts/webkitpy/xcode/device.py: Added.
(Device): Base device class.
(Device.__init__): Initialize _host, name and udid.
(Device.install_app): Function declaration.
(Device.launch_app): Ditto.
(Device.__eq__): Compare two devices by udid.
(Device.__ne__): Ditto.
(Device.__repr__): Return device name and udid in formatted string.
* Scripts/webkitpy/xcode/simulated_device.py: Copied from Tools/Scripts/webkitpy/xcode/simulator.py.
(SimulatedDevice):
(SimulatedDevice.__init__): Call Device.__init__ first.
(SimulatedDevice.delete): Device -> SimulatedDevice.
(SimulatedDevice.reset): Ditto.
(SimulatedDevice.__eq__): Moved to device.py.
(SimulatedDevice.__ne__): Ditto.
(SimulatedDevice.__repr__): Call Device __repr__ first.
(DeviceType): Kept in Scripts/webkitpy/xcode/simulator.py.
(Runtime): Kept in Scripts/webkitpy/xcode/simulator.py.
(Device): Renamed SimulatedDevice.
(Simulator): Kept in Scripts/webkitpy/xcode/simulator.py.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator): Define Simulator.Device class as None.
(Simulator.__init__): Import SimulatedDevice as Simulator.Device.
(Simulator.delete_device): Use Simulator.Device.
(Simulator.reset_device): Ditto.
(Simulator._parse_devices): Ditto.
(Simulator.lookup_or_create_device): Make
(Device): Moved to simulated_device as SimulatedDevice.
2017-02-21 JF Bastien <jfbastien@apple.com>
Fix cmake build
https://bugs.webkit.org/show_bug.cgi?id=168665
Reviewed by Mark Lam.
It was broken by r212555 and r212681.
* DumpRenderTree/PlatformMac.cmake:
2017-02-21 Alexey Proskuryakov <ap@apple.com>
Improve bot watcher's dashboard performance
https://bugs.webkit.org/show_bug.cgi?id=168624
<rdar://problem/30190109>
Reviewed by Daniel Bates.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
There was an unnecessary linear complexity algorithm in indexOfRevision().
2017-02-21 Alex Christensen <achristensen@webkit.org>
Unreviewed, rolling out r212699.
Internal build not ready
Reverted changeset:
"[WebRTC][Mac] Activate libwebrtc"
https://bugs.webkit.org/show_bug.cgi?id=167293
http://trac.webkit.org/changeset/212699
2017-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
Remove ENABLE_THREADED_COMPOSITOR build option
https://bugs.webkit.org/show_bug.cgi?id=168606
Reviewed by Michael Catanzaro.
* Scripts/webkitperl/FeatureList.pm:
2017-02-20 Youenn Fablet <youenn@apple.com>
[WebRTC][Mac] Activate libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=167293
<rdar://problem/30401864>
Reviewed by Alex Christensen.
Fixing paths to allow loading libwebrtc.dylib successfully.
* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(setupMacWebKitEnvironment):
(setupIOSWebKitEnvironment):
2017-02-20 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r212685.
This change broke the 32-bit Sierra build.
Reverted changeset:
"Resource Load Statistics: Add alternate classification
method"
https://bugs.webkit.org/show_bug.cgi?id=168347
http://trac.webkit.org/changeset/212685
2017-02-20 John Wilander <wilander@apple.com>
Resource Load Statistics: Add alternate classification method
https://bugs.webkit.org/show_bug.cgi?id=168347
<rdar://problem/30352793>
Reviewed by Alex Christensen.
Added three testRunner functions to facilitate layout tests:
- setStatisticsSubframeUnderTopFrameOrigin()
- setStatisticsSubresourceUnderTopFrameOrigin()
- setStatisticsSubresourceUniqueRedirectTo()
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin):
(WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin):
(WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-02-20 Anders Carlsson <andersca@apple.com>
Use the new drag code path when dragging links
https://bugs.webkit.org/show_bug.cgi?id=168612
Reviewed by Tim Horton.
If a type is not dynamic, just use the static UTI.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard writeObjects:]):
2017-02-17 Anders Carlsson <andersca@apple.com>
Add a new drag code path and use it for dragging plain text
https://bugs.webkit.org/show_bug.cgi?id=168534
Reviewed by Geoffrey Garen.
Update the testing infrastructure to handle NSDraggingSession.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm: Renamed from Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.m.
(-[LocalPasteboard writeObjects:]):
Implement this in terms of the legacy pasteboard API.
* DumpRenderTree/mac/EventSendingController.mm:
(drt_WebHTMLView_beginDraggingSessionWithItemsEventSource):
(+[EventSendingController initialize]):
Swizzle the drag method instead of adding a delegate method (like the old code does).
2017-02-20 Florian Bruhin <git@the-compiler.org>
Handle EINTR during webkitpy server process select()
https://bugs.webkit.org/show_bug.cgi?id=168361
Reviewed by Michael Catanzaro.
Otherwise, on my machine, resizing the terminal run-webkit-tests is running in
makes it die.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess._wait_for_data_and_update_buffers_using_select):
2017-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/default-menu.
It can happen that the window onload event is dispatched after the load finished is received in the UI
process. Move the script to select the text to the body instead of using a window onload handler.
* TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
(testContextMenuDefaultMenu):
2017-02-20 Manuel Rego Casasnovas <rego@igalia.com>
[css-grid] Remove compilation flag ENABLE_CSS_GRID_LAYOUT
https://bugs.webkit.org/show_bug.cgi?id=167693
Reviewed by Sergio Villar Senin.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/Tests/WebCore/CSSParser.cpp:
(TestWebKitAPI::computeNumberOfTracks):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/GridPosition.cpp:
(TestWebKitAPI::TEST):
2017-02-19 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r212466.
https://bugs.webkit.org/show_bug.cgi?id=168577
causes crashes on AArch64 on linux, maybe it's causing crashes
on iOS too (Requested by pizlo on #webkit).
Reverted changeset:
"The collector thread should only start when the mutator
doesn't have heap access"
https://bugs.webkit.org/show_bug.cgi?id=167737
http://trac.webkit.org/changeset/212466
2017-02-17 Aakash Jain <aakash_jain@apple.com>
Fix failure from r212579.
Unreviewed build-fix.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance._changes_are_relevant): Return true for all groups others than jsc for now.
2017-02-17 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
EWS should run JavaScriptCore tests
https://bugs.webkit.org/show_bug.cgi?id=162458
Reviewed by Alexey Proskuryakov.
* QueueStatusServer/config/queues.py: Add jsc-ews queue.
* QueueStatusServer/model/queuestatus.py:
(QueueStatus.did_skip): Returns whether patch was skipped, based on status.
* QueueStatusServer/handlers/statusbubble.py:
(StatusBubble._should_show_bubble_for): Add logic to hide jsc-ews bubble if the patch does not touch jsc.
* Scripts/webkitpy/common/checkout/scm/scm_mock.py:
(MockSCM.__init__): Add _mockChangedFiles variable.
(MockSCM.changed_files): Change to use _mockChangedFiles variables.
* Scripts/webkitpy/common/config/ews.json: Add config info for JSC EWS.
* Scripts/webkitpy/common/config/ports.py: Add support for JSC EWS in Mac Port.
(DeprecatedPort._append_build_style_flag): Helper function to append build_style to a command.
(DeprecatedPort.build_jsc_command): Added - command to build JSC only (quicker than building all of WebKit).
(DeprecatedPort.run_javascriptcore_tests_command): Allow JSC EWS to only run JSC tests.
(MacPort.run_webkit_tests_command): Check for JSC.
* Scripts/webkitpy/common/config/ports_mock.py:
(MockPort.run_javascriptcore_tests_command): Add build_style argument.
* Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest.test_mac_port): Add unit tests for build-jsc shell command.
* Scripts/webkitpy/common/net/abstracttestresults.py: Added.
(AbstractTestResults): Abstract superclass of JSCTestResults and JSCTestResults.
(AbstractTestResults.test_results): Stub.
(AbstractTestResults.failing_tests): Stub.
(AbstractTestResults.did_exceed_test_failure_limit): Stub.
* Scripts/webkitpy/common/net/jsctestresults.py: Added.
(JSCTestResults): Added.
(JSCTestResults.intersection): Return a JSCTestResults object with failures common to both input objects.
(JSCTestResults.results_from_string): Use json library to parse results.
(JSCTestResults.__init__): Initialize members.
(JSCTestResults.equals): This enables unit testing.
(JSCTestResults.is_subset): Checks if one set of failures is a subset of another.
(JSCTestResults.all_passed): Getter.
(JSCTestResults.failing_tests): Getter.
(JSCTestResults.did_exceed_test_failure_limit): Getter.
* Scripts/webkitpy/common/net/jsctestresults_unittest.py: Added.
(JSCTestResultsTest): Class to test JSCTestResults.
(JSCTestResultsTest.test_results_from_string): Tests parsing.
(JSCTestResultsTest.test_intersection_api_tests): Unit test for intersection() class method.
(JSCTestResultsTest.test_intersection_stress_tests): Unit test for intersection() class method.
(JSCTestResultsTest.test_intersection_general_case): Unit test for intersection() class method.
* Scripts/webkitpy/port/base.py:
(Port.jsc_results_directory): Returns the directory for the JSC test results JSON file.
* Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
(EarlyWarningSystemTask.run): Add check_patch_relevance step.
* Scripts/webkitpy/tool/bot/jscews_unittest.py: Added.
(MockPatchAnalysisTask): Mocked-out version of PatchAnalysisTask that doesn't run commands.
(MockPatchAnalysisTask.__init__): Sets attributes.
(MockPatchAnalysisTask._test): Override to not run command.
(MockPatchAnalysisTask._build_and_test_without_patch): Override to not run command.
(MockPatchAnalysisTask.validate): Assume mocked patch is valid for purposes of testing retry logic.
(MockPatchAnalysisTask.test_run_count): Specific to the mocked version, to test retry logic.
(MockJSCEarlyWarningSystem): Mocked-out version of AbstarctEarlyWarningSystem so we can provide test results.
(MockJSCEarlyWarningSystem.__init__): Sets attributes, also sets group to jsc.
(MockJSCEarlyWarningSystem.test_results): Returns test results provided by us, instead of using a JSON reader.
(JSCEarlyWarningSystemTest): Class to test retry logic in below situations.
(JSCEarlyWarningSystemTest._create_task): Helper function to abstract out common code.
(JSCEarlyWarningSystemTest._results_indicate_all_passed): False if input is None or has failures, else True.
(JSCEarlyWarningSystemTest.test_success_case): Clean patch on clean tree.
(JSCEarlyWarningSystemTest.test_test_failure): Failed patch on clean tree.
(JSCEarlyWarningSystemTest.test_fix): Patch that fixes all tree redness.
(JSCEarlyWarningSystemTest.test_ineffective_patch): Patch that has same failures as tree.
(JSCEarlyWarningSystemTest.test_partially_effective_patch): Patch fixes some failures but adds no new failures.
(JSCEarlyWarningSystemTest.test_different_test_failures_in_patch_and_tree): Patch has some failures not in tree.
(JSCEarlyWarningSystemTest.test_first_results_could_not_be_read): Patch results not readable.
(JSCEarlyWarningSystemTest.test_second_results_could_not_be_read): Patch results not readable on second run.
(JSCEarlyWarningSystemTest.test_clean_results_could_not_be_read): Results from clean tree not readable.
(JSCEarlyWarningSystemTest.test_flaky_results_on_clean_tree_pass): Patch has one flake and no failures.
(JSCEarlyWarningSystemTest.test_flaky_results_on_clean_tree_pass_v2): Patch has one flake and no failures.
(JSCEarlyWarningSystemTest.test_flaky_results_on_clean_tree_failure): Patch has flakes and failed tests.
(JSCEarlyWarningSystemTest.test_flaky_results_on_red_tree_pass): Patch has same failures as tree, plus a flake.
* Scripts/webkitpy/tool/bot/jsctestresultsreader.py: Added.
(JSCTestResultsReader): Reads results file.
(JSCTestResultsReader.__init__): Sets attributes.
(JSCTestResultsReader._read_file_contents): Reads file.
(JSCTestResultsReader.results): Reads the results file and returns a JSCTestResults object.
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchIsNotApplicable): Exception for when patch doesn't have relevant changes.
(PatchAnalysisTask._check_patch_relevance): Added.
(PatchAnalysisTask._build): Check for JSC.
(PatchAnalysisTask._build_without_patch): Check for JSC.
(PatchAnalysisTask._test): Check for JSC.
(PatchAnalysisTask._build_and_test_without_patch): Check for JSC.
(PatchAnalysisTask._retry_jsc_tests): Retry logic for JSC EWS.
(PatchAnalysisTask._retry_layout_tests): Retry logic for layout tests EWS.
(PatchAnalysisTask._test_patch): Add retry logic for JSC.
* Scripts/webkitpy/tool/commands/download.py:
(CheckPatchRelevance): Add check-patch-relevance command.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem._create_task): Abstract out to enable mocking.
(AbstractEarlyWarningSystem.begin_work_queue): Use JSCTestResultsReader not LayoutTestResultsReader in JSC EWS.
(AbstractEarlyWarningSystem.review_patch): Handle PatchIsApplicable.
(AbstractEarlyWarningSystem.test_results): _layout_test_results_reader -> _test_results_reader.
(AbstractEarlyWarningSystem.archive_last_test_results): _layout_test_results_reader -> _test_results_reader.
(AbstractEarlyWarningSystem.group): This attribute determines the type of EWS (eg. JSC).
(AbstractEarlyWarningSystem.load_ews_classes): Add _group, and make classes of type cls to enable mocking.
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(TestEWS): Sample layout test EWS class used for unit testing.
(TestJSCEWS): Sample JSC EWS class used for unit testing.
(AbstractEarlyWarningSystemTest.test_failing_tests_message.TestEWS): Add _group.
(AbstractEarlyWarningSystemTest.test_failing_jsc_tests_message.TestEWS): Added test for jsc failures message.
(AbstractEarlyWarningSystemTest): Add _group variable.
(EarlyWarningSystemTest._default_expected_logs): Add check-patch-relevance step, inconclusive logs, and group.
(EarlyWarningSystemTest._test_ews): Add logs_are_conclusive option to pass through to default_expected_logs().
(EarlyWarningSystemTest.test_inconclusive_test_results): Test not removing patch from queue if not conclusive.
(MockAbstractEarlyWarningSystemForInconclusiveJSCResults): Added.
(MockAbstractEarlyWarningSystemForInconclusiveJSCResults._test_patch): Simulates running tests but not getting a conclusive result.
(MockEarlyWarningSystemTaskForInconclusiveJSCResults): Added.
(MockEarlyWarningSystemTaskForInconclusiveJSCResults._create_task): Use MockEarlyWarningSystemTask (not EarlyWarningSystemTask).
* Scripts/webkitpy/tool/steps/__init__.py: Add CheckPatchRelevance import.
* Scripts/webkitpy/tool/steps/build.py:
(Build.options): Check for JSC.
(Build.build): Check for JSC.
(Build.run): Check for JSC.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Added.
(CheckPatchRelevance): Added.
(CheckPatchRelevance._does_contain_change_in_paths): Abstract function to perform regex matching.
(CheckPatchRelevance.run): Check if changed files in patch belong in certain folders.
* Scripts/webkitpy/tool/steps/options.py:
(Options): Add --group command line option.
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.options): Add group.
(RunTests.run): Check for JSC.
(RunTests._run_webkit_tests): Check for JSC.
(RunTests): Add _group attribute.
(RunTests._run_javascriptcore_tests): New.
* Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests.
2017-02-17 Aakash Jain <aakash_jain@apple.com>
Fix tools that were broken by Efl removal
https://bugs.webkit.org/show_bug.cgi?id=168496
Reviewed by Alexey Proskuryakov.
* QueueStatusServer/config/queues.py:
* Scripts/webkitpy/common/config/ews.json:
* TestResultServer/static-dashboards/builders.jsonp:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
* TestResultServer/static-dashboards/loader_unittests.js:
2017-02-16 Lucas Forschler <lforschler@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=168442
Move the SVN checkout from http -> https.
Update unit tests.
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CheckOutSource.__init__):
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(SVNMirrorTest.get_SVNMirrorFromConfig):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
2017-02-16 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r212514.
https://bugs.webkit.org/show_bug.cgi?id=168489
broke test runner (Requested by alexchristensen on #webkit).
Reverted changeset:
"Remove EFL-specific files in Tools."
http://trac.webkit.org/changeset/212514
2017-02-16 Alex Christensen <achristensen@webkit.org>
Remove EFL-specific files in Tools.
Rubber-stamped by Anders Carlsson.
* ImageDiff/efl: Removed.
* ImageDiff/efl/ImageDiff.cpp: Removed.
* MiniBrowser/efl: Removed.
* MiniBrowser/efl/CMakeLists.txt: Removed.
* MiniBrowser/efl/main.c: Removed.
* Scripts/run-efl-tests: Removed.
* Scripts/update-webkitefl-libs: Removed.
* Scripts/webkitpy/port/efl.py: Removed.
* Scripts/webkitpy/port/efl_unittest.py: Removed.
* TestWebKitAPI/Tests/WebKit2/efl: Removed.
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/efl/WKViewScrollTo.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/efl/scrollTo.html: Removed.
* TestWebKitAPI/efl: Removed.
* TestWebKitAPI/efl/InjectedBundleController.cpp: Removed.
* TestWebKitAPI/efl/PlatformUtilities.cpp: Removed.
* TestWebKitAPI/efl/PlatformWebView.cpp: Removed.
* TestWebKitAPI/efl/main.cpp: Removed.
* WebKitTestRunner/InjectedBundle/efl: Removed.
* WebKitTestRunner/InjectedBundle/efl/ActivateFontsEfl.cpp: Removed.
* WebKitTestRunner/InjectedBundle/efl/FontManagement.cpp: Removed.
* WebKitTestRunner/InjectedBundle/efl/FontManagement.h: Removed.
* WebKitTestRunner/InjectedBundle/efl/InjectedBundleEfl.cpp: Removed.
* WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp: Removed.
* WebKitTestRunner/efl: Removed.
* WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Removed.
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Removed.
* WebKitTestRunner/efl/TestControllerEfl.cpp: Removed.
* WebKitTestRunner/efl/main.cpp: Removed.
* efl: Removed.
* efl/install-dependencies: Removed.
* efl/jhbuild-optional.modules: Removed.
* efl/jhbuild.modules: Removed.
* efl/jhbuildrc: Removed.
* efl/patches: Removed.
* efl/patches/evas-fix-build-with-giflib5.patch: Removed.
* efl/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Removed.
* efl/patches/gst-libav.patch: Removed.
* efl/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Removed.
* efl/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
* efl/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
* efl/patches/openwebrtc-gst-plugins-clang-warning-fix.patch: Removed.
2017-02-16 Myles C. Maxfield <mmaxfield@apple.com>
font-weight in @font-face can cause a font to be downloaded even when it's not used
https://bugs.webkit.org/show_bug.cgi?id=168114
<rdar://problem/30301317>
Reviewed by Darin Adler.
LastResort needs to be usable in tests.
* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::allowedFontFamilySet):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::allowedFontFamilySet):
2017-02-16 Alex Christensen <achristensen@webkit.org>
Remove old URL parser
https://bugs.webkit.org/show_bug.cgi?id=168483
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
2017-02-16 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] Add additional test infrastructure and unit tests for data interaction
https://bugs.webkit.org/show_bug.cgi?id=168439
<rdar://problem/30557942>
Reviewed by Tim Horton.
Adds test support for additional data interaction scenarios that we currently cannot test, and also adds 7 new
test cases to DataInteractionTests. Most of the changes here refactor and augment DataInteractionSimulator to
support data interaction from See per-method descriptions below for more details.
* Configurations/TestWebKitAPI.xcconfig:
Add MobileCoreServices to the list of additional frameworks to link against on iOS.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Add a new build phase that copies additional resources from WebKitAdditions/Resources/TestWebKitAPI and dumps
them into TestWebKitAPI.resources/ in the build directory, if the WebKitAdditions folder exists.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(-[TestWKWebView editorContainsImageElement]):
(-[TestWKWebView editorValue]):
New helper methods for querying information from the "editor" element in a test page.
(TestWebKitAPI::TEST):
(TestWebKitAPI::runTestsExpectingToObserveEvents): Deleted.
Moves logic for capturing events during a simulated data interaction run from the test file to
DataInteractionSimulator. See -[DataInteractionSimulator observedEventNames].
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestMessageHandler removeMessage:]):
(-[TestWKWebView clearMessageHandlers:]):
Add the ability to clear message handlers from the TestWKWebView.
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(dataInteractionEventNames):
(-[DataInteractionSimulator initWithWebView:]):
(-[DataInteractionSimulator _resetSimulatedState]):
Moves logic to clear test harness state from any previous runs into a helper. Called at the beginning when
simulating data interaction.
(-[DataInteractionSimulator observedEventNames]):
Returns a list of the names of events relevant to data interaction that were observed over the course of the
most recent run.
(-[DataInteractionSimulator runFrom:to:]):
Changes -run to -runFrom:to:, which takes window-relative start and end locations. This allows the test harness
to run the same data interaction for multiple simulated gestures.
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator _finishDataInteraction]):
(-[DataInteractionSimulator externalItemProvider]):
(-[DataInteractionSimulator setExternalItemProvider:]):
Adds the -externalItemProvider property to DataInteractionSimulator. Setting this skips the gesture recognition
phase of a test run.
(-[DataInteractionSimulator webViewDidPerformDataInteractionControllerOperation:]):
(-[DataInteractionSimulator webView:beginDataInteractionWithSourceIndex:gestureRecognizer:]):
(-[DataInteractionSimulator webViewDidSendDataInteractionStartRequest:]):
(-[DataInteractionSimulator webView:didReceiveDataInteractionStartResponse:]):
While a request to start data interaction is in flight, put the remainder of the test on hold until the web
process returns. Then continue the test by scheduling a progress advance call. This addresses a race condition
wherein the the web process might take longer than usual to process the request to start data interaction, and
in the meantime, DataInteractionSimulator would end up completing the rest of the test before a response from
the web process is received, which then causes no simulated delegate methods to be fired.
(-[DataInteractionSimulator initWithWebView:startLocation:endLocation:]): Deleted.
(-[DataInteractionSimulator run]): Deleted.
2017-02-16 Wenson Hsieh <wenson_hsieh@apple.com>
Remove unused test pages in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=168462
Reviewed by Anders Carlsson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Removed.
2017-02-16 Alex Christensen <achristensen@webkit.org>
Special URLs without a host are invalid
https://bugs.webkit.org/show_bug.cgi?id=168461
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2017-02-10 Filip Pizlo <fpizlo@apple.com>
The collector thread should only start when the mutator doesn't have heap access
https://bugs.webkit.org/show_bug.cgi?id=167737
Reviewed by Keith Miller.
Make more tests collect continuously.
* Scripts/run-jsc-stress-tests:
2017-02-16 Tim Horton <timothy_horton@apple.com>
WKWebView inside a UICollectionView flashes when items are inserted above it
https://bugs.webkit.org/show_bug.cgi?id=168376
<rdar://problem/29322051>
Reviewed by Simon Fraser.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _setStableStateOverride:]):
Update the one external caller of this internal method...
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::doAfterVisibleContentRectUpdate):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::doAfterVisibleContentRectUpdate):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::doAfterVisibleContentRectUpdate):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::doAfterVisibleContentRectUpdate):
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::doAfterVisibleContentRectUpdate):
Expose doAfterVisibleContentRectUpdate to DRT and WKTR. It is called
back after we dispatch a visible content rect update from the UI process
to the Web Content process, so any messages sent from the block will arrive
after the visible content rect update.
2017-02-16 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] Add two new buildbots that build-only test on Debian stable and Ubuntu LTS.
https://bugs.webkit.org/show_bug.cgi?id=168321
This bots should be added to the trunk build scheduler.
Unreviewed fix after r212429.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2017-02-16 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] Add two new buildbots that build-only test on Debian stable and Ubuntu LTS
https://bugs.webkit.org/show_bug.cgi?id=168321
Reviewed by Michael Catanzaro.
The additionalArgument --default-cmake-features is used both to
skip the JHBuild (InstallGtkDependencies) build step and to build
with the default features from the CMake config.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Factory.__init__):
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
2017-02-15 Lucas Forschler <lforschler@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=168386
Remove EFL from build.webkit.org
Reviewed by Alex Christensen
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DeleteStaleBuildFiles.start):
(appendCustomBuildFlags):
(RunWebKitTests.start):
(RunBuiltinsTests):
(Factory.__init__):
(TestFactory.__init__):
(loadBuilderConfig):
(InstallEflDependencies): Deleted.
(RunEflAPITests): Deleted.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
(Analyzer.prototype._triggeringQueue):
* 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.linux-efl img.logo): Deleted.
* BuildSlaveSupport/build.webkit.org-config/templates/root.html:
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
2017-02-15 Alex Christensen <achristensen@webkit.org>
Unreviewed, rolling out r212169.
Broke iOS WebInspector
Reverted changeset:
"WebInspector: refactor RemoteInspector to move cocoa specific
code to their own files"
https://bugs.webkit.org/show_bug.cgi?id=166681
http://trac.webkit.org/changeset/212169
2017-02-15 Jonathan Bedard <jbedard@apple.com>
webkitpy: Fix DarwinPort._get_crash_log()
https://bugs.webkit.org/show_bug.cgi?id=168372
<rdar://problem/30535156>
Reviewed by Daniel Bates.
Callers of _get_crash_log expect a pair to be returned and do not check it's return value.
DarwinPort should return the expected return value for _get_crash_log.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort._get_crash_log): Call parent class's implementation of _get_crash_log.
2017-02-15 Chris Dumez <cdumez@apple.com>
[iOS] Form Validation Bubble should be sensitive to Dynamic Type
https://bugs.webkit.org/show_bug.cgi?id=168291
<rdar://problem/30508593>
Reviewed by Tim Horton.
Drop overridePreference() implementation in iOS's UIScriptController
as it was only used for the minimum font size setting and this setting
is not exposed on iOS.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::overridePreference):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2017-02-15 Jonathan Bedard <jbedard@apple.com>
webkitpy: Memoize app_identifier_from_bundle for efficiency, call parent class for _get_crash_log
https://bugs.webkit.org/show_bug.cgi?id=168329
<rdar://problem/30518832>
Reviewed by Daniel Bates.
When testing on device, app_identifier_from_bundle is repeatedly called but the return value will
never change given the same input arguments. Memoize function for efficiency.
* Scripts/webkitpy/port/darwin.py: Add memoized import.
(DarwinPort):
(DarwinPort.app_identifier_from_bundle): Memoize to avoid extra executions of PlistBuddy.
2017-02-15 Jonathan Bedard <jbedard@apple.com>
webkitpy: Remove unused import from darwin.py
https://bugs.webkit.org/show_bug.cgi?id=168371
Reviewed by Alex Christensen.
* Scripts/webkitpy/port/darwin.py: Remove unused 'time' module.
2017-02-15 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Credentials stored by libsoup are used even StoredCredentials policy is DoNotAllowStoredCredentials
https://bugs.webkit.org/show_bug.cgi?id=168364
Reviewed by Michael Catanzaro.
This can happen if a previous load with allowed to use stored credentials authenticated successfully, saving the
credentials in libsoup. It's actually a libsoup bug, but since it's causing layout test failures and we have
patches for them, let's patch out jhbuild until we have a new libsoup version to depend on.
Fixes: http/tests/security/credentials-from-different-domains.html
http/tests/xmlhttprequest/cross-origin-no-authorization.html
* gtk/jhbuild.modules:
* gtk/patches/libsoup-auth-Fix-async-authentication-when-flag-SOUP_MESSAGE.patch: Added.
* gtk/patches/libsoup-auth-do-not-use-cached-credentials-in-lookup-method-.patch: Added.
2017-02-14 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Update cookie manager API to properly work with ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=168230
Reviewed by Michael Catanzaro.
Update unit tests and add new cases for the new API.
* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
* TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
(testCookieManagerEphemeral):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(testWebContextEphemeral):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewEphemeral):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp:
(serverCallback):
(testWebsiteDataEphemeral):
(testWebsiteDataCookies):
(beforeAll):
2017-02-14 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] Support data interaction on links
https://bugs.webkit.org/show_bug.cgi?id=168331
<rdar://problem/30200837>
Reviewed by Tim Horton.
Adds 2 unit tests checking that data interaction from a link (with or without a background image) into an
editable area results in the link URL being inserted.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-02-14 Jason Rinn <jrinn@apple.com>
Add a test for new WebKit Cocoa API, _getContentsAsString.
https://bugs.webkit.org/show_bug.cgi?id=168147
<rdar://problem/30502539>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewGetContents.mm: Added.
(TEST):
2017-02-14 Matt Rajca <mrajca@apple.com>
Website policies: iframes should respect the autoplay policy of the top-level document
https://bugs.webkit.org/show_bug.cgi?id=168333
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2/autoplay-check-frame.html: Added.
* TestWebKitAPI/Tests/WebKit2/autoplay-check-in-iframe.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):
2017-02-14 Chris Dumez <cdumez@apple.com>
HTML Form Validation bubble should take minimum font size setting into consideration
https://bugs.webkit.org/show_bug.cgi?id=168271
<rdar://problem/29869869>
Reviewed by Simon Fraser.
Extend UIScriptController's contentsOfUserInterfaceItem() to also return the
font size of the validation bubble.
Add an overridePreference() method to UIScriptController. This is currently
used to override the value of the minimumFontSize setting. testRunner's
overridePreference() is not usable on WK2 because it does not update the
value of the preference on the UIProcess side.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::overridePreference):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::overridePreference):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::overridePreference):
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::contentsOfUserInterfaceItem):
(WTR::UIScriptController::overridePreference):
2017-02-14 Florian Bruhin <git@the-compiler.org>
Use a set instead of a list for tests when parsing expectations
https://bugs.webkit.org/show_bug.cgi?id=168304
In _collect_matching_tests, a lot of membership tests are done on a giant list
of strings. By making it a set instead, we can make those much faster, and
there's no reason for it to be a list.
With ~45k tests and some 1000 expectations, this reduces the parse time from 34s
to 3s on my machine.
Reviewed by Ryosuke Niwa.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser.__init__):
(TestExpectationParser._collect_matching_tests):
2017-02-14 Jonathan Bedard <jbedard@apple.com>
Unreviewed build-fix after r212297.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.stop): Should return value of the ServerProcess's stop.
2017-02-14 Carlos Alberto Lopez Perez <clopez@igalia.com>
[CMake] build-webkit should allow building with the default cmake configuration
https://bugs.webkit.org/show_bug.cgi?id=168323
Reviewed by Michael Catanzaro.
Add a --default-cmake-features switch that makes the script pass
no value for any of the features defined by build-webkit, that
way the default values from the port cmake config will be used.
* Scripts/build-webkit:
(cMakeArgsFromFeatures):
2017-02-14 Jonathan Bedard <jbedard@apple.com>
Unreviewed build-fix after r212297.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.stop): Handle case where there is no process to kill.
2017-02-14 Carlos Alberto Lopez Perez <clopez@igalia.com>
[CMake] build-webkit should print the cmake command executed
https://bugs.webkit.org/show_bug.cgi?id=168318
Reviewed by Michael Catanzaro.
Run the cmake commands to configure or start the build through
a wrapper that prints the command before executing it.
* Scripts/webkitdirs.pm:
(systemVerbose):
(generateBuildSystemFromCMakeProject):
(buildCMakeGeneratedProject):
(cleanCMakeGeneratedProject):
2017-02-14 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests for iOS Simulator always complains that stopping WebKitTestRunnerApp.app times out
https://bugs.webkit.org/show_bug.cgi?id=168150
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.stop): Close app before calling ServerProcess's stop.
(SimulatorProcess._kill): Move closing of app into stop().
* Scripts/webkitpy/xcode/simulator.py:
(Device.launch_app):
(Device.terminate_app): Deleted.
2017-02-14 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r212192): [GTK] Broke downloads API tests
https://bugs.webkit.org/show_bug.cgi?id=168193
Unreviewed. Update test expectations after r212192.
The suggested filename now includes a file extensions if the MIME type is known.
* TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
(testDownloadRemoteFile):
(testDownloadMIMEType):
2017-02-14 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r212237.
https://bugs.webkit.org/show_bug.cgi?id=168298
This was a wrong fix (Requested by rniwa on #webkit).
Reverted changeset:
"Nwtr unexpectedly passes mismatch ref test if the hashes
doesn't match but no diff"
https://bugs.webkit.org/show_bug.cgi?id=168221
http://trac.webkit.org/changeset/212237
2017-02-13 Alex Christensen <achristensen@webkit.org>
URLs with an invalid IPv4 address should be invalid
https://bugs.webkit.org/show_bug.cgi?id=168260
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
Update tests to reflect new correct behavior.
2017-02-13 Don Olmstead <don.olmstead@am.sony.com>
[WinCairo] Add Build Slave
https://bugs.webkit.org/show_bug.cgi?id=168263
Reviewed by Lucas Forschler.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2017-02-13 Wenson Hsieh <wenson_hsieh@apple.com>
Fix the build after r212254
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _currentLocation]):
2017-02-13 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] Add test infrastructure and unit tests for data interaction
https://bugs.webkit.org/show_bug.cgi?id=168159
<rdar://problem/30477634>
Reviewed by Tim Horton.
Uses the testing delegate introduced in WebKit2 to override the gesture recognizer used to initiate data
interaction. Instead of being driven by UIKit, the DataInteractionSimulator drives this overridden gesture
recognizer by making the WKContentView call its dataInteractionGestureRecognized method. To simulate an actual
gesture being performed, we fire the gesture recognizer (or call the data interaction delegate methods, if the
gesture has already been recognized) at regular intervals over the course of the test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Added.
New test pages for data interaction.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Added.
(TestWebKitAPI::runTestsExpectingToObserveEvents):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView stringByEvaluatingJavaScript:]):
* TestWebKitAPI/ios/DataInteractionSimulator.h: Added.
* TestWebKitAPI/ios/DataInteractionSimulator.mm: Added.
(-[MockLongPressGestureRecognizer initWithWindow:]):
(-[MockLongPressGestureRecognizer locationInView:]):
(-[MockLongPressGestureRecognizer state]):
(-[MockLongPressGestureRecognizer numberOfTouches]):
(-[DataInteractionSimulator initWithWebView:startLocation:endLocation:]):
(-[DataInteractionSimulator dealloc]):
(-[DataInteractionSimulator run]):
Performs a data interaction gesture from the start location to the end location with linear interpolation. For
now, the timestep and progress per tick are 30ms and 3.33%, respectively, which means that tests should complete
in a little under 1 second, though this can be easily changed to be configurable in the future if needed.
(-[DataInteractionSimulator _advanceProgress]):
Fired periodically to drive the data interaction gesture. Schedules a call of itself until the test is
completed, and calls _finishDataInteraction when progress is at 1.
(-[DataInteractionSimulator _finishDataInteraction]):
(-[DataInteractionSimulator _currentLocation]):
(-[DataInteractionSimulator _scheduleAdvanceProgress]):
(-[DataInteractionSimulator _recognizeGestureAtLocation:withState:]):
(-[DataInteractionSimulator dataInteractionGestureRecognizer]):
(-[DataInteractionSimulator webViewDidPerformDataInteractionControllerOperation:]):
(-[DataInteractionSimulator webView:beginDataInteractionWithSourceIndex:gestureRecognizer:]):
2017-02-13 Alex Christensen <achristensen@webkit.org>
Percent should be allowed in non-special URL hosts
https://bugs.webkit.org/show_bug.cgi?id=168255
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2017-02-13 Fujii Hironori <Hironori.Fujii@sony.com>
Nwtr unexpectedly passes mismatch ref test if the hashes doesn't match but no diff
https://bugs.webkit.org/show_bug.cgi?id=168221
Reviewed by Ryosuke Niwa.
There is a logic error in comparing mismatch ref test images. In
mismatch ref tests, it should be failed if two images has no diff.
But, if the hashes are different, nwtr unexpectedly pass the
mismatch ref test.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_output_with_reference): Fail the
mismatch ref test if hashes of two images are equal. Invoke
ImageDiff if the hashes don't match.
2017-02-13 Myles C. Maxfield <mmaxfield@apple.com>
Update custom line breaking iterators to the latest version of Unicode
https://bugs.webkit.org/show_bug.cgi?id=168182
Reviewed by Zalan Bujtas.
Treat the system's ICU as the source of truth to compare breaking positions against.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/LineBreaking.mm: Added.
(generateJavaScriptForTest):
(breakingLocationsFromICU):
(testAFewStrings):
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/AllAhem.svg: Renamed from LayoutTests/css3/line-break/resources/AllAhem.svg.
* TestWebKitAPI/Tests/WebKit2Cocoa/LineBreaking.html: Added.
2017-02-12 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Several failing WebViewEditor API tests
https://bugs.webkit.org/show_bug.cgi?id=161608
Reviewed by Carlos Garcia Campos.
Selection.collapse() requires arguments; passing no arguments means the JS that selects the
text range here never gets evaluated. Perhaps there was a DOM API change? Changing it to use
Selection.removeAllRanges(), which seems like a better function anyway, fixes all the tests
except the first one, which is still broken due to unrelated bug #151654.
* Scripts/run-gtk-tests:
(TestRunner):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:
2017-02-12 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, skip flaky WebKitPrintOperation/custom-widget test
* Scripts/run-gtk-tests:
(TestRunner):
2017-02-12 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, skip flaky form-controls-associated-signal test
* Scripts/run-gtk-tests:
(TestRunner):
2017-02-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Handle caps lock indicator in event modifiers
https://bugs.webkit.org/show_bug.cgi?id=168186
Reviewed by Michael Catanzaro.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::webkitModifiersToGDKModifiers): Handle kWKEventModifiersCapsLockKey.
2017-02-11 Simon Fraser <simon.fraser@apple.com>
MiniBrowser WK1 fails to update URL for within-page navigations
https://bugs.webkit.org/show_bug.cgi?id=168173
Reviewed by Tim Horton.
Implement -webView:didChangeLocationWithinPageForFrame: so that clicking on named
anchors updates the URL field.
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController webView:didChangeLocationWithinPageForFrame:]):
2017-02-10 John Wilander <wilander@apple.com>
Updates to Resource Load Statistics: Get the right website data store and introduce timeout for user interaction
https://bugs.webkit.org/show_bug.cgi?id=167474
<rdar://problem/24681808>
<rdar://problem/24703286>
<rdar://problem/30290270>
This patch adds test infrastructure to allow testing
of the various rules in place for data records removal.
Reviewed by Andy Estes.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
Callback mechanism to tell pages that a website data store