blob: 850e22062f2f89324ee08d122c99646d144448b1 [file] [log] [blame]
2017-12-28 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][CMake] Use add_custom_command to copy each forwarding header files
https://bugs.webkit.org/show_bug.cgi?id=180921
Reviewed by Brent Fulgham.
TestWTFLib needs forwarding headers of WebCore. Use
add_dependencies instead of invoking the DerivedSources/WebCore/preBuild.cmd.
* TestWebKitAPI/PlatformWin.cmake:
2017-12-22 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, try to fix the Sierra build again after r226277.
The macOS 10.12 SDK does not know about NSControlStateValue. Apply the same tweak in r226279, but to MiniBrowser
this time.
* MiniBrowser/AppKitCompatibilityDeclarations.h:
2017-12-22 Wenson Hsieh <wenson_hsieh@apple.com>
Fix build failures due to using deprecated AppKit symbols
https://bugs.webkit.org/show_bug.cgi?id=181110
<rdar://problem/36162865>
Reviewed by Dan Bernstein and Tim Horton.
Transition to non-deprecated AppKit constants in MiniBrowser.
* MiniBrowser/AppKitCompatibilityDeclarations.h: Added.
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController validateMenuItem:]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
2017-12-21 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Deprecate and replace webkit_form_submission_request_get_text_fields
https://bugs.webkit.org/show_bug.cgi?id=176725
Reviewed by Carlos Garcia Campos.
Test the new function.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewSubmitForm):
2017-12-22 Jonathan Bedard <jbedard@apple.com>
webkitpy: Refactor simulator code (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=180555
<rdar://problem/36131381>
Reviewed by Alexey Proskuryakov.
The new SimulatedDeviceManager defined in this patch is designed to
act as a singleton. Consumers may request devices with certain
attributes, the the manager will then return a list of devices fulfilling the
request. The manager will pick between:
- Existing and booted simulators
- Existing simulators currently shut down
- Custom constructed simulators
These simulators will then be globally available.
This patch duplicates code in webkitpy/xcode/simulated_device.py,
webkitpy/xcode/simulator.py and webkitpy/port/ios_simulator.py. This duplicated
code will be removed in parts 2 and 3.
* Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.__init__): Add tvOS and watchOS.
* Scripts/webkitpy/xcode/device_type.py: Added.
(DeviceType): Holds the software and hardware information for a specific device.
Designed to allow for partial matching.
(DeviceType.from_string): Parses a string (such as iPhone 6s) into a DeviceType
object.
(DeviceType._define_software_variant_from_hardware_family): The software_variant
of a device can usually be implied from its hardware_family.
(DeviceType.check_consistency): Verify that the software_variant matches the
hardware_family and that software_version and hardware_variant have their
respective prerequisites.
(DeviceType.__init__):
(DeviceType.__str__): Converts a DeviceType object into a human readable string.
(DeviceType.__eq__): Compares two DeviceType objects treating None as a wildcard.
(DeviceType.__contains__): Allow partial version mapping.
* Scripts/webkitpy/xcode/device_type_unittest.py: Added.
(DeviceTypeTest):
(DeviceTypeTest.test_iphone_initialization):
(DeviceTypeTest.test_ipad_initialization):
(DeviceTypeTest.test_generic_ios_device):
(DeviceTypeTest.test_watch_initialization):
(DeviceTypeTest.test_tv_initialization):
(DeviceTypeTest.test_from_string):
(DeviceTypeTest.test_comparison):
(DeviceTypeTest.test_contained_in):
* Scripts/webkitpy/xcode/new_simulated_device.py: Added.
(DeviceRequest): Adds additional options to be used when requesting a device.
(DeviceRequest.__init__):
(SimulatedDeviceManager):
(SimulatedDeviceManager.Runtime): Representation of a supported simulated runtime.
Designed as an internal representation, not to be used outside this class.
(SimulatedDeviceManager.Runtime.__init__):
(SimulatedDeviceManager._create_runtimes): Extract a list of available runtimes.
(SimulatedDeviceManager._create_device_with_runtime): Return a new or existing device
with the provided runtime matching the provided dictionary.
(SimulatedDeviceManager.populate_available_devices): Use simctl to update the list of devices
available on this machine.
(SimulatedDeviceManager.available_devices): Populate the list of available device if empty
and return that list.
(SimulatedDeviceManager._find_exisiting_device_for_request): Return an existing device matching
the provided request if one exists.
(SimulatedDeviceManager._find_available_name): Given a name base, return a string which
does not match the name of an initialized device.
(SimulatedDeviceManager. get_runtime_for_device_type): Map device type to runtime object.
(SimulatedDeviceManager._disambiguate_device_type): The user may have requested a DeviceType
with only partial definitions. In this case, use existing runtimes and devices to generate
a DeviceType to build.
(SimulatedDeviceManager._get_device_identifier_for_type): Return a simctl device type string
given a DeviceType object.
(SimulatedDeviceManager._create_or_find_device_for_request): Given a DeviceRequest object,
either find an existing device which matches the request or create one matching
(SimulatedDeviceManager._does_fulfill_request): Given a device and list of requests, return
the request which the provided device matches, if there are any.
(SimulatedDeviceManager._wait_until_device_in_state): Wait until a device enters a specific
state.
(SimulatedDeviceManager.initialize_devices): Given a list of requests, return a list
of devices which fulfill the requests. This function will use both existing devices
and create devices. This function will also start the Simulator.app.
(SimulatedDeviceManager.max_supported_simulators): Uses the number of available cores,
maximum number of processes and the available RAM to calculate the number of
simulated devices this machine can support.
(SimulatorManager.swap): Shuts down the specified device and boots a new one which
matches the specified request.
(SimulatorManager.tear_down): Shut down any simulators managed by this class.
(SimulatedDevice):
(SimulatedDevice.DeviceState): Copied from webkitpy/xcode/simulator.py.
(SimulatedDevice.__init__):
(SimulatedDevice.state): Use the device's plist to determine the current state of
the device. Note that this function will cache the result for a second.
(SimulatedDevice.is_booted_or_booting):
(SimulatedDevice._shut_down): Shut down this device and remove it from the list of
initialized devices.
(SimulatedDevice._delete): Delete this device and remove it from the list of
available devices.
(SimulatedDevice._tear_down): Shut down and delete this device, if it is managed by
the SimulatorManager.
(SimulatedDevice.install_app): Copied from webkitpy/xcode/simulated_device.py.
(SimulatedDevice.launch_app): Ditto.
(SimulatedDevice.__eq__): Ditto.
(SimulatedDevice.__ne__): Ditto.
(SimulatedDevice.__repr__): Map state to string and include device type.
* Scripts/webkitpy/xcode/new_simulated_device_unittest.py: Added.
(SimulatedDeviceTest):
(SimulatedDeviceTest.reset_simulated_device_manager):
(SimulatedDeviceTest.tear_down):
(SimulatedDeviceTest.mock_host_for_simctl):
(device_by_criteria):
(test_available_devices):
(test_existing_simulator):
(change_state_to):
(test_swapping_devices):
2017-12-21 Ling Ho <lingcherd_ho@apple.com>
"Release 32-bit Build EWS" queue should be moved up to macOS High Sierra on Bot Watcher's Dashboard
https://bugs.webkit.org/show_bug.cgi?id=181071
Reviewed by Alexey Proskuryakov.
2017-12-21 Mark Lam <mark.lam@apple.com>
Add WTF::PoisonedUniquePtr to replace std::unique_ptr when poisoning is desired.
https://bugs.webkit.org/show_bug.cgi?id=181062
<rdar://problem/36167040>
Reviewed by Chris Dumez.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp:
- Removed an unneeded #include.
* TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::poisonedPtrFoo):
* TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp: Added.
(TestWebKitAPI::TEST):
2017-12-21 Jeremy Jones <jeremyj@apple.com>
Update FULLSCREEN_API feature defines.
https://bugs.webkit.org/show_bug.cgi?id=181015
Reviewed by Tim Horton.
Change enabled iphone sdk for FULLSCREEN_API.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-12-21 Don Olmstead <don.olmstead@sony.com>
[AppleWin] Auxiliary libraries should be updated within build-webkit
https://bugs.webkit.org/show_bug.cgi?id=181065
Reviewed by Alex Christensen.
* EWSTools/Start-Queue.ps1:
* Scripts/build-webkit:
(cMakeArgsFromFeatures): Deleted.
(writeCongrats): Deleted.
* Scripts/update-webkit:
2017-12-21 Jer Noble <jer.noble@apple.com>
Add initial DOM support for Media Capabilities
https://bugs.webkit.org/show_bug.cgi?id=181064
Reviewed by Eric Carlson.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-12-21 Guillaume Emont <guijemont@igalia.com>
build-jsc: allow to build out of tree
https://bugs.webkit.org/show_bug.cgi?id=180810
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/build-jsc:
2017-12-20 Jonathan Bedard <jbedard@apple.com>
webkitpy: simctl cannot handle partial runtime version matches
https://bugs.webkit.org/show_bug.cgi?id=181055
<rdar://problem/36163798>
Reviewed by Alexey Proskuryakov.
A request for a simulator runtime of iOS 11 should be fulfilled by
iOS 11.0.1.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator.runtime): Allow for partial matching of iOS runtime versions.
* Scripts/webkitpy/xcode/simulator_unittest.py:
(test_failed_partial_version_match): Test that partial version mapping does
not give false positives.
2017-12-20 Daniel Bates <dabates@apple.com>
MarkerSubrange.SubdivideGrammarAndSelectionOverlap{Frontmost, FrontmostWithLongestEffectiveRange} are failing
https://bugs.webkit.org/show_bug.cgi?id=181014
Reviewed by Simon Fraser.
Adds a new test to ensure we compute overlapping subranges in paint order for the default
overlap strategy. Enable tests MarkerSubrange.SubdivideGrammarAndSelectionOverlap{Frontmost, FrontmostWithLongestEffectiveRange}
now that they pass.
* TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
(TestWebKitAPI::TEST):
2017-12-20 Daniel Bates <dabates@apple.com>
Remove Alternative Presentation Button
https://bugs.webkit.org/show_bug.cgi?id=180500
<rdar://problem/35891047>
Reviewed by Simon Fraser.
We no longer need the alternative presentation button.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ClickAlternativePresentationButton.mm: Removed.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
(-[AlternativePresentationButtonDelegate _webView:didClickAlternativePresentationButtonWithUserInfo:]): Deleted.
(-[AlternativePresentationButtonDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.
2017-12-20 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION(r222699): Drag & drop from a web page to Gmail fails
https://bugs.webkit.org/show_bug.cgi?id=181019
Reviewed by Wenson Hsieh.
Added assertions for filenames.
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
2017-12-19 Daniel Bates <dabates@apple.com>
MarkerSubrange.SubdivideGrammarAndSelectionOverlap{Frontmost, FrontmostWithLongestEffectiveRange} are failing
https://bugs.webkit.org/show_bug.cgi?id=181014
Temporarily disable tests while I investigate offline.
* TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
(TestWebKitAPI::TEST):
2017-12-19 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, rebaseline an API test result for El Capitan and Sierra.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
2017-12-19 Ryosuke Niwa <rniwa@webkit.org>
Don't convert pasted content to use blob URL in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=180969
Reviewed by Wenson Hsieh.
Added API tests to make sure we can access the images in the pasted content.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html:
* TestWebKitAPI/Tests/WebKitLegacy/mac: Added.
* TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm: Added.
(writeRTFDToPasteboard):
(-[SubresourceForBlobURLFrameLoadDelegate webView:didFinishLoadForFrame:]):
(-[SubresourceForBlobURLFrameLoadDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
(TestWebKitAPI::TEST):
2017-12-19 Daniel Bates <dabates@apple.com>
Implement InlineTextBox painting using marker subranges
https://bugs.webkit.org/show_bug.cgi?id=180984
<rdar://problem/36139364>
Reviewed by David Hyatt.
Update unit tests now that we use subranges for the painting of dragged content.
* TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
(WebCore::operator<<):
(WebCore::operator==): Deleted; moved to class MarkerSubrange.
2017-12-19 Daniel Bates <dabates@apple.com>
Add support for computing the frontmost longest effective marker subrange
https://bugs.webkit.org/show_bug.cgi?id=180985
Reviewed by Dave Hyatt.
Adds a test case to ensure that we compute the minimum list of maximal length non-
overlapping subranges when using strategy OverlapStrategy::FrontmostWithLongestEffectiveRange.
* TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp:
(TestWebKitAPI::TEST):
2017-12-18 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] The 'webkitattachmentbloburl' attribute should not persist after markup serialization
https://bugs.webkit.org/show_bug.cgi?id=180924
<rdar://problem/36099093>
Reviewed by Tim Horton.
Tweaks some existing tests to check that temporary attachment serialization attributes don't stick around on the
attachment elements.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[TestWKWebView hasAttribute:forQuerySelector:]):
(TestWebKitAPI::TEST):
2017-12-18 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Support representing pasted or dropped content using attachment elements
https://bugs.webkit.org/show_bug.cgi?id=180892
<rdar://problem/36064210>
Reviewed by Tim Horton.
Adds a new API test to exercise pasting an attributed string with multiple attachments of different types.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(testZIPData):
(platformCopyRichTextWithMultipleAttachments):
(TestWebKitAPI::TEST):
2017-12-18 Brady Eidson <beidson@apple.com>
Add ability to API test Service Workers via a custom protocol.
https://bugs.webkit.org/show_bug.cgi?id=180911
Reviewed by Chris Dumez.
Adds a very basic SW test:
- Verify WebsiteDataStore can wipe all SW registration data.
- Fire up a web page with a service worker
- Verify SW registration data for that page exists in the WebsiteDataStore.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: Added.
2017-12-18 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Insert images as inline attachments when pasting and dropping
https://bugs.webkit.org/show_bug.cgi?id=180853
<rdar://problem/35756268>
Reviewed by Tim Horton.
Adds new WKAttachment API tests and test support. See comments below for more detail.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
Tweak the editing test page markup, such that document.body.innerHTML doesn't additionally contain the contents
of the script tag.
(webViewForTestingAttachments):
(testImageFileURL):
(testImageData):
(testPDFFileURL):
(testPDFData):
(platformCopyRichTextWithAttachment):
(platformCopyPNG):
(platformImageWithData):
Add some platform helper functions, which some of the platform-agnostic tests below use to resolve differences
between iOS and macOS when writing to the pasteboard and creating an image from data.
(TestWebKitAPI::TEST):
Add new API tests to exercise drag and drop/copy and paste of rich content (namely, images and files) on iOS and
macOS. iOS attachment tests use DataInteractionSimulator to simulate UIKit drag and drop coordination. On macOS,
handling of dropped content is much closer to handling of pasted content (they use the same codepaths to read
from the platform pasteboard), so exercising paste codepaths on Mac is sufficient.
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _resetSimulatedState]):
(-[DataInteractionSimulator insertedAttachments]):
(-[DataInteractionSimulator removedAttachments]):
Teach the iOS drag and drop simulator to keep track of attachment elements that are inserted during a drop. We
also keep track of removed attachments here too, though no default drop handling scenario should trigger
attachment removal, so we simply use this to check that no _WKAttachments were removed during a drop.
(-[DataInteractionSimulator _webView:didInsertAttachment:]):
(-[DataInteractionSimulator _webView:didRemoveAttachment:]):
2017-12-18 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] Move the destination of WinCairoRequirements.zip into WebKitLibraries and register it and related files as git ignore files.
https://bugs.webkit.org/show_bug.cgi?id=180875
<rdar://problem/36091434>
Reviewed by Darin Adler.
update-webkit-wincairo-libs.py gets broken by r226002. Downloaded
WinCairoRequirements.zip can not be found to unzip because the
destination was changed.
* Scripts/update-webkit-wincairo-libs.py: Specify the correct zip path to unzip.
2017-12-18 Alexey Proskuryakov <ap@apple.com>
BitVector::OutOfLineBits is always reported as a leak
https://bugs.webkit.org/show_bug.cgi?id=121662
Adding one more signature to ignore list.
* Scripts/webkitpy/port/leakdetector.py:
(LeakDetector._callstacks_to_exclude_from_leaks):
2017-12-18 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add WebKitWebView::web-process-terminated signal and deprecate web-process-crashed
https://bugs.webkit.org/show_bug.cgi?id=180862
Reviewed by Michael Catanzaro.
Use WebKitWebView::web-process-terminated instead of web-process-crashed in tests. I'm not adding a test for
WEBKIT_WEB_PROCESS_EXCEEDED_MEMORY_LIMIT because we would need to allocate more than 1GB in the test and wait
30 seconds, and we don't want to do either in unit tests.
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(webProcessTerminatedCallback):
(testWebKitWebViewProcessCrashed):
(webProcessCrashedCallback): Deleted.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView):
(WebViewTest::webProcessTerminated):
(WebViewTest::webProcessCrashed): Deleted.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2017-12-17 Mark Lam <mark.lam@apple.com>
Enhance Ref and RefPtr to be able to work with smart pointers.
https://bugs.webkit.org/show_bug.cgi?id=180762
<rdar://problem/36027122>
Reviewed by JF Bastien and Darin Adler.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/Poisoned.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::passWithRef):
(TestWebKitAPI::PoisonedRefCheckingRefLogger::PoisonedRefCheckingRefLogger):
(TestWebKitAPI::PoisonedRefCheckingRefLogger::ref):
(TestWebKitAPI::PoisonedRefCheckingRefLogger::deref):
(TestWebKitAPI::DerivedPoisonedRefCheckingRefLogger::DerivedPoisonedRefCheckingRefLogger):
* TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::f1):
(TestWebKitAPI::ConstRefCounted::create):
(TestWebKitAPI::returnConstRefCountedRef):
(TestWebKitAPI::returnRefCountedRef):
(TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::PoisonedRefPtrCheckingRefLogger):
(TestWebKitAPI::loggerName):
(TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::ref):
(TestWebKitAPI::PoisonedRefPtrCheckingRefLogger::deref):
2017-12-16 Youenn Fablet <youenn@apple.com>
Add a script to automate W3c web-platform-tests pull request creations from WebKit commits
https://bugs.webkit.org/show_bug.cgi?id=169462
Reviewed by Darin Adler.
Adding some git helper routines used by WPT exporter.
Copying WPT github utility files from Chromium.
Updating web.py/web_mock.py to cope with these new files.
Implementing test exporter in test_exporter.py.
This script takes a WebKit commit as input and will create a WPT commit in a local WPT clone.
It will then push the commit to a public GitHub repository identified by a username parameter.
This parameter is passed through the command line or searched through git config/environment variables.
The script can optionally create a pull request to the official WPT GitHub repository.
User must provide a GitHub token to allow the script to make the PR on behalf of the user.
In that case, a comment is added to the corresponding bugzilla if a bug ID is given or can be found from the change log,
to easily link the pull request with the bugzilla bug.
* Scripts/export-w3c-test-changes: Added.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.reset_hard):
(Git):
(Git.am):
(Git.commit):
(Git.format_patch):
(Git.request_pull):
(Git.remote):
(Git.push):
(Git.checkout_new_branch):
* Scripts/webkitpy/common/net/web.py:
(Web.request): Copied from Chromium.
* Scripts/webkitpy/common/net/web_mock.py: Copied needed code from Chromium.
* Scripts/webkitpy/w3c/test_exporter.py: Added.
(TestExporter):
(TestExporter.__init__):
(TestExporter._init_repository):
(TestExporter.download_and_commit_patch):
(TestExporter.clean):
(TestExporter.create_branch_with_patch):
(TestExporter.push_to_public_repository):
(TestExporter.make_pull_request):
(TestExporter.delete_local_branch):
(TestExporter.create_git_patch):
(TestExporter.create_upload_remote_if_needed):
(TestExporter.do_export):
(parse_args):
(configure_logging):
(configure_logging.LogHandler):
(configure_logging.LogHandler.format):
(main):
* Scripts/webkitpy/w3c/test_exporter_unittest.py: Added.
(TestExporterTest):
(TestExporterTest.MockBugzilla):
(TestExporterTest.MockBugzilla.__init__):
(TestExporterTest.MockBugzilla.fetch_bug_dictionary):
(TestExporterTest.MockBugzilla.post_comment_to_bug):
(TestExporterTest.MockGit):
(TestExporterTest.MockGit.clone):
(TestExporterTest.MockGit.__init__):
(TestExporterTest.MockGit.fetch):
(TestExporterTest.MockGit.checkout):
(TestExporterTest.MockGit.reset_hard):
(TestExporterTest.MockGit.push):
(TestExporterTest.MockGit.format_patch):
(TestExporterTest.MockGit.delete_branch):
(TestExporterTest.MockGit.checkout_new_branch):
(TestExporterTest.MockGit.am):
(TestExporterTest.MockGit.commit):
(TestExporterTest.MockGit.remote):
(TestExporterTest.test_export):
* Scripts/webkitpy/w3c/common.py: Copied from chromium.
* Scripts/webkitpy/w3c/wpt_github.py: Copied from chromium.
* Scripts/webkitpy/w3c/wpt_github_mock.py: Copied from chromium.
* Scripts/webkitpy/w3c/wpt_github_unittest.py: Copied from chromium.
2017-12-16 Dan Bernstein <mitz@apple.com>
WKWebView has no equivalent of -[WebView setAlwaysShowVerticalScroller:]
https://bugs.webkit.org/show_bug.cgi?id=180613
<rdar://problem/35946124>
Reviewed by Geoff Garen.
* MiniBrowser/mac/MainMenu.xib: Added Always Show {Horizontal,Vertical} Scroller menu items
to the View menu.
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]): Set the state of the new menu items based
on -alwaysShow{Horizontal,Vertical}Scroller.
(-[WK1BrowserWindowController toggleAlwaysShowsHorizontalScroller:]): Toggle the value.
(-[WK1BrowserWindowController toggleAlwaysShowsVerticalScroller:]): Ditto.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]): Set the state of the new menu items based
on the new property.
(-[WK2BrowserWindowController toggleAlwaysShowsHorizontalScroller:]): Toggle the property.
(-[WK2BrowserWindowController toggleAlwaysShowsVerticalScroller:]): Ditto.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewAlwaysShowsScroller.mm: Added.
(TEST):
2017-12-16 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] Move the destination of WinCairoRequirements.zip into WebKitLibraries and register it and related files as git ignore files.
https://bugs.webkit.org/show_bug.cgi?id=180875
Reviewed by Alex Christensen.
Bug fix. Specify the download destination correctly.
* Scripts/update-webkit-wincairo-libs.py:
2017-12-16 Brent Fulgham <bfulgham@apple.com>
Plugin processes are repeatedly spun up to do nothing
https://bugs.webkit.org/show_bug.cgi?id=180885
<rdar://problem/36082564>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(runTestWithWebsiteDataStore): Check that deleting website data did not
trigger any plugin processes to start up.
2017-12-16 Yusuke Suzuki <utatane.tea@gmail.com>
Remove unnecessary boolean result of start() functions
https://bugs.webkit.org/show_bug.cgi?id=180856
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
2017-12-15 David Quesada <david_quesada@apple.com>
Unreviewed, adding myself to contributors.json
* Scripts/webkitpy/common/config/contributors.json:
2017-12-15 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r225941.
This change introduced LayoutTest crashes and assertion
failures.
Reverted changeset:
"Web Inspector: replace HTMLCanvasElement with
CanvasRenderingContext for instrumentation logic"
https://bugs.webkit.org/show_bug.cgi?id=180770
https://trac.webkit.org/changeset/225941
2017-12-15 Alex Christensen <achristensen@webkit.org>
Introduce SPI _WKWebsitePolicies.websiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=180880
<rdar://problem/35535328>
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[WebsitePoliciesWebsiteDataStoreDelegate webView:startURLSchemeTask:]):
(-[WebsitePoliciesWebsiteDataStoreDelegate webView:stopURLSchemeTask:]):
(TEST):
2017-12-15 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
[GTK] Add proxy option to Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=180750
Reviewed by Michael Catanzaro.
Add command line option to set proxy settings in GTK minibrowser.
* MiniBrowser/gtk/main.c:
(main):
2017-12-14 Basuke Suzuki <Basuke.Suzuki@sony.com>
[webkitpy, Windows] Remove unnecessary debug message
https://bugs.webkit.org/show_bug.cgi?id=180844
Reviewed by Ryosuke Niwa.
* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs._find_newest_log_win): Delete debug print
2017-12-14 David Kilzer <ddkilzer@apple.com>
check-webkit-style: Stop warning about underscores in webrtc source
<https://webkit.org/b/180848>
Reviewed by Joseph Pecoraro.
* Scripts/webkitpy/style/checker.py:
(_PATH_RULES_SPECIFIER): Suppress readability/naming/underscores
warnings under Source/ThirdParty/libwebrtc/Source/webrtc.
2017-12-14 Jonathan Bedard <jbedard@apple.com>
webkitpy: Replace Version.contained_in with Version.__contains__
https://bugs.webkit.org/show_bug.cgi?id=180772
<rdar://problem/36033555>
Reviewed by David Kilzer.
Using __contains__ instead of contained_in allows for the more
Pythonic 'in' operator to be used.
* Scripts/webkitpy/common/version.py:
(Version):
(Version.__contains__): Replace contained_in. Note that self is now
the container.
(Version.contained_in): Deleted.
* Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.to_name):
* Scripts/webkitpy/common/version_unittest.py:
(VersionTestCase.test_contained_in):
2017-12-14 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r225931.
Breaks internal builds.
Reverted changeset:
"Fix Mac CMake build"
https://bugs.webkit.org/show_bug.cgi?id=180835
https://trac.webkit.org/changeset/225931
2017-12-14 Devin Rousso <webkit@devinrousso.com>
Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
https://bugs.webkit.org/show_bug.cgi?id=180770
Reviewed by Joseph Pecoraro.
* Scripts/webkitpy/common/config/watchlist:
2017-12-14 Alexey Proskuryakov <ap@apple.com>
Improve leaks detector output
https://bugs.webkit.org/show_bug.cgi?id=180828
Reviewed by Joseph Pecoraro.
Fixing two issues:
1. run-leaks omits many lines from leaks tool output, making it incompatible with
other tools. Notably, symbolication cannot be performed.
2. run-leaks output goes to "run-webkit-tests --debug-rwt-logging" output. This
makes it much longer than needed, sometimes even overloading buildbot. We don't
need full output in test log, as separate files are created for each of these.
* Scripts/run-leaks: Represent each line in leaks output when parsing, and print
everything except for explicitly excluded leaks. From my testing and reading
the code, it looks like none of our tools should be broken by this change.
* Scripts/webkitpy/port/leakdetector.py: I couldn't find a way to run a helper tool
without dumping all of its output to debug log, so switched to using a file for leaks.
* Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v1.0.pl:
* Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-new.pl:
* Scripts/webkitperl/run-leaks_unittest/run-leaks-report-v2.0-old.pl:
* Scripts/webkitpy/port/leakdetector_unittest.py:
Updated tests for new behavior.
2017-12-14 Brady Eidson <beidson@apple.com>
REGRESSION (r225789): API tests WKProcessPool.InitialWarmedProcessUsed and WebKit.WebsiteDataStoreCustomPaths are failing.
https://bugs.webkit.org/show_bug.cgi?id=180722
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
(TEST):
2017-12-14 Alex Christensen <achristensen@webkit.org>
Fix Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=180835
Reviewed by Andy Estes.
* DumpRenderTree/mac/DumpRenderTree.mm:
* MiniBrowser/mac/WK1BrowserWindowController.m:
2017-12-14 Jonathan Bedard <jbedard@apple.com>
webkitpy: Better name-version mapping (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=179621
<rdar://problem/35589585>
Unreviewed infrastructure fix.
r225856 caused some undesired logging on Linux and Windows.
* Scripts/webkitpy/port/mac.py:
(MacPort.__init__): Use most recent OS release if not on a Mac.
(MacPort.default_baseline_search_path): Make platform explicit.
(MacPort.configuration_specifier_macros): Ditto.
2017-12-14 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: add a common way to run tests with pytest
https://bugs.webkit.org/show_bug.cgi?id=180800
Reviewed by Carlos Alberto Lopez Perez.
We currently use pytestrunner from wpt for w3c tests and our own code for selenium tests. Using the same code
for both would simplify everything, but also allows us to have a custom results recorder to support other test
expectations like TIMEOUT. The code to run selenium tests with pytest has been moved to a new file
pytest_runner.py and made generic to be used also for w3c tests.
* Scripts/webkitpy/webdriver_tests/pytest_runner.py: Added.
(TemporaryDirectory):
(TemporaryDirectory.__enter__):
(TemporaryDirectory.__exit__):
(CollectRecorder):
(CollectRecorder.__init__):
(CollectRecorder.pytest_collectreport):
(HarnessResultRecorder):
(HarnessResultRecorder.__init__):
(HarnessResultRecorder.pytest_collectreport):
(SubtestResultRecorder):
(SubtestResultRecorder.__init__):
(SubtestResultRecorder.pytest_runtest_logreport):
(SubtestResultRecorder._was_timeout):
(SubtestResultRecorder.record_pass):
(SubtestResultRecorder.record_fail):
(SubtestResultRecorder.record_error):
(SubtestResultRecorder.record_skip):
(SubtestResultRecorder.record):
(collect):
(run):
* Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
(do_delayed_imports): Import pytest_runner here to avoid cycles.
(WebDriverSeleniumExecutor.__init__): Save the driver parameter as args member and call do_delayed_imports() if
needed.
(WebDriverSeleniumExecutor.collect): Use pytest_runner.
(WebDriverSeleniumExecutor.run): Ditto.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
(WebDriverTestRunner.print_results): Handle all possible tests results.
(WebDriverTestRunner.print_results.report): Helper to dump test results.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
(WebDriverTestRunnerSelenium.run):
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
(WebDriverTestRunnerW3C.__init__): Do not set PYTEST_TIMEOUT env var.
(WebDriverTestRunnerW3C._is_test): Fix check for support files.
(WebDriverTestRunnerW3C.run): Pass the timeout as parameter to WebDriverW3CExecutor.run().
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
(do_delayed_imports): Import pytest_runner here to avoid cycles.
(WebDriverW3CExecutor.__init__): Call do_delayed_imports() if needed.
(WebDriverW3CExecutor.run): Use pytest_runner.
2017-12-13 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r225864.
This caused the Layout test step to crash out on Debug testers
Reverted changeset:
"REGRESSION (r225789): API tests
WKProcessPool.InitialWarmedProcessUsed and
WebKit.WebsiteDataStoreCustomPaths are failing."
https://bugs.webkit.org/show_bug.cgi?id=180722
https://trac.webkit.org/changeset/225864
2017-12-13 Youenn Fablet <youenn@apple.com>
Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework
https://bugs.webkit.org/show_bug.cgi?id=180713
<rdar://problem/36003031>
Reviewed by Andy Estes.
Reenable the check for non High Sierra builds.
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
2017-12-13 Brady Eidson <beidson@apple.com>
REGRESSION (r225789): API tests WKProcessPool.InitialWarmedProcessUsed and WebKit.WebsiteDataStoreCustomPaths are failing.
https://bugs.webkit.org/show_bug.cgi?id=180722
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
(TEST): Call a new SPI to get the count of WebProcesses hosting WebPages.
2017-12-13 Mark Lam <mark.lam@apple.com>
Fill out some Poisoned APIs, fix some bugs, and add some tests.
https://bugs.webkit.org/show_bug.cgi?id=180724
<rdar://problem/36006884>
Reviewed by JF Bastien.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/Poisoned.cpp: Added.
(TestWebKitAPI::initializeTestPoison):
(TestWebKitAPI::TEST):
2017-12-13 Jonathan Bedard <jbedard@apple.com>
webkitpy: Better name-version mapping (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=179621
<rdar://problem/35589585>
Reviewed by David Kilzer.
Now that we have a central mapping of version numbers to version names, this
mapping should be used to compute version names. This patch treats passes versions
as objects, only mapping them to names when strings are needed.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__): Store os_version as a version object instead of a string.
(PlatformInfo.os_version_name): Convert os_version to a string through the VersionNameMap.
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.__init__): Store os_version as a version object.
(MockPlatformInfo.os_version_name): Mirror PlatformInfo.
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_real_code): Only Mac and Windows have defined version objects.
(TestPlatformInfo.test_os_version): Deleted, this behavior is now managed by VersionNameMap.
* Scripts/webkitpy/common/version.py:
(Version.__cmp__): Allow a version object to be compared with 'None'.
* Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.map): Check for the apple_additions VersionNameMap.
(VersionNameMap.__init__): Add a wincairo mapping, the same as the win mapping.
* Scripts/webkitpy/common/version_unittest.py:
(VersionTestCase.test_compare_versions): Test comparing a version object to 'None'.
* Scripts/webkitpy/layout_tests/models/test_configuration.py:
(TestConfiguration.__init__): Strip formatting from version name. Note that this object still
accepts a string because the version string implicitly contains the platform as well.
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Win7 should be 7SP0 as
it is in the VersionNameMap.
* Scripts/webkitpy/port/apple.py:
(ApplePort): Replace VERSION_FALLBACK_ORDER with a minimum and maximum version. This is required
because it may be the case that scripts are aware of more versions than the port actually supports.
(ApplePort.determine_full_port_name): Use the host operating system to compute the full port name.
(ApplePort._allowed_versions): Return a list of valid port versions by iterating through the
VersionNameMap.
(ApplePort._generate_all_test_configurations): Compute a list of configurations by iterating through
_allowed_versions and converting each version to a string.
(ApplePort._apple_baseline_path): Return a layout test expectation directory inside apple_additions.
(ApplePort._skipped_file_search_paths): Deleted.
(ApplePort._allowed_port_names): Deleted.
(ApplePort._future_port_name): Deleted.
* Scripts/webkitpy/port/base.py:
(Port.__init__): Replace _version string with _os_version object.
(Port.version_name): Convert version object to string.
(Port.test_configuration): Pass version string to TestConfiguration.
(Port.version): Deleted.
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.assert_name): Convert an os_version_string to a version object and construct a port.
* Scripts/webkitpy/port/factory_unittest.py:
(FactoryTest.test_mac): Replace version strings with version objects.
(FactoryTest.test_win): Ditto.
* Scripts/webkitpy/port/gtk.py:
(GtkPort._generate_all_test_configurations): Replace _version with version_name().
* Scripts/webkitpy/port/ios.py:
(IOSPort.version_name): Both Simulator and device share the same version-name convention.
(IOSPort._generate_all_test_configurations): Replace _version with version_name().
(IOSPort.default_baseline_search_path): Use the internal mapping of version names to construct
apple_additions expectations.
(IOSPort._apple_additions_path): Deleted.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.ios_version): Return None if no version is defined.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest):
(IOSDeviceTest.test_layout_test_searchpath_with_apple_additions): Conform with the new mock
apple_additions.
(IOSDeviceTest.make_port): Deleted.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort._create_devices): Use Version object over list of version strings.
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest):
(IOSSimulatorTest.make_port): Use iOS 11 as the default version for testing.
(IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions): Conform with the new
mock apple_additions.
* Scripts/webkitpy/port/ios_testcase.py:
(IOSTest.make_port): Use iOS 11 as the default version for testing.
* Scripts/webkitpy/port/mac.py:
(MacPort):
(MacPort.__init__): Use Version object for _os_version.
(MacPort.default_baseline_search_path): Use the internal mapping of version names to construct
apple_additions expectations.
(MacPort.configuration_specifier_macros): Automatically construct macros based on VersionNameMap.
(MacPort._apple_additions_path): Deleted.
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest): Use Version object instead of version string.
(MacTest.test_version):
* Scripts/webkitpy/port/port_testcase.py:
(bind_mock_apple_additions): Add a mock VersionNameMap to mock apple_additions.
(bind_mock_apple_additions.MockAppleAdditions):
(bind_mock_apple_additions.MockAppleAdditions.version_name_mapping):
* Scripts/webkitpy/port/test.py:
(TestPort):
(TestPort.__init__): Use VersionNameMap to compute the correct Version from a port name.
(TestPort.version_name): Mirror Port object.
(TestPort.baseline_search_path): Replace win7 with 7sp0.
(TestPort._all_systems): Ditto.
(TestPort.configuration_specifier_macros): Ditto.
* Scripts/webkitpy/port/win.py:
(WinPort):
(WinPort.__init__): Construct Version object from port name.
(WinPort.default_baseline_search_path): Use the internal mapping of version names to construct
apple_additions expectations.
(WinCairoPort):
(WinCairoPort.default_baseline_search_path): Use MIN/MAX instead of the VERSION_FALLBACK_ORDER.
(WinCairoPort._future_port_name): Deleted.
* Scripts/webkitpy/port/win_unittest.py:
(WinPortTest.test_baseline_search_path): Add new Windows versions not previously included.
(WinPortTest._assert_version): Handle expected_version as a Version object.
(WinPortTest.test_versions): Pass Version objects instead of version strings.
* Scripts/webkitpy/port/wpe.py:
(WPEPort._generate_all_test_configurations): Replace _version with version_name().
* Scripts/webkitpy/tool/commands/queries_unittest.py:
(PrintExpectationsTest.test_multiple): Replace win7 with 7sp0.
(PrintBaselinesTest.test_multiple): Ditto.
* Scripts/webkitpy/tool/commands/queues.py:
(PatchProcessingQueue._new_port_name_from_old): Use os_version_name() instead of Version object.
2017-12-12 Daniel Bates <dabates@apple.com>
[WK] Add modern WebKit SPI to set auto fill button type and query if the auto fill button is enabled
https://bugs.webkit.org/show_bug.cgi?id=180686
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/ClickAutoFillButton.mm:
(-[ClickAutoFillButton webProcessPlugIn:didCreateBrowserContextController:]):
2017-12-12 Alex Christensen <achristensen@webkit.org>
Fix possible out-of-bounds read in protocolIsInHTTPFamily
https://bugs.webkit.org/show_bug.cgi?id=180688
Reviewed by Daniel Bates.
* TestWebKitAPI/Tests/WebCore/URL.cpp:
(TestWebKitAPI::TEST_F):
2017-12-12 JF Bastien <jfbastien@apple.com>
makeString: support more integral types
https://bugs.webkit.org/show_bug.cgi?id=180720
Reviewed by Sam Weinig.
Test a few more types can be made string'd.
* TestWebKitAPI/Tests/WTF/StringConcatenate.cpp:
(TestWebKitAPI::TEST):
2017-12-12 Alicia Boya García <aboya@igalia.com>
Flakiness dashboard: Make GTK and WPE builds inherit expectations from WK2
https://bugs.webkit.org/show_bug.cgi?id=178782
Reviewed by Michael Catanzaro.
* TestResultServer/static-dashboards/flakiness_dashboard.js:
2017-12-12 Jonathan Bedard <jbedard@apple.com>
MobileMiniBrowser using the wrong toolchain
https://bugs.webkit.org/show_bug.cgi?id=180716
<rdar://problem/36002951>
Reviewed by Tim Horton.
Move Debug/Release configurations from xcodeproj into Base.xcconfig.
* MobileMiniBrowser/Configurations/Base.xcconfig:
* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
2017-12-12 Youenn Fablet <youenn@apple.com>
Update ContentFiltering.LazilyLoadPlatformFrameworks test to account for libwebrtc using VideoProcessing framework
https://bugs.webkit.org/show_bug.cgi?id=180713
Reviewed by Andy Estes.
Temporarily disabling a subcheck until we make the test more robust and/or libwebrtc weak linking VideoProcessing framework.
* TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[LazilyLoadPlatformFrameworksController expectParentalControlsLoaded:networkExtensionLoaded:]):
2017-12-12 Caio Lima <ticaiolima@gmail.com>
[ESNext][BigInt] Implement BigInt literals and JSBigInt
https://bugs.webkit.org/show_bug.cgi?id=179000
Reviewed by Darin Adler and Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
2017-12-12 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Bump GStreamer version to 1.12 in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=171677
Reviewed by Carlos Garcia Campos.
Bump gstreamer related modules and rebase patches still needed and not merged
* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Removed. This was needed for OpenWebRTC. Not longer supported.
* gstreamer/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Rebased.
* gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Rebased.
* gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Rebased.
* gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added a note about merge commit not still in 1.12.4.
2017-12-12 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Thread::create should have Thread::tryCreate
https://bugs.webkit.org/show_bug.cgi?id=180333
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/Condition.cpp:
* TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
* TestWebKitAPI/Tests/WTF/Signals.cpp:
(TEST):
* TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
(TestWebKitAPI::testThreadGroup):
(TestWebKitAPI::TEST):
2017-12-11 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] Enable running sharded tests
https://bugs.webkit.org/show_bug.cgi?id=180660
Reviewed by Alex Christensen.
The sharder splits the test inputs into groups of test based on the directory,
but separation of base name and directory name was wrong because of this bug.
Once sharded correctly, the execution of layout test on native Windows environment
is in parallel and much less time to run.
* Scripts/webkitpy/port/win.py:
(WinCairoPort):
2017-12-11 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] DLLLauncherMain should use SetDllDirectory
https://bugs.webkit.org/show_bug.cgi?id=180642
Reviewed by Alex Christensen.
Windows have icuuc.dll in the system directory. WebKit should find
one in WebKitLibraries directory, not one in the system directory.
* win/DLLLauncher/DLLLauncherMain.cpp:
(modifyPath): Use SetDllDirectory for WebKitLibraries directory instead of modifying path.
Do not add a path for GStreamer because nobody is using now.
2017-12-11 David Quesada <david_quesada@apple.com>
Turn on ENABLE_APPLICATION_MANIFEST
https://bugs.webkit.org/show_bug.cgi?id=180562
rdar://problem/35924737
Reviewed by Geoffrey Garen.
* Configurations/FeatureDefines.xcconfig:
2017-12-11 Zan Dobersek <zdobersek@igalia.com>
Unreviewed, rolling out r225737.
Breaks Git clones of the repository, including EWSs and webkitbot.
Reverted changeset:
"Add a script to automate W3c web-platform-tests pull request
creations from WebKit commits"
https://bugs.webkit.org/show_bug.cgi?id=169462
https://trac.webkit.org/changeset/225737
2017-12-11 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] WebDriver: run-webdriver-tests is leaking a DumpRenderTree directory in tmp
https://bugs.webkit.org/show_bug.cgi?id=180426
Reviewed by Michael Catanzaro.
This happens when running the tests with Xvfb driver, because _setup_environ_for_test() is called twice and the
DTR temp directory is created there every time. Only the last directory created is cleaned up by the driver
destructor. The DRT temp directory is only needed for layout tests, so we could even avoid its creation by
moving it to the start() method like other drivers do (included the base driver implementation). Since API and
WebDriver tests don't call start(), the directory is not even created, and the required env vars are not set
either in that case. Weston driver was behaving differently for some reason, it's now consistent with all other
drivers.
* Scripts/webkitpy/port/headlessdriver.py:
(HeadlessDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
(HeadlessDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
* Scripts/webkitpy/port/waylanddriver.py:
(WaylandDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
(WaylandDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
* Scripts/webkitpy/port/westondriver.py:
(WestonDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
(WestonDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
(WestonDriver.stop): Do not delete the temp directory, it's done by the parent class.
(WestonDriver._ensure_driver_tmpdir_subdirectory): Deleted.
* Scripts/webkitpy/port/westondriver_unittest.py:
(WestonDriverTest.make_driver):
(WestonDriverTest.test_stop):
* Scripts/webkitpy/port/xorgdriver.py:
(XorgDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
(XorgDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._setup_environ_for_test): Do not set DUMPRENDERTREE_TEMP and XDG_CACHE_HOME if _driver_tempdir is None.
(XvfbDriver._start): Use Port._driver_tempdir() to create the driver temp directory.
2017-12-10 Zan Dobersek <zdobersek@igalia.com>
Unreviewed webkitpy fix on Linux platforms after r225721.
Add an empty 'linux' entry to the PUBLIC_TABLE mapping in the
VersionNameMap class. This avoids asserting in this class's
mapping_for_platform() method when the code is evaluated on a Linux
system, which happens when the static VERSION_FALLBACK_ORDER member in
the WinCairoPort class is constructed. This can occur during a
test-webkitpy run or when trying to construct a WPEPort instance in
PortFactory, which isn't possible because again the WinCairoPort
instance is constructed first, leading to the same assert in both cases.
* Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.__init__):
2017-12-10 Youenn Fablet <youenn@apple.com>
Add a script to automate W3c web-platform-tests pull request creations from WebKit commits
https://bugs.webkit.org/show_bug.cgi?id=169462
Reviewed by Darin Adler.
Adding some git helper routines used by WPT exporter.
Copying WPT github utility files from Chromium.
Updating web.py/web_mock.py to cope with these new files.
Implementing test exporter in test_exporter.py.
This script takes a WebKit commit as input and will create a WPT commit in a local WPT clone.
It will then push the commit to a public GitHub repository identified by a username parameter.
This parameter is passed through the command line or searched through git config/environment variables.
The script can optionally create a pull request to the official WPT GitHub repository.
User must provide a GitHub token to allow the script to make the PR on behalf of the user.
In that case, a comment is added to the corresponding bugzilla if a bug ID is given or can be found from the change log,
to easily link the pull request with the bugzilla bug.
* Scripts/export-w3c-test-changes: Added.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.reset_hard):
(Git):
(Git.am):
(Git.commit):
(Git.format_patch):
(Git.request_pull):
(Git.remote):
(Git.push):
(Git.checkout_new_branch):
* Scripts/webkitpy/common/net/web.py:
(Web.request): Copied from Chromium.
* Scripts/webkitpy/common/net/web_mock.py: Copied needed code from Chromium.
* Scripts/webkitpy/w3c/test_exporter.py: Added.
(TestExporter):
(TestExporter.__init__):
(TestExporter._init_repository):
(TestExporter.download_and_commit_patch):
(TestExporter.clean):
(TestExporter.create_branch_with_patch):
(TestExporter.push_to_public_repository):
(TestExporter.make_pull_request):
(TestExporter.delete_local_branch):
(TestExporter.create_git_patch):
(TestExporter.create_upload_remote_if_needed):
(TestExporter.do_export):
(parse_args):
(configure_logging):
(configure_logging.LogHandler):
(configure_logging.LogHandler.format):
(main):
* Scripts/webkitpy/w3c/test_exporter_unittest.py: Added.
(TestExporterTest):
(TestExporterTest.MockBugzilla):
(TestExporterTest.MockBugzilla.__init__):
(TestExporterTest.MockBugzilla.fetch_bug_dictionary):
(TestExporterTest.MockBugzilla.post_comment_to_bug):
(TestExporterTest.MockGit):
(TestExporterTest.MockGit.clone):
(TestExporterTest.MockGit.__init__):
(TestExporterTest.MockGit.fetch):
(TestExporterTest.MockGit.checkout):
(TestExporterTest.MockGit.reset_hard):
(TestExporterTest.MockGit.push):
(TestExporterTest.MockGit.format_patch):
(TestExporterTest.MockGit.delete_branch):
(TestExporterTest.MockGit.checkout_new_branch):
(TestExporterTest.MockGit.am):
(TestExporterTest.MockGit.commit):
(TestExporterTest.MockGit.remote):
(TestExporterTest.test_export):
* Scripts/webkitpy/w3c/common.py: Copied from chromium.
* Scripts/webkitpy/w3c/wpt_github.py: Copied from chromium.
* Scripts/webkitpy/w3c/wpt_github_mock.py: Copied from chromium.
* Scripts/webkitpy/w3c/wpt_github_unittest.py: Copied from chromium.
2017-12-10 Konstantin Tokarev <annulen@yandex.ru>
[python] Modernize "except" usage for python3 compatibility
https://bugs.webkit.org/show_bug.cgi?id=180612
Reviewed by Michael Catanzaro.
* BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
(CommitterAuth.auth_json):
(CommitterAuth.authenticate):
(CommitterAuth.is_webkit_committer):
(CommitterAuth.is_webkit_trac_user):
* BuildSlaveSupport/wait-for-SVN-server.py:
(getLatestSVNRevision):
* QueueStatusServer/handlers/updatebase.py:
(UpdateBase._int_from_request):
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_from_idl):
(BindingsTests.generate_supplemental_dependency):
(BindingsTests.detect_changes):
* Scripts/webkitpy/codegen/main.py:
(BuiltinsGeneratorTests.generate_from_js_builtins):
(BuiltinsGeneratorTests.detect_changes):
* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLog.parse_latest_entry_from_file):
* Scripts/webkitpy/common/checkout/checkout.py:
(Checkout.bug_id_for_this_commit):
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.in_working_directory):
(Git.clone):
(Git._string_to_int_or_none):
(Git._commit_on_branch):
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.revisions_changing_file):
* Scripts/webkitpy/common/config/committers.py:
(CommitterList.load_json):
* Scripts/webkitpy/common/message_pool.py:
(_Worker.run):
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
(Builder.force_build.predicate):
(Builder._fetch_revision_to_build_map):
(BuildBot._fetch_build_dictionary):
* Scripts/webkitpy/common/net/credentials.py:
(Credentials._credentials_from_git):
* Scripts/webkitpy/common/net/networktransaction.py:
(NetworkTransaction.run):
* Scripts/webkitpy/common/net/networktransaction_unittest.py:
(NetworkTransactionTest.test_exception):
(NetworkTransactionTest.test_timeout):
* Scripts/webkitpy/common/net/statusserver.py:
(StatusServer._fetch_url):
* Scripts/webkitpy/common/net/unittestresults.py:
(UnitTestResults.results_from_string):
* Scripts/webkitpy/common/prettypatch.py:
(PrettyPatch.check_pretty_patch):
(PrettyPatch.pretty_patch_text):
* Scripts/webkitpy/common/prettypatch_unittest.py:
(PrettyPatchTest.check_ruby):
* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller._extract_tar):
(AutoInstaller._unzip):
(AutoInstaller._replace_domain_with_next_mirror):
(AutoInstaller._download_to_stream):
(AutoInstaller.install):
* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs._find_newest_log_darwin):
(CrashLogs._find_newest_log_win):
(CrashLogs._find_all_logs_darwin):
* Scripts/webkitpy/common/system/executive.py:
(Executive.kill_process):
(Executive.running_pids):
* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.maybe_make_directory):
(FileSystem.remove):
* Scripts/webkitpy/common/system/user.py:
(User._wait_on_list_response):
(User.edit):
(User.page):
(User.can_open_url):
* Scripts/webkitpy/common/system/workspace.py:
(Workspace.create_zip):
* Scripts/webkitpy/common/watchlist/watchlistparser.py:
(WatchListParser._parse_definition_section):
* Scripts/webkitpy/common/webkitunittest.py:
(TestCase._assertRaisesRegexp):
* Scripts/webkitpy/inspector/main.py:
(InspectorGeneratorTests.generate_from_json):
(InspectorGeneratorTests.detect_changes):
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder._read_test_names_from_file):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.upload_results):
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGenerator.upload_json_files):
(JSONResultsGenerator._get_archived_json_results):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(MiscTests.test_parse_warning):
(SemanticTests.test_bad_bugid):
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(summarize_results):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):
* Scripts/webkitpy/layout_tests/servers/http_server.py:
(Lighttpd._remove_stale_logs):
* Scripts/webkitpy/layout_tests/servers/http_server_base.py:
(HttpServerBase._is_running_on_port):
(HttpServerBase._check_that_all_ports_are_available):
* Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
(BaseTest.assert_servers_are_down):
(BaseTest.assert_servers_are_up):
(BaseTest.integration_test_server__fails):
(BaseTest.maybe_make_dir):
* Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
(run_server):
* Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
* Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket.is_running):
(PyWebSocket._remove_stale_logs):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(_merge_slave_config_json):
(_merge_outputs_if_needed):
(_upload_json):
* Scripts/webkitpy/port/base.py:
(Port._build_driver):
(Port._build_image_diff):
(Port._symbols_string):
* Scripts/webkitpy/port/leakdetector.py:
(LeakDetector.count_total_bytes_and_unique_leaks):
(LeakDetector.check_for_leaks):
* Scripts/webkitpy/port/leakdetector_valgrind.py:
(LeakDetectorValgrind._parse_leaks_output):
* Scripts/webkitpy/port/mac.py:
(MacPort.reset_preferences):
(MacPort.stop_helper):
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.assert_servers_are_down):
(PortTestCase.assert_servers_are_up):
(PortTestCase.integration_test_http_server__fails):
(PortTestCase.integration_test_websocket_server__fails):
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.write):
(ServerProcess._wait_for_data_and_update_buffers_using_select):
(ServerProcess._non_blocking_read_win32):
* Scripts/webkitpy/port/win.py:
(WinPort._runtime_feature_list):
* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._xvfb_read_display_id):
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONChecker.check):
* Scripts/webkitpy/style/checkers/xml.py:
(XMLChecker.check):
* Scripts/webkitpy/style/filereader.py:
(TextFileReader.process_file):
* Scripts/webkitpy/style/filereader_unittest.py:
(TextFileReaderTest.test_process_file__does_not_exist):
* Scripts/webkitpy/style/optparser.py:
(ArgumentParser.parse):
* Scripts/webkitpy/tool/bot/irc_command.py:
(CreateBug.execute):
(Rollout.execute):
* Scripts/webkitpy/tool/bot/ircbot.py:
(IRCBot.process_message):
* Scripts/webkitpy/tool/bot/layouttestresultsreader.py:
(LayoutTestResultsReader._read_file_contents):
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchAnalysisTask._run_command):
* Scripts/webkitpy/tool/bot/queueengine.py:
(QueueEngine.run):
* Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:
(AbstractSequencedCommand.execute):
* Scripts/webkitpy/tool/commands/download.py:
(AbstractPatchSequencingCommand._prepare_to_process):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.review_patch):
* Scripts/webkitpy/tool/commands/queries.py:
(FailureReason._blame_line_for_revision):
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractQueue._cc_watchers):
(AbstractQueue.run_webkit_patch):
(CommitQueue.process_work_item):
(StyleQueue.review_patch):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(AbstractParallelRebaselineCommand._run_webkit_patch):
* Scripts/webkitpy/tool/commands/stepsequence.py:
(StepSequence.run_and_handle_errors):
* Scripts/webkitpy/tool/commands/suggestnominations.py:
(SuggestNominations._count_recent_patches):
* Scripts/webkitpy/tool/multicommandtool.py:
(MultiCommandTool.main):
* Scripts/webkitpy/tool/servers/rebaselineserver.py:
(_rebaseline_test):
(_move_test_baselines):
* Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py:
(AddSvnMimetypeForPngTest.test_run):
* Scripts/webkitpy/tool/steps/checkstyle.py:
(CheckStyle.run):
* Scripts/webkitpy/tool/steps/commit.py:
(Commit._check_test_expectations):
(Commit.run):
* Scripts/webkitpy/tool/steps/confirmdiff.py:
(ConfirmDiff._show_pretty_diff):
* Scripts/webkitpy/tool/steps/haslanded.py:
(HasLanded.diff_diff):
* Scripts/webkitpy/tool/steps/preparechangelog.py:
(PrepareChangeLog.run):
* Scripts/webkitpy/tool/steps/promptforbugortitle.py:
(PromptForBugOrTitle.run):
* Scripts/webkitpy/tool/steps/sortxcodeprojectfiles.py:
(SortXcodeProjectFiles.run):
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
(WebDriverW3CWebServer._wait_for_server.check_port):
* TestResultServer/model/datastorefile.py:
(DataStoreFile.save_data):
* jhbuild/jhbuildutils.py:
(enter_jhbuild_environment_if_available):
2017-12-09 Yusuke Suzuki <utatane.tea@gmail.com>
Fix WTF::Hasher tuple expansion with variadic args
https://bugs.webkit.org/show_bug.cgi?id=180623
Reviewed by JF Bastien.
* TestWebKitAPI/Tests/WTF/Hasher.cpp:
(TestWebKitAPI::TEST):
2017-12-09 Konstantin Tokarev <annulen@yandex.ru>
[python] Replace print >> operator with print() function for python3 compatibility
https://bugs.webkit.org/show_bug.cgi?id=180611
Reviewed by Michael Catanzaro.
* CygwinDownloader/cygwin-downloader.py:
(download_url_to_file):
* Scripts/webkitpy/common/system/profiler.py:
(Perf.profile_after_exit):
* Scripts/webkitpy/common/version_check.py:
* Scripts/webkitpy/layout_tests/lint_test_expectations.py:
(main):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):
* Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
(run_server):
* Scripts/webkitpy/tool/commands/analyzechangelog.py:
(ChangeLogAnalyzer._print_status):
* Scripts/webkitpy/tool/commands/queries.py:
(BugsToCommit.execute):
(PatchesInCommitQueue.execute):
(PatchesToCommitQueue.execute):
(PatchesToReview._print_report):
(WhatBroke._print_builder_line):
(WhatBroke._print_blame_information_for_builder):
(WhatBroke.execute):
(ResultsFor._print_layout_test_results):
(ResultsFor.execute):
(FailureReason._print_blame_information_for_transition):
(FailureReason._explain_failures_for_builder):
(FailureReason._builder_to_explain):
(FailureReason.execute):
(FindFlakyTests._find_failures):
(FindFlakyTests._print_statistics):
(FindFlakyTests._walk_backwards_from):
(execute):
(PrintExpectations.execute):
(PrintBaselines.execute):
(PrintBaselines._print_baselines):
(FindResolvedBugs.execute):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(AbstractParallelRebaselineCommand._run_webkit_patch):
(AbstractParallelRebaselineCommand._rebaseline):
* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningHTTPRequestHandler.rebaselineall):
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
(GardeningServerTest.disabled_test_rebaselineall.run_command):
(GardeningServerTest):
2017-12-08 Basuke Suzuki <Basuke.Suzuki@sony.com>
[Win] The way to detect Windows 10 is wrong
https://bugs.webkit.org/show_bug.cgi?id=179344
<rdar://problem/35562264>
Reviewed by Alex Christensen.
Python2.7 doesn't return correct information on Windows 10.
Use platform.win32_ver() instead of sys.getwindowsversion().
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._win_version):
(PlatformInfo._win_version_str):
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(fake_sys):
(fake_sys.FakeSysModule):
(fake_platform):
(fake_platform.FakePlatformModule.win32_ver):
(TestPlatformInfo.test_os_name_and_wrappers):
(TestPlatformInfo.test_os_version):
(TestPlatformInfo.test_display_name):
(TestPlatformInfo.test_total_bytes_memory):
2017-12-08 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] Fix runtime error after r225229
https://bugs.webkit.org/show_bug.cgi?id=180614
Reviewed by Alex Christensen.
The list of fallback versions doesn't match with version name mapping introduced recently.
It should be safe by creating the list automatically from the name map for consistency.
* Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.__init__):
(VersionNameMap.to_name):
(VersionNameMap.from_name):
(VersionNameMap):
(VersionNameMap.names):
(VersionNameMap.mapping_for_platform):
* Scripts/webkitpy/port/win.py:
(WinCairoPort):
(WinCairoPort.default_baseline_search_path):
2017-12-08 David Quesada <david_quesada@apple.com>
ApplicationManifestParser should strip whitespace from the raw input
https://bugs.webkit.org/show_bug.cgi?id=180539
rdar://problem/35915075
Reviewed by Joseph Pecoraro.
Added an API test for parsing manifests with surrounding whitespace.
Also drive-by fix ApplicationManifestParserTest.Display. Earlier versions of the
manifest spec explicitly stated that the "display" value should be treated as if
it were run through String.prototype.trim(), which allowed for the really weird
edge case of an array containing one string. This behavior was lost when I changed
ApplicationManifestParser's JSON parsing from using JavaScriptCore to WTF's JSON
parsing. Update the unit test accordingly.
* TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(TEST_F):
2017-12-08 Konstantin Tokarev <annulen@yandex.ru>
[python] Replace print operator with print() function for python3 compatibility
https://bugs.webkit.org/show_bug.cgi?id=180592
Reviewed by Michael Catanzaro.
* BuildSlaveSupport/wait-for-SVN-server.py:
(getLatestSVNRevision):
(waitForSVNRevision):
* Scripts/download-latest-github-release.py:
(find_latest_release):
(main):
* Scripts/update-wasm-gcc-torture.py:
(update_lkgr):
(untar_torture):
(list_js_files):
(waterfall_known_failures):
* Scripts/update-webkit-wincairo-libs.py:
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.show_results):
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.fetch_result):
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(list_benchmark_plans):
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_from_idl):
(BindingsTests.generate_supplemental_dependency):
(BindingsTests.detect_changes):
(BindingsTests.run_tests):
(BindingsTests.main):
* Scripts/webkitpy/codegen/main.py:
(BuiltinsGeneratorTests.generate_from_js_builtins):
(BuiltinsGeneratorTests.detect_changes):
(BuiltinsGeneratorTests.single_builtin_test):
(BuiltinsGeneratorTests.run_test):
(BuiltinsGeneratorTests.run_tests):
(BuiltinsGeneratorTests.main):
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
(MockBugzilla.fetch_attachment):
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
(Builder._fetch_revision_to_build_map):
* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs._find_newest_log_win):
* Scripts/webkitpy/common/system/outputcapture_unittest.py:
(OutputCaptureTest.test_output_capture_scope):
* Scripts/webkitpy/common/system/profiler.py:
(GooglePProf.profile_after_exit):
(Perf.profile_after_exit):
* Scripts/webkitpy/common/system/user.py:
(User.prompt_with_multiple_lists):
(User.prompt_with_list):
(User._warn_if_application_is_xcode):
(User.edit_changelog):
* Scripts/webkitpy/inspector/main.py:
(InspectorGeneratorTests.generate_from_json):
(InspectorGeneratorTests.detect_changes):
(InspectorGeneratorTests.run_tests):
(InspectorGeneratorTests.main):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._print_expectation_line_for_test):
(Manager._print_expectations_for_subset):
(Manager._print_expectations_for_subset.if):
* Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
(run_server):
* Scripts/webkitpy/port/config_standalone.py:
(main):
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_spindump.logging_run_command):
(DarwinTest.test_sample_process.logging_run_command):
* Scripts/webkitpy/port/ios.py:
(IOSPort.clean_up_test_run):
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_spindump.logging_run_command):
(IOSDeviceTest.test_sample_process.logging_run_command):
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.test_xcrun.throwing_run_command):
* Scripts/webkitpy/port/leakdetector_unittest.py:
(test_count_total_bytes_and_unique_leaks.mock_run_script):
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_xcrun.throwing_run_command):
* Scripts/webkitpy/style/checkers/contributors.py:
(ContributorsChecker.check):
* Scripts/webkitpy/tool/commands/abstractlocalservercommand.py:
(AbstractLocalServerCommand.execute):
* Scripts/webkitpy/tool/commands/adduserstogroups.py:
(AddUsersToGroups.execute):
* Scripts/webkitpy/tool/commands/analyzechangelog.py:
(AnalyzeChangeLog._generate_jsons):
(AnalyzeChangeLog.execute):
(ChangeLogAnalyzer._set_filename):
(ChangeLogAnalyzer.analyze):
* Scripts/webkitpy/tool/commands/bugfortest.py:
(BugForTest.execute):
* Scripts/webkitpy/tool/commands/bugsearch.py:
(execute):
* Scripts/webkitpy/tool/commands/findusers.py:
(FindUsers.execute):
* Scripts/webkitpy/tool/commands/gardenomatic.py:
(GardenOMatic.execute):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineTest.execute):
* Scripts/webkitpy/tool/commands/rebaselineserver.py:
(RebaselineServer._prepare_config):
* Scripts/webkitpy/tool/commands/setupgitclone.py:
(SetupGitClone.execute):
(SetupGitClone._get_username_and_email):
* Scripts/webkitpy/tool/commands/suggestnominations.py:
(SuggestNominations._print_nominations):
(SuggestNominations._print_counts):
* Scripts/webkitpy/tool/commands/upload.py:
(CommitMessageForCurrentDiff.execute):
(CreateBug.prompt_for_bug_title_and_comment):
* Scripts/webkitpy/tool/multicommandtool.py:
(HelpCommand.execute):
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
(TestGardeningHTTPRequestHandler._serve_text):
(TestGardeningHTTPRequestHandler._serve_json):
* Scripts/webkitpy/tool/steps/addsvnmimetypeforpng.py:
(AddSvnMimetypeForPng.run):
* Scripts/webkitpy/tool/steps/suggestreviewers.py:
(SuggestReviewers.run):
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.update_tests_options):
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
(WebDriverTestRunnerSelenium.run):
* TestResultServer/model/jsonresults_unittest.py:
* gtk/ycm_extra_conf.py:
(FlagsForFile):
* lldb/lldb_webkit.py:
(btjs):
2017-12-08 Eric Carlson <eric.carlson@apple.com>
Move Logger from PAL to WTF so it can be used outside of WebCore
https://bugs.webkit.org/show_bug.cgi?id=180561
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::TEST_F):
2017-12-08 Chris Dumez <cdumez@apple.com>
Different WebKitTestRunner instances should use different service worker registrations databases
https://bugs.webkit.org/show_bug.cgi?id=180589
Reviewed by Brady Eidson.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generateContextConfiguration const):
2017-12-08 Fujii Hironori <Hironori.Fujii@sony.com>
Tools/ImageDiff/cg/PlatformImageCG.cpp doesn't need to include <wtf/MathExtras.h>
https://bugs.webkit.org/show_bug.cgi?id=180578
Reviewed by Konstantin Tokarev.
* ImageDiff/cg/PlatformImageCG.cpp: Removed unnecessary #include <wtf/MathExtras.h>.
2017-12-08 Zan Dobersek <zdobersek@igalia.com>
Unreviewed WPE build fix after r225671.
* WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
Include the ActivateFonts.h header to have a usable
WTR::installFakeHelvetica() function declaration.
2017-12-07 Zan Dobersek <zdobersek@igalia.com>
Unreviewed GTK+ and WPE build fix.
Add TestRunner::installFakeHelvetica(), WTR::installFakeHelvetica()
and WTF::uninstallFakeHelvetica() definitions, filling out the
declarations added in r225641. This fills up missing symbols in the
WKTR's InjectedBundle library, unbreaking layout tests for both
configurations.
* WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::installFakeHelvetica):
(WTR::uninstallFakeHelvetica):
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::inspectorTestStubURL):
(WTR::TestRunner::installFakeHelvetica):
* WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp:
(WTR::installFakeHelvetica):
(WTR::uninstallFakeHelvetica):
* WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
(WTR::TestRunner::installFakeHelvetica):
2017-12-07 Yusuke Suzuki <utatane.tea@gmail.com>
Use StaticLock instead of NeverDestroyed<Lock>
https://bugs.webkit.org/show_bug.cgi?id=180507
Reviewed by Saam Barati.
* DumpRenderTree/JavaScriptThreading.cpp:
(javaScriptThreads):
(runJavaScriptThread):
(startJavaScriptThreads):
(stopJavaScriptThreads):
(javaScriptThreadsMutex): Deleted.
2017-12-07 Alex Christensen <achristensen@webkit.org>
Always synchronously continue with fragment navigations
https://bugs.webkit.org/show_bug.cgi?id=180544
<rdar://problem/34815986> and <rdar://problem/35126690>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
(-[DecidePolicyForNavigationActionFragmentDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):
Add a test that verifies that decidePolicyForNavigationAction is called for fragment navigations.
2017-12-07 Myles C. Maxfield <mmaxfield@apple.com>
[Cocoa] Add SPI to disallow user-installed fonts
https://bugs.webkit.org/show_bug.cgi?id=180062
<rdar://problem/35042408>
Reviewed by Simon Fraser.
* WebKitTestRunner/InjectedBundle/ActivateFonts.h:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::resetAfterTest):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::resourcesDirectoryURL):
(WTR::activateFonts):
(WTR::installFakeHelvetica):
(WTR::uninstallFakeHelvetica):
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::installFakeHelvetica):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/fonts/FakeHelvetica-Helvetica-400.ttf: Added.
* WebKitTestRunner/fonts/FakeHelvetica-Helvetica-500.ttf: Added.
* WebKitTestRunner/fonts/FakeHelvetica-Helvetica2-400.ttf: Added.
* WebKitTestRunner/fonts/FakeHelvetica-Helvetica2-500.ttf: Added.
2017-12-07 David Quesada <david_quesada@apple.com>
[Web App Manifest] Support display-mode media feature
https://bugs.webkit.org/show_bug.cgi?id=180376
rdar://problem/35837993
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
(WebCore::operator<<):
(ApplicationManifestParserTest::testDisplay):
(TEST_F):
Add unit tests for the parsing of the 'display' manifest property.
* TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/display-mode.html: Added.
Update API tests to include _WKApplicationManifest.displayMode.
* WebKitTestRunner/TestController.cpp:
(WTR::parseStringTestHeaderValueAsRelativePath):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
Teach WKTR to look for and apply an app manifest. A new <!--webkit-test-runner-->
directive 'applicationManifest' can specify a path (relative to the test file itself)
to a JSON app manifest to be applied to the web view before running the test.
2017-12-07 Eric Carlson <eric.carlson@apple.com>
Add WebRTC watchlist rule, update MediaStream rule
https://bugs.webkit.org/show_bug.cgi?id=180536
<rdar://problem/35914066>
Reviewed by Youenn Fablet.
* Scripts/webkitpy/common/config/watchlist:
2017-12-06 Chris Dumez <cdumez@apple.com>
We should be able to recover after a Service Worker process crash
https://bugs.webkit.org/show_bug.cgi?id=180477
Reviewed by Brady Eidson and Youenn Fablet.
Add testRunner API to terminate the Service Worker process.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::terminateServiceWorkerProcess):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::terminateServiceWorkerProcess):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2017-12-02 Darin Adler <darin@apple.com>
Modernize some aspects of text codecs, eliminate WebKit use of strcasecmp
https://bugs.webkit.org/show_bug.cgi?id=180009
Reviewed by Alex Christensen.
* DumpRenderTree/cg/PixelDumpSupportCG.cpp: Removed include of StringExtras.h.
* TestWebKitAPI/CMakeLists.txt: Added LineEnding.cpp.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
* TestWebKitAPI/Tests/WTF/LineEnding.cpp: Added. Has tests for the LineEnding
functions rewritten in this patch.
* TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Updated test now that the decode
function doesn't have defaults for as many arguments any more. Also changed so
that the tests log the fact that the decode function returns an error and updated
expected results to expect all the errors.
* WebKitTestRunner/cg/TestInvocationCG.cpp: Ditto.
2017-12-06 Alexey Proskuryakov <ap@apple.com>
Exclude another leak callstack.
* Scripts/webkitpy/port/leakdetector.py: (LeakDetector._callstacks_to_exclude_from_leaks):
2017-12-06 Jeff Miller <jeffm@apple.com>
-[WKWebViewConfiguration copyWithZone] doesn't copy _groupIdentifier
https://bugs.webkit.org/show_bug.cgi?id=180504
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm:
Add a test to verify that the _groupIdentifier is copied.
2017-12-06 David Quesada <david_quesada@apple.com>
[Web App Manifest] Add SPI for fetching the manifest
https://bugs.webkit.org/show_bug.cgi?id=180294
rdar://problem/34747968
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm: Added.
Added two API tests for _WKApplicationManifest:
- Testing _WKApplicationManifest's conformance to NSCoding.
- Testing -[WKWebView _getApplicationManifestWithCompletionHandler:], verifying the
values of the resulting _WKApplicationManifest.
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
Added a new testRunner method getApplicationManifestThen(), used by the LayoutTests
to request the document load its associated manifest. The layout tests formerly called
an unimplemented function getManifestThen(), but I added 'Application' to somewhat
differentiate this from the app cache manifest.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::getApplicationManifestThen):
(WTR::TestRunner::didGetApplicationManifest):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-12-05 Stephan Szabo <stephan.szabo@sony.com>
Switch windows build to Visual Studio 2017
https://bugs.webkit.org/show_bug.cgi?id=172412
Reviewed by Per Arne Vollan.
* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(visualStudioInstallDir):
(visualStudioInstallDirFallback):
(msBuildInstallDir):
(setupAppleWinEnv):
(setupCygwinEnv):
(generateBuildSystemFromCMakeProject):
(pickLegacyVisualStudioInstallation): Deleted.
(visualStudioInstallDirLegacy): Deleted.
(visualStudioVersion): Deleted.
(visualStudioVersionFromInstallDir): Deleted.
2017-12-05 Alex Christensen <achristensen@webkit.org>
Fix crash when loading a file URL that does not have a fileSystemPath representation
https://bugs.webkit.org/show_bug.cgi?id=180448
<rdar://problem/22805921>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
(TEST):
Test opening a URL that used to crash WebKit.
2017-12-05 Michael Saboff <msaboff@apple.com>
Make WebKit build for ARM64_32
https://bugs.webkit.org/show_bug.cgi?id=180447
Reviewed by Mark Lam.
Add an instance of the _TestWTFAlwaysMissing for arm64_32 architecture.
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd:
2017-12-05 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Rename mastercfg_unittest to steps_unittest
https://bugs.webkit.org/show_bug.cgi?id=180432
Rubber-stamped by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Removed.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Copied from BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py.
2017-12-05 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Fix style issues in mastercfg_unittest.py
https://bugs.webkit.org/show_bug.cgi?id=180439
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Added imports directly instead of relying
on imports from other files. We will try to import minimum required modules. Currently we are importing
everything from master.cfg, loadConfig.py, factories.py and steps.py
2017-12-05 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Rename MasterCfgTest to RunWebKitTestsTest
https://bugs.webkit.org/show_bug.cgi?id=180391
Rubber-stamped by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(RunWebKitTestsTest): Renamed from MasterCfgTest.
2017-12-01 Filip Pizlo <fpizlo@apple.com>
GC constraint solving should be parallel
https://bugs.webkit.org/show_bug.cgi?id=179934
Reviewed by JF Bastien.
* Scripts/run-jsc-benchmarks: Add splay-latency test, since this change needed to be carefully validated with that benchmark.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/ConcurrentPtrHashSet.cpp: Added. This has unit tests of the new concurrent data structure. The tests focus on correctness under serial execution, which appears to be enough for now (it's so easy to catch a concurrency bug by just running the GC).
(TestWebKitAPI::TEST):
2017-12-04 Nan Wang <n_wang@apple.com>
AX: AOM: Implement relation type properties
https://bugs.webkit.org/show_bug.cgi?id=179500
Reviewed by Ryosuke Niwa.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
2017-12-04 Simon Fraser <simon.fraser@apple.com>
Minor DisplayRefreshMonitor-related cleanup
https://bugs.webkit.org/show_bug.cgi?id=179802
Reviewed by Sam Weinig.
New trace point for when the CVDisplayLink fires on its own thread.
* Tracing/SystemTracePoints.plist:
2017-12-04 David Quesada <david_quesada@apple.com>
Add a class for parsing application manifests
https://bugs.webkit.org/show_bug.cgi?id=177973
rdar://problem/34747949
Reviewed by Geoffrey Garen.
Add basic unit tests for ApplicationManifestParser. For each of the implemented top-level properties,
attempt to parse manifests with varying types of valid and invalid data to ensure the resulting
ApplicationManifest is configured with the appropriate values per the spec.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Add ENABLE_APPLICATION_MANIFEST feature flag.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp: Added.
(ApplicationManifestParserTest::SetUp):
(ApplicationManifestParserTest::parseString):
(ApplicationManifestParserTest::parseTopLevelProperty):
(ApplicationManifestParserTest::testStartURL):
(ApplicationManifestParserTest::testName):
(ApplicationManifestParserTest::testDescription):
(ApplicationManifestParserTest::testShortName):
(ApplicationManifestParserTest::testScope):
(assertManifestHasDefaultValues):
(TEST_F):
2017-12-04 Aakash Jain <aakash_jain@apple.com>
Add docstring in EarlyWarningSystemTask to explain return values
https://bugs.webkit.org/show_bug.cgi?id=180303
Reviewed by Daniel Bates.
* Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
(EarlyWarningSystemTask.run): Added docstring to explain return values.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.review_patch): Added comment to explain the result of unlocking a patch.
2017-12-04 JF Bastien <jfbastien@apple.com>
Update std::expected to match libc++ coding style
https://bugs.webkit.org/show_bug.cgi?id=180264
Reviewed by Alex Christensen.
Update tests according to name changes as well as removal of
now-gone APIs.
* TestWebKitAPI/Tests/WTF/Expected.cpp:
(std::experimental::fundamentals_v3::operator<<):
(TestWebKitAPI::TEST):
(WTF::operator<<): Deleted.
* TestWebKitAPI/Tests/WebCore/HTMLParserIdioms.cpp:
(TestWebKitAPI::testParseHTMLInteger):
(TestWebKitAPI::testParseHTMLNonNegativeInteger):
2017-12-04 Ross Kirsling <ross.kirsling@sony.com>
download-latest-github-release.py should use existing release ANY time latest is not found
https://bugs.webkit.org/show_bug.cgi?id=180293
Reviewed by Per Arne Vollan.
* Scripts/download-latest-github-release.py:
(find_latest_release):
Handle all URLErrors, not just HTTPErrors. Stop special-casing 404s.
(main):
Rearrange logic so any failure to detect a latest release falls back to an existing release. Improve logging.
(Status):
(download_release):
(load_version_info): Renamed from existing_version info.
(has_latest_release): Deleted.
Cleanup.
2017-12-04 Joseph Pecoraro <pecoraro@apple.com>
Exclude some more leak callstacks
https://bugs.webkit.org/show_bug.cgi?id=180379
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/port/leakdetector.py:
(LeakDetector._types_to_exclude_from_leaks):
(LeakDetector._callstacks_to_exclude_from_leaks):
(LeakDetector._leaks_args):
(LeakDetector._types_to_exlude_from_leaks): Deleted.
* Scripts/webkitpy/port/leakdetector_unittest.py:
(LeakDetectorTest.test_leaks_args):
2017-12-03 Yusuke Suzuki <utatane.tea@gmail.com>
WTF shouldn't have both Thread and ThreadIdentifier
https://bugs.webkit.org/show_bug.cgi?id=180308
Reviewed by Darin Adler.
* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpRenderTree):
(runThread): Deleted.
(runPthread): Deleted.
(testThreadIdentifierMap): Deleted.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
* TestWebKitAPI/Tests/WTF/Threading.cpp: Added.
(TestWebKitAPI::TEST):
2017-12-03 Aakash Jain <aakash_jain@apple.com>
webkitpy EWS keeps retrying a failing patch
https://bugs.webkit.org/show_bug.cgi?id=180302
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchAnalysisTask._test_patch): Instead of returning false, call report_failure()
which raises an exception, this exception is catched by earlywarningsystem.py and
it posts a comment on bugzilla. Returning false simply unlocks the patch and returns
it to the queue.
2017-12-03 Darin Adler <darin@apple.com>
Add WTF::Hasher, an easier to use replacement for WTF::IntegerHasher
https://bugs.webkit.org/show_bug.cgi?id=180318
Reviewed by JF Bastien.
* TestWebKitAPI/CMakeLists.txt: Added Hasher.cpp.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
* TestWebKitAPI/Tests/WTF/Hasher.cpp: Added. Contains tests of the new
WTF::Hasher class.
* TestWebKitAPI/Tests/WTF/StringHasher.cpp: Include StringHasher.h instead of
Hasher.h.
2017-12-01 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: auto-install pytest instead of importing it from wpt tools directory
https://bugs.webkit.org/show_bug.cgi?id=180243
Reviewed by Brian Burg.
We don't really need the (old) version included in wpt tools dir, so we can simply remove it and use autoinstall
instead.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Check pytest.
(AutoinstallImportHook._install_pytest): Install pytest.
* Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py: Import autoinstalled pytest.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
(WebDriverTestRunnerW3C.run): Update the subtest path since the new pytest uses a different strategy for
rootdir.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Import autoinstalled pytest.
2017-12-01 Dewei Zhu <dewei_zhu@apple.com>
Hardcoded python path is not compatible with virtual environment.
https://bugs.webkit.org/show_bug.cgi?id=180300
Reviewed by Stephanie Lewis.
Hardcoding '/usr/bin/python' does not work with python virtual environment.
Use 'python' instead.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.serve):
2017-12-01 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Move python code to load config from master.cfg in separate file
https://bugs.webkit.org/show_bug.cgi?id=180278
Reviewed by Daniel Bates.
* BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved appropriate code to loadConfig.py
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Ditto.
* BuildSlaveSupport/build.webkit.org-config/steps.py: Removed extra import.
2017-12-01 Brian Burg <bburg@apple.com>
Web Inspector: move Inspector::Protocol::Array<T> to JSON namespace
https://bugs.webkit.org/show_bug.cgi?id=173662
Reviewed by Joseph Pecoraro.
Add duplicate test cases for JSON::ArrayOf<T> based on JSON::Array.
* TestWebKitAPI/Tests/WTF/JSONValue.cpp:
(TestWebKitAPI::TEST):
2017-12-01 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Implement SPI for clients to update a given attachment's data
https://bugs.webkit.org/show_bug.cgi?id=180184
<rdar://problem/35355731>
Reviewed by Tim Horton.
Adds two new API tests to exercise the attachment data update flow.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
(-[_WKAttachment synchronouslySetDisplayOptions:error:]):
(-[_WKAttachment synchronouslyRequestData:]):
(-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
(TestWebKitAPI::TEST):
2017-12-01 Alicia Boya García <aboya@igalia.com>
[GTK] Add SampleMap.cpp API tests to CMake
https://bugs.webkit.org/show_bug.cgi?id=180252
Reviewed by Žan Doberšek.
* TestWebKitAPI/PlatformGTK.cmake:
2017-11-30 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: add support for importing and running selenium tests
https://bugs.webkit.org/show_bug.cgi?id=180145
Reviewed by Brian Burg.
We currently import and run W3C tests, which are the best ones to ensure our implementation is spec
compliant. However, the selenium API is what user will actually use in the end, so it's important to ensure that
we don't break the selenium support. This patch adds webdriver_test_runner_selenium.py and
webdriver_selenium_executor.py to run selenium tests. The script import-w3c-webdriver-tests has been renamed as
import-webdriver-tests and it can now import selenium tests too.
* Scripts/import-w3c-webdriver-tests: Removed.
* Scripts/import-webdriver-tests: Added.
(Importer):
(Importer.__init__):
(Importer.download_tests):
(Importer.import_tests):
(Importer.import_tests.should_skip_file):
* Scripts/webkitpy/webdriver_tests/webdriver_driver.py:
(WebDriver.browser_path):
(WebDriver):
(WebDriver.browser_args):
(WebDriver.selenium_name):
* Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py:
(WebDriverGtk.browser_path):
(WebDriverGtk):
(WebDriverGtk.browser_args):
(WebDriverGtk.capabilities):
(WebDriverGtk.selenium_name):
* Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py:
(WebDriverWPE.browser_args):
(WebDriverWPE.capabilities):
* Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py: Added.
(_ensure_directory_in_path):
(CollectRecorder):
(CollectRecorder.__init__):
(CollectRecorder.pytest_collectreport):
(WebDriverSeleniumExecutor):
(WebDriverSeleniumExecutor.__init__):
(WebDriverSeleniumExecutor.collect):
(WebDriverSeleniumExecutor.run):
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
(WebDriverTestRunner):
(WebDriverTestRunner.__init__):
(WebDriverTestRunner.run):
(WebDriverTestRunner.print_results):
(WebDriverTestRunner.dump_results_to_json_file):
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py: Added.
(WebDriverTestRunnerSelenium):
(WebDriverTestRunnerSelenium.__init__):
(WebDriverTestRunnerSelenium._tests_dir):
(WebDriverTestRunnerSelenium.collect_tests):
(WebDriverTestRunnerSelenium.run):
(WebDriverTestRunnerSelenium.results):
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
(WebDriverTestRunnerW3C.__init__):
(WebDriverTestRunnerW3C.run):
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
2017-11-30 Alex Christensen <achristensen@webkit.org>
REGRESSION (r224791): cookies are shared between ephemeral sessions in the same process pool
https://bugs.webkit.org/show_bug.cgi?id=180235
Reviewed by Joseph Pecoraro.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm: Added.
(-[CookiePrivateBrowsingDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2017-11-30 Stephan Szabo <stephan.szabo@sony.com>
Make LegacyCustomProtocolManager optional for network process
https://bugs.webkit.org/show_bug.cgi?id=176230
Reviewed by Alex Christensen.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-11-30 Dewei Zhu <dewei_zhu@apple.com>
HTTP server driver is responsible for ensuring the dependencies of HTTP server.
https://bugs.webkit.org/show_bug.cgi?id=180231
Reviewed by Stephanie Lewis.
Added the logic to ensure system environment meet the requirments of launching the http server.
* Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver.set_device_id):
(SimpleHTTPServerDriver):
(SimpleHTTPServerDriver._ensure_http_server_dependencies):
2017-11-30 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] Cannot build without Internet connection
https://bugs.webkit.org/show_bug.cgi?id=180068
Reviewed by Alex Christensen
With no Internet connection, if libraries has been downloaded
before, trust that version and keep building.
* Scripts/download-latest-github-release.py:
(Status):
(current_release):
(has_latest_release):
(main):
2017-11-30 Alex Christensen <achristensen@webkit.org>
WKURLSchemeHandler.request should include HTTPBody
https://bugs.webkit.org/show_bug.cgi?id=180220
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
(-[FormSubmissionDelegate webView:startURLSchemeTask:]):
2017-11-30 Carlos Alberto Lopez Perez <clopez@igalia.com>
Add a script for automatically running the buildbot configurations on a test environment.
https://bugs.webkit.org/show_bug.cgi?id=169084
Reviewed by Michael Catanzaro.
This new script does the following:
- Creates a temporal workingdir.
- Installs buildbot and its dependencies there (very same version used by the webkit.org buildbot master https://build.webkit.org/about ).
This is important as there are problems that that may not be detected if you don't test with the same version that will be used on production.
- Copies the buildmaster config files to the temporal workingdir.
- Performs the required steps to start a buildmaster.
- Creates the required config for each slave and starts all of them.
The test buildmaster should be accessible at http://localhost:8710/ allowing to trigger manual builds.
This allows to test any configuration changes on this test environment that is pretty much identical to the production one.
* BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py: Added.
(check_tcp_port_open):
(upgrade_db_needed):
(create_tempdir):
(print_if_error_stdout_stderr):
(setup_master_workdir):
(wait_for_master_ready):
(start_master):
(get_list_workers):
(start_worker):
(clean):
(cmd_exists):
(check_buildbot_installed):
(setup_virtualenv):
(configdir_is_valid):
(main):
2017-11-30 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] Move python code from master.cfg in separate files
https://bugs.webkit.org/show_bug.cgi?id=180180
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/master.cfg: Moved code to steps.py and master.cfg appropriately.
* BuildSlaveSupport/build.webkit.org-config/factories.py: Moved all factory related code from master.cfg.
* BuildSlaveSupport/build.webkit.org-config/steps.py: Moved all steps related code from master.cfg
2017-11-30 Wenson Hsieh <wenson_hsieh@apple.com>
WKAttachmentTests.InPlaceImageAttachmentToggleDisplayMode times out on macOS bots
https://bugs.webkit.org/show_bug.cgi?id=180200
Reviewed by Alexey Proskuryakov.
Rewrites an API test to avoid checking against the hard-coded platform-dependent size of an attachment element.
Instead, first insert the attachment element as an icon and compute its size, and then check that the size of
the element is restored to this original value after toggling the display mode to in-place mode and back.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[TestWKWebView attachmentElementSize]):
(-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
(TestWebKitAPI::TEST):
(platformAttachmentIconElementSize): Deleted.
2017-11-30 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Stop building Wayland in JHBuild moduleset
https://bugs.webkit.org/show_bug.cgi?id=179951
Reviewed by Žan Doberšek.
Since Wayland is not used for running tests, and since it does not seem to depend on
anything in the JHBuild moduleset, I think we can remove it safely without having to worry
that the system version of Wayland might use libraries in the JHBuild environment (which
would be unsafe).
* wpe/install-dependencies: Install Wayland.
* wpe/jhbuild.modules: Stop building Wayland.
2017-11-30 Alexey Proskuryakov <ap@apple.com>
Silence the BitVector leak for
https://bugs.webkit.org/show_bug.cgi?id=121662
The out of line data pointer isn't stored directly, so the leaks tool cannot see it.
* Scripts/webkitpy/port/leakdetector.py:
(LeakDetector._callstacks_to_exclude_from_leaks):
2017-11-29 Aakash Jain <aakash_jain@apple.com>
Fix build.webkit.org broken unit-test after r225080
https://bugs.webkit.org/show_bug.cgi?id=180176
Reviewed by Carlos Garcia Campos.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Updated expected_build_steps.
2017-11-29 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Implement SPI for clients to make an attachment element display in-place
https://bugs.webkit.org/show_bug.cgi?id=180153
<rdar://problem/35735252>
Reviewed by Tim Horton.
Adds new API tests to cover inserting in-place attachments and updating the display mode of existing attachments,
as well as performing a few editing operations (paragraph insertion, cut/paste, list insertion) on attachment
elements.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(platformAttachmentIconElementSize):
(testVideoData):
(testPDFData):
(displayOptionsWithMode):
(-[TestWKWebView waitForAttachmentElementSizeToBecome:]):
(-[_WKAttachment synchronouslySetDisplayOptions:error:]):
(TestWebKitAPI::TEST):
2017-11-29 Simon Fraser <simon.fraser@apple.com>
API test fix after r225288.
Make the test work on iOS.
* TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm:
(-[DidScrollToFragmentScrollViewDelegate scrollViewDidScroll:]):
(TestWebKitAPI::TEST):
2017-11-29 Simon Fraser <simon.fraser@apple.com>
REGRESSION (r213590): Scrolling to anchors broken in web views when content loaded via HTML string
https://bugs.webkit.org/show_bug.cgi?id=180155
rdar://problem/34220827
Reviewed by Zalan Bujtas.
API test that loads a page with a relative anchor, and simulates a click to scroll to it.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm: Added.
(-[DidScrollToFragmentDelegate _webViewDidScroll:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/scroll-to-anchor.html: Added.
2017-11-29 Ryan Haddad <ryanhaddad@apple.com>
webkitpy EWS should be present on the dashboard.
https://bugs.webkit.org/show_bug.cgi?id=179801
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer): Add Webkitpy EWS.
2017-11-29 Simon Fraser <simon.fraser@apple.com>
Viewport unit values affected by Comand-+ zoom
https://bugs.webkit.org/show_bug.cgi?id=145614
Reviewed by Zalan Bujtas.
Fix Command+ and Command- in MiniBrowser to do zooming, rather than being tied
to editing commands.
* MiniBrowser/mac/MainMenu.xib:
2017-11-29 Alex Christensen <achristensen@webkit.org>
Add test for _WKVisitedLinkStore.addVisitedLinkWithString
https://bugs.webkit.org/show_bug.cgi?id=180152
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm:
(TestWebKitAPI::TEST):
2017-11-29 Jonathan Bedard <jbedard@apple.com>
webkitpy: Trying to use iOS versions from machines without iOS SDKs doesn't make sense
https://bugs.webkit.org/show_bug.cgi?id=179534
<rdar://problem/35469509>
Reviewed by Brent Fulgham.
Provide more specific information in builders.py so that machines do not try and calculate
an iOS SDK version while running tests.
* Scripts/webkitpy/port/builders.py: Explicitly specify a version for iOS Simulator.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort._version_from_name): Attempt to extract the iOS version from the name
of the port.
(IOSSimulatorPort.ios_version): Use specified iOS version if a version is detected in
in the provided name string (just like Mac).
2017-11-29 Robin Morisset <rmorisset@apple.com>
The recursive tail call optimisation is wrong on closures
https://bugs.webkit.org/show_bug.cgi?id=179835
Reviewed by Saam Barati.
This just includes merge-sort-cps.js to the list of benchmarks ran by run-jsc-benchmarks --tail-bench
* Scripts/run-jsc-benchmarks:
2017-11-28 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: add an option to dump test results to a json file
https://bugs.webkit.org/show_bug.cgi?id=180082
Reviewed by Brian Burg.
Add --json-output command line option to run-webdriver-tests to dump test results to a json file in a format
compatible with the W3C report. WebDriverTestResult now represents a test file and contains a list of
subtests, instead of having one WebDriverTestResult per subtest. This way we can store also the harness result
and dump the results to different formats.
* Scripts/run-webdriver-tests:
* Scripts/webkitpy/webdriver_tests/webdriver_test_result.py:
(WebDriverTestResult.__init__):
(WebDriverTestResult):
(WebDriverTestResult.add_subtest_results):
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
(WebDriverTestRunner.print_results):
(WebDriverTestRunner):
(WebDriverTestRunner.dump_results_to_json_file):
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
(WebDriverTestRunnerW3C.run):
2017-11-28 Alexey Proskuryakov <ap@apple.com>
Stop silencing leaks in TextCodecICU::registerCodecs, as the problem was fixed a while ago.
https://bugs.webkit.org/show_bug.cgi?id=118505
Reviewed by Joseph Pecoraro.
* Scripts/valgrind/suppressions.txt:
* Scripts/webkitpy/port/leakdetector.py:
(LeakDetector._callstacks_to_exclude_from_leaks):
2017-11-28 Ms2ger <Ms2ger@igalia.com>
Stop modifying self.expectations in TestExpectationLine.expected_behavior.
https://bugs.webkit.org/show_bug.cgi?id=180074
Reviewed by Simon Fraser.
In particular, getting the property multiple times on a skipped test
expectation line (which happens when using
`Tools/Scripts/run-webkit-tests --print-expectations` if a directory
containing multiple tests is skipped) would yield [pass, skip], then
[pass, skip, skip], then [pass, skip, skip, skip], and so on.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationLine.expected_behavior): copy self.expectations before modifying it.
2017-11-14 Carlos Garcia Campos <cgarcia@igalia.com>
Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
https://bugs.webkit.org/show_bug.cgi?id=173793
Reviewed by Joseph Pecoraro.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/JSONValue.cpp: Renamed from Tools/TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp.
(TestWebKitAPI::TEST):
2017-11-28 Ryan Haddad <ryanhaddad@apple.com>
Bugs filed from the flakiness dashboard should include a link to the dashboard
https://bugs.webkit.org/show_bug.cgi?id=180090
Reviewed by Aakash Jain.
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(createBugHTML):
Open the bug compose page in a new tab and include a link
to the flakiness dashboard results for the selected test.
2017-11-28 Jonathan Bedard <jbedard@apple.com>
webkitpy: Standardize Version representation
https://bugs.webkit.org/show_bug.cgi?id=179677
<rdar://problem/35711277>
Reviewed by Alex Christensen.
Standardize a single method of representing versions in the Version object
constructor. Provide static methods for converting string and lists/tuples
to Version objects.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__): Parse Version object from string instead of using
the constructor.
(PlatformInfo.xcode_sdk_version): Ditto.
(PlatformInfo.xcode_version): Ditto.
(PlatformInfo._win_version): Construct Version object from list.
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.xcode_sdk_version):
(MockPlatformInfo.xcode_version):
* Scripts/webkitpy/common/version.py:
(Version):
(Version.from_string): Parse string of the form 'x.x.x'.
(Version.from_iterable): Construct a version object from a list, tuple or
other indexable object.
(Version.__init__): Construct a Version object from integers.
* Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.__init__): Use integer Version constructor.
(VersionNameMap._automap_to_major_version): Ditto.
(VersionNameMap.to_name):
(VersionNameMap.strip_name_formatting): Construct Version from string.
* Scripts/webkitpy/common/version_name_map_unittest.py:
(VersionMapTestCase.test_mac_version_by_name): Use integer Version constructor.
(VersionMapTestCase.test_mac_name_by_version): Ditto.
(VersionMapTestCase.test_ios_name_by_version): Ditto.
* Scripts/webkitpy/common/version_unittest.py:
(VersionTestCase.test_string_constructor):
(VersionTestCase.test_from_list):
(VersionTestCase.test_from_tuple):
(VersionTestCase.test_int_constructor):
(VersionTestCase.test_len):
(VersionTestCase.test_set_by_int):
(VersionTestCase.test_set_by_string):
(VersionTestCase.test_get_by_int):
(VersionTestCase.test_get_by_string):
(VersionTestCase.test_string):
(VersionTestCase.test_contained_in):
(VersionTestCase.test_compare_versions):
(VersionTestCase.test_list_constructor): Deleted.
(VersionTestCase.test_tuple_constructor): Deleted.
(VersionTestCase.test_copy_constructor): Deleted.
(VersionTestCase.test_none_constructor): Deleted.
* Scripts/webkitpy/port/ios.py:
(IOSPort.default_baseline_search_path): Handle case where ios_version is None.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.ios_version): Return None rather than an empty version.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.simulator_runtime): Parse Version object from string instead
of using the constructor.
(IOSSimulatorPort.ios_version): Return None rather than an empty version.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator._parse_runtimes): Parse Version object from string instead of using
the constructor.
(Simulator._parse_devices): Ditto.
* Scripts/webkitpy/xcode/simulator_unittest.py:
2017-11-28 Daniel Bates <dabates@apple.com>
[Cocoa] First pass at implementing alternative presentation button element
https://bugs.webkit.org/show_bug.cgi?id=179785
Part of <rdar://problem/34917108>
Reviewed by Brent Fulgham.
Add a test that substitutes the alternative presentation button for an element in
the page and clicks it.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add test.
* TestWebKitAPI/Tests/WebKitCocoa/ClickAlternativePresentationButton.mm: Added.
(didClickAlternativePresentationButton):
(-[ClickAlternativePresentationButton webProcessPlugIn:didCreateBrowserContextController:]):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
(-[AlternativePresentationButtonDelegate _webView:didClickAlternativePresentationButtonWithUserInfo:]):
(-[AlternativePresentationButtonDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2017-11-28 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r225166): [GTK] Skipped unit tests are considered failures after glib upgrade
https://bugs.webkit.org/show_bug.cgi?id=180072
Reviewed by Michael Catanzaro.
This is a bug in GLib that has already been fixed. Backport the patch to fix it until there's a new GLib release
we can depend on.
* gtk/jhbuild.modules:
* gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Added.
2017-11-28 Fujii Hironori <Hironori.Fujii@sony.com>
webkitpy: PlatformInfo raises AssertionError "assert self.os_version is not None" in Cygwin since Bug 179621
https://bugs.webkit.org/show_bug.cgi?id=180069
Reviewed by Daniel Bates.
"Version 10.0.16299" was interpreted as 0.0.16299. Fix the wrong
regexp for 'ver' command.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._win_version_from_cmd): Replace \d with \d+.
2017-11-28 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] WebDriver: disable XSS auditor when running WebDriver tests
https://bugs.webkit.org/show_bug.cgi?id=180075
Reviewed by Carlos Alberto Lopez Perez.
Some tests are now doing inline('<script>window.alert()</script>') which is rejected by the XSS auditor because
the script source is part of the request URL.
* Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py:
(WebDriverGtk.capabilities): Disable XSS auditor.
2017-11-28 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: add timeout option to run-webdriver-tests script
https://bugs.webkit.org/show_bug.cgi?id=179940
Reviewed by Carlos Alberto Lopez Perez.
We need to handle timeouts to be able to run the tests in the bots. pytest doesn't support timeouts, but there's
a plugin pytest_timeout that can be used for that.
* Scripts/run-webdriver-tests: Add --timeout command line option.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Check if pytest_timeout is imported to install it.
(AutoinstallImportHook._install_pytest_timeout): Install pytest_timeout from pypi.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
(WebDriverTestRunnerW3C.__init__): Set PYTEST_TIMEOUT env var with the timeout given.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
(WebDriverW3CExecutor.run): Clarify that the timeout received by do_wdspec() is ignored, and pass 0 instead of 25.
2017-11-27 Aakash Jain <aakash_jain@apple.com>
Do not run webkitpy tests on multiple EWSes
https://bugs.webkit.org/show_bug.cgi?id=179834
Reviewed by Alexey Proskuryakov.
Do not run webkitpy tests in every EWS. We now have
a dedicated webkitpy test EWS.
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run): Do not run webkitpy tests in EWSes. These tests will still run
when --non-interactive option is not passed.
2017-11-27 Jonathan Bedard <jbedard@apple.com>
webkitpy: Better name-version mapping (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=179621
<rdar://problem/35589585>
Reviewed by David Kilzer.
Mapping version numbers to version names should occur in a central location.
This has a few advantages. First, it makes iterating through versions easier.
Second, it allows for apple_additions to define an additional set of name
mappings. Lastly, it will allow, in a future patch, for us to track version
instead of version name, only mapping version to version name when required.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__):
(PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
mapping version to name.
(PlatformInfo._determine_linux_version): Deleted.
(PlatformInfo._determine_mac_version): Deleted.
(PlatformInfo._determine_win_version): Deleted.
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_os_name_and_wrappers):
(TestPlatformInfo.test_os_version):
(TestPlatformInfo.test_display_name):
(TestPlatformInfo.test_total_bytes_memory):
* Scripts/webkitpy/common/version.py:
(Version.contained_in): Add partial version mapping.
* Scripts/webkitpy/common/version_name_map.py: Added.
(VersionNameMap): Holds a mapping of version name to version object.
(VersionNameMap.map): Don't re-create VersionNameMap every time.
(VersionNameMap.__init__): Initialize mapping, use platform to
define the default system platform.
(VersionNameMap._automap_to_major_version): Some operating systems, such
as iOS, have a naming scheme based on their major version and os name.
Automatically generate such mappings.
(VersionNameMap.to_name): Given a version object, platform name and
table, find the closest matching version name.
(VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
if a version string is included in the name.
(VersionNameMap.from_name): Return an os name and version given a version name.
* Scripts/webkitpy/common/version_name_map_unittest.py: Added.
(VersionMapTestCase):
(VersionMapTestCase.test_default_system_platform):
(VersionMapTestCase.test_mac_version_by_name):
(VersionMapTestCase.test_ios_version_by_name):
(VersionMapTestCase.test_mac_name_by_version):
(VersionMapTestCase.test_ios_name_by_version):
* Scripts/webkitpy/common/version_unittest.py:
(VersionTestCase.test_contained_in):
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.ios_version): Map os_version name to version number.
2017-11-27 Don Olmstead <don.olmstead@sony.com>
[CMake][Win] Conditionally select DLL CRT or static CRT
https://bugs.webkit.org/show_bug.cgi?id=170594
Reviewed by Alex Christensen.
* DumpRenderTree/PlatformWin.cmake:
* MiniBrowser/win/CMakeLists.txt:
2017-11-27 Yacine Bandou <yacine.bandou_ext@softathome.com>
[GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings
https://bugs.webkit.org/show_bug.cgi?id=18005
Reviewed by Michael Catanzaro.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2017-11-27 Tim Horton <timothy_horton@apple.com>
One too many zeroes in macOS version number in FeatureDefines
https://bugs.webkit.org/show_bug.cgi?id=180011
Reviewed by Dan Bernstein.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-11-27 Per Arne Vollan <pvollan@apple.com>
[Win] The number of webkit-patch iterations on EWS should be configurable.
https://bugs.webkit.org/show_bug.cgi?id=178517
Reviewed by Darin Adler.
Add a new RESET_AFTER_ITERATION argument to the EWS shell script.
* EWSTools/start-queue-win.sh:
2017-11-27 Per Arne Vollan <pvollan@apple.com>
[Win] Switch to VS2017 on EWS bots.
https://bugs.webkit.org/show_bug.cgi?id=178516
Reviewed by Darin Adler.
* EWSTools/start-queue-win.sh:
2017-11-27 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed
https://bugs.webkit.org/show_bug.cgi?id=176806
Reviewed by Carlos Alberto Lopez Perez.
This was caused by a GLib bug that has already been fixed. Upgrade glib to 2.54.2.
* gtk/jhbuild.modules:
* gtk/patches/gdate-suppress-string-format-literal-warning.patch: Removed.
2017-11-24 Darin Adler <darin@apple.com>
* TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST): Added a test for OptionSet operator|.
2017-11-24 Mark Lam <mark.lam@apple.com>
Move unsafe jsc shell test functions to the $vm object.
https://bugs.webkit.org/show_bug.cgi?id=179980
Reviewed by Yusuke Suzuki.
Always set --useDollarVM=true for jsc runs of benchmarks. This is needed because
some microbenchmarks relies on createBuiltin().
Also set --useDollarVM=true for runExceptionFuzz and runExecutableAllocationFuzz.
* Scripts/run-jsc-benchmarks:
* Scripts/run-jsc-stress-tests:
2017-11-23 Darin Adler <darin@apple.com>
Reduce WTF::String operations that do unnecessary Unicode operations instead of ASCII
https://bugs.webkit.org/show_bug.cgi?id=179907
Reviewed by Sam Weinig.
* DumpRenderTree/mac/DumpRenderTree.mm:
(changeWindowScaleIfNeeded): Use containsIgnoringASCIICase.
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::urlContains const): Ditto.
2017-11-22 Ali Juma <ajuma@chromium.org>
Implement VisualViewport API attributes
https://bugs.webkit.org/show_bug.cgi?id=179385
Reviewed by Frédéric Wang.
Enable the VisualViewportAPI in layout tests.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
2017-11-22 Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
Remove build-webkit's notion of feature flags having a default value
https://bugs.webkit.org/show_bug.cgi?id=177338
Reviewed by Carlos Alberto Lopez Perez.
Delegate feature flag default values to the build system.
(FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Factory.__init__):
Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
bots instead of --default-cmake-features.
* Scripts/build-webkit:
(cMakeArgsFromFeatures): Deleted.
Default feature values to 'undef'.
Remove the --default-cmake-features argument; it is now the default.
Add --no-experimental-features to replace it.
Stop printing the default feature flag value in the help.
Avoid propagating undefined values to the build system;
only mention flags that are overridden on the command line.
This has the nice side effect of using the default CMake features
for CMake builds, but still allowing toggling of them using the
prettier --FEATURE and --no-FEATURE arguments.
* Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):
No longer need to suppress CMake warnings about unused arguments.
* Scripts/webkitperl/FeatureList.pm:
Remove the default values from the feature list.
2017-11-22 Mark Lam <mark.lam@apple.com>
[Re-landing] Pass --useDollarVM=true to all JSC tests.
https://bugs.webkit.org/show_bug.cgi?id=179647
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests:
2017-11-22 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r225093.
https://bugs.webkit.org/show_bug.cgi?id=179938
Compilation failed on WinCairo 64-bit Release (Requested by
fredw on #webkit).
Reverted changeset:
"Implement VisualViewport API attributes"
https://bugs.webkit.org/show_bug.cgi?id=179385
https://trac.webkit.org/changeset/225093
2017-11-21 Ali Juma <ajuma@chromium.org>
Implement VisualViewport API attributes
https://bugs.webkit.org/show_bug.cgi?id=179385
Reviewed by Frédéric Wang.
Enable the VisualViewportAPI in layout tests.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
2017-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Run unit tests in the bots
https://bugs.webkit.org/show_bug.cgi?id=179910
Reviewed by Michael Catanzaro.
Add a step to run unit tests in WPE test bots.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunGLibAPITests):
(RunGtkAPITests):
(RunWPEAPITests):
(TestFactory.__init__):
(RunGtkAPITests.start): Deleted.
(RunGtkAPITests.commandComplete): Deleted.
(RunGtkAPITests.evaluateCommand): Deleted.
(RunGtkAPITests.getText): Deleted.
(RunGtkAPITests.getText2): Deleted.
* wpe/jhbuild.modules: Upgrade WPEBackend-mesa to fix crashes when running unit tests.
2017-11-21 Tomas Popela <tpopela@redhat.com>
Fix WebKitGTK+ compilation
Reviewed by Carlos Garcia Campos.
File "/builddir/build/BUILD/webkitgtk-2.19.2/Tools/gtk/generate-gtkdoc", line 31, in <module>
import common
ImportError: No module named common
* gtk/manifest.txt.in:
Add Tools/glib/common.py to the tarball.
2017-11-21 Ms2ger <Ms2ger@igalia.com>
[GTK] Avoid warning in jhbuildrc.
https://bugs.webkit.org/show_bug.cgi?id=179913
Reviewed by Carlos Garcia Campos.
Apparently this is not quite a real python file; this declaration causes
warnings like
I: unknown keys defined in configuration file: top_level_directory
which break run-webkit-tests.
* gtk/jhbuildrc:
2017-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix WPE make distcheck.
* wpe/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ make distcheck.
* gtk/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
2017-11-20 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Disable ACCELERATED_2D_CANVAS in FeatureList.pm
https://bugs.webkit.org/show_bug.cgi?id=179889
Reviewed by Darin Adler.
* Scripts/webkitperl/FeatureList.pm:
2017-11-20 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, speculative attempt to fix run-gtk-tests after r225047
https://bugs.webkit.org/show_bug.cgi?id=173772
* jhbuild/jhbuildutils.py:
(enter_jhbuild_environment_if_available):
2017-11-20 Mario Sanchez Prada <mario@endlessm.com>
[GTK] New API to add, retrieve and delete cookies via WebKitCookieManager
https://bugs.webkit.org/show_bug.cgi?id=177932
Reviewed by Carlos Garcia Campos.
Added new test cases to cover the newly added API for WebKitCookieManager:
webkit_cookie_manager_add_cookie, webkit_cookie_manager_get_cookies and
webkit_cookie_manager_delete_cookie.
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerAddCookie): Added.
(testCookieManagerGetCookies): Added.
(testCookieManagerDeleteCookie): Added.
(serverCallback): Small update to avoid hardcoding strings we reuse.
(beforeAll): Added the new test cases to the test suite.
2017-11-20 Stephan Szabo <stephan.szabo@sony.com>
[Win] Update ruby JSC test writer for gigacage changes
https://bugs.webkit.org/show_bug.cgi?id=178757
Reviewed by Keith Miller.
* Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
Add additionalEnv to ruby test writer Plan
2017-11-20 Michael Catanzaro <mcatanzaro@igalia.com>
Remove ENABLE_ALLINONE_BUILD option
https://bugs.webkit.org/show_bug.cgi?id=179823
Reviewed by Darin Adler.
* Scripts/webkitperl/FeatureList.pm:
2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix WPE build after r225047.
Remove changes from an old patch committed by mistake in r225047.
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::windowSnapshotImage):
2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Add run-wpe-tests script to run WPE glib API tests
https://bugs.webkit.org/show_bug.cgi?id=173772
Reviewed by Michael Catanzaro.
Move common code from run-gtk-tests to api_test_runner.py, to be shared by both run-gtk-tests and un-wpe-tests.
* Scripts/run-gtk-tests:
(GtkTestRunner):
(GtkTestRunner.__init__):
(GtkTestRunner._start_accessibility_daemons):
(GtkTestRunner._setup_testing_environment):
(GtkTestRunner._tear_down_testing_environment):
(GtkTestRunner.is_glib_test):
(GtkTestRunner.is_google_test):
* Scripts/run-wpe-tests: Added.
(WPETestRunner):
(WPETestRunner.__init__):
(WPETestRunner.is_glib_test):
(WPETestRunner.is_google_test):
* Scripts/webkitpy/port/headlessdriver.py: Added.
(HeadlessDriver):
(HeadlessDriver._setup_environ_for_test):
(HeadlessDriver._start):
* Scripts/webkitpy/port/headlessdriver_unittest.py: Added.
(HeadlessDriverTest):
(HeadlessDriverTest.make_driver):
(HeadlessDriverTest.make_environment):
(HeadlessDriverTest.test_environment_needed_variables):
(HeadlessDriverTest.test_environment_forbidden_variables):
* Scripts/webkitpy/port/wpe.py:
(WPEPort._driver_class):
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::windowSnapshotImage):
* glib/api_test_runner.py: Copied from Tools/Scripts/run-gtk-tests.
(SkippedTest):
(SkippedTest.__init__):
(SkippedTest.__str__):
(SkippedTest.skip_entire_suite):
(SkippedTest.skip_for_build_type):
(TestTimeout):
(TestRunner):
(TestRunner.__init__):
(TestRunner._test_programs_base_dir):
(TestRunner._get_tests_from_dir):
(TestRunner._get_tests):
(TestRunner._create_driver):
(TestRunner._setup_testing_environment):
(TestRunner._tear_down_testing_environment):
(TestRunner._test_cases_to_skip):
(TestRunner._should_run_test_program):
(TestRunner._kill_process):
(TestRunner._start_timeout):
(TestRunner._start_timeout._alarm_handler):
(TestRunner._stop_timeout):
(TestRunner._waitpid):
(TestRunner._run_test_glib):
(TestRunner._run_test_glib.parse_line):
(TestRunner._run_test_glib.parse_line.set_test_result):
(TestRunner._get_tests_from_google_test_suite):
(TestRunner._run_google_test):
(TestRunner._run_google_test_suite):
(TestRunner.is_glib_test):
(TestRunner.is_google_test):
(TestRunner._run_test):
(TestRunner.run_tests):
(add_options):
* glib/common.py: Renamed from Tools/gtk/common.py.
(get_build_path.is_valid_build_directory):
* gtk/generate-gtkdoc:
* gtk/jhbuildrc:
* gtk/ycm_extra_conf.py:
2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Build C API tests
https://bugs.webkit.org/show_bug.cgi?id=179817
Reviewed by Michael Catanzaro.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
(TestWebKitAPI::Util::URLForNonExistentResource):
(TestWebKitAPI::Util::isKeyDown):
* TestWebKitAPI/wpe/PlatformWebViewWPE.cpp: Added.
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
(TestWebKitAPI::PlatformWebView::initialize):
(TestWebKitAPI::PlatformWebView::page const):
(TestWebKitAPI::PlatformWebView::resizeTo):
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
(TestWebKitAPI::PlatformWebView::simulateRightClick):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Add env var WPE_USE_HEADLESS_VIEW_BACKEND
https://bugs.webkit.org/show_bug.cgi?id=173770
Reviewed by Michael Catanzaro.
Move HeadlessViewBackend implementation to a common place and build it as a private static library to be used by
WTR, GLib API tests and eventually C API tests too. WTR uses the HeadlessViewBackend unconditionally, but GLib
API tests use it only when WPE_USE_HEADLESS_VIEW_BACKEND environment variable is present and not "0".
* CMakeLists.txt: Include wpe/HeadlessViewBackend directory for developer builds.
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
(testAutomationSessionRequestSession):
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerEphemeral):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
(testPrivateBrowsing):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextProxySettings):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewWebContext):
(testWebViewEphemeral):
* TestWebKitAPI/glib/PlatformWPE.cmake:
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::createWebViewBackend):
(Test::createWebView):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView):
* WebKitTestRunner/PlatformWPE.cmake:
* wpe/HeadlessViewBackend/CMakeLists.txt: Added.
* wpe/HeadlessViewBackend/HeadlessViewBackend.cpp: Renamed from Tools/WebKitTestRunner/wpe/HeadlessViewBackend.cpp.
(HeadlessViewBackend::HeadlessViewBackend):
* wpe/HeadlessViewBackend/HeadlessViewBackend.h: Renamed from Tools/WebKitTestRunner/wpe/HeadlessViewBackend.h.
2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] webkit_web_view_new() should enable specifying wpe_view_backend object
https://bugs.webkit.org/show_bug.cgi?id=178655
Reviewed by Michael Catanzaro.
Update unit tests to create web views using helper methods that have a different implementation for GTK and
WPE. Also add a new test case to check the new API to create a WebKitWebView with a WPE backend. Use
WKViewCreate in WTR and fix a memory leak in HeadlessViewBackend.
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
(testAutomationSessionRequestSession):
* TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
(testWebKitWebViewSessionState):
(testWebKitWebViewSessionStateWithFormData):
(testWebKitWebViewNavigationAfterSessionRestore):
* TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
(testWebResourceGetDataError):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
(testWebViewNewWithUserContentManager):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextEphemeral):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewWebContext):
(testWebViewWebContextLifetime):
(testWebViewWebBackend):
(testWebViewSettings):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataEphemeral):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::createWebView):
* WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
(HeadlessViewBackend::~HeadlessViewBackend):
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::PlatformWebView):
2017-11-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] webkit_cookie_manager_delete_all_cookies doesn't delete the cookies if called before a web process is running
https://bugs.webkit.org/show_bug.cgi?id=175265
Reviewed by Michael Catanzaro.
Add test case.
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerPersistentStorageDeleteAll):
(serverCallback):
(beforeAll):
2017-11-19 Tim Horton <timothy_horton@apple.com>
Remove unused TOUCH_ICON_LOADING feature flag
https://bugs.webkit.org/show_bug.cgi?id=179873
Reviewed by Simon Fraser.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-11-19 Tim Horton <timothy_horton@apple.com>
Remove unused LEGACY_VENDOR_PREFIXES feature flag
https://bugs.webkit.org/show_bug.cgi?id=179872
Reviewed by Darin Adler.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-11-19 Yusuke Suzuki <utatane.tea@gmail.com>
Unreviewed, rolling out r225016.
Break webkit-patch on Ubuntu and Debian Linux
Reverted changeset:
"webkitpy: Better name-version mapping (Part 1)"
https://bugs.webkit.org/show_bug.cgi?id=179621
https://trac.webkit.org/changeset/225016
2017-11-18 Jonathan Bedard <jbedard@apple.com>
webkitpy: Better name-version mapping (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=179621
<rdar://problem/35589585>
Reviewed by David Kilzer.
Mapping version numbers to version names should occur in a central location.
This has a few advantages. First, it makes iterating through versions easier.
Second, it allows for apple_additions to define an additional set of name
mappings. Lastly, it will allow, in a future patch, for us to track version
instead of version name, only mapping version to version name when required.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__):
(PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
mapping version to name.
(PlatformInfo._determine_linux_version): Deleted.
(PlatformInfo._determine_mac_version): Deleted.
(PlatformInfo._determine_win_version): Deleted.
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_os_name_and_wrappers):
(TestPlatformInfo.test_os_version):
(TestPlatformInfo.test_display_name):
(TestPlatformInfo.test_total_bytes_memory):
* Scripts/webkitpy/common/version.py:
(Version.contained_in): Add partial version mapping.
* Scripts/webkitpy/common/version_name_map.py: Added.
(VersionNameMap): Holds a mapping of version name to version object.
(VersionNameMap.map): Don't re-create VersionNameMap every time.
(VersionNameMap.__init__): Initialize mapping, use platform to
define the default system platform.
(VersionNameMap._automap_to_major_version): Some operating systems, such
as iOS, have a naming scheme based on their major version and os name.
Automatically generate such mappings.
(VersionNameMap.to_name): Given a version object, platform name and
table, find the closest matching version name.
(VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
if a version string is included in the name.
(VersionNameMap.from_name): Return an os name and version given a version name.
* Scripts/webkitpy/common/version_name_map_unittest.py: Added.
(VersionMapTestCase):
(VersionMapTestCase.test_default_system_platform):
(VersionMapTestCase.test_mac_version_by_name):
(VersionMapTestCase.test_ios_version_by_name):
(VersionMapTestCase.test_mac_name_by_version):
(VersionMapTestCase.test_ios_name_by_version):
* Scripts/webkitpy/common/version_unittest.py:
(VersionTestCase.test_contained_in):
2017-11-17 John Wilander <wilander@apple.com>
Storage Access API: UI process should update network process about granted access
https://bugs.webkit.org/show_bug.cgi?id=176943
<rdar://problem/34440612>
Reviewed by Alex Christensen.
This adds the TestRunner function setStatisticsHasHadNonRecentUserInteraction()
which enables testing of prevalent resources with user interaction outside the
24 hour window.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStorageAccessAPIEnabled):
(WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
(WTR::TestController::setStatisticsHasHadNonRecentUserInteraction):
2017-11-17 Ryan Haddad <ryanhaddad@apple.com>
Disable failing API tests for rdar://problem/35344202.
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
2017-11-17 Joanmarie Diggs <jdiggs@igalia.com>
AX: [ATK] Fix WKTR's methods for testing row header and column header presence and count
https://bugs.webkit.org/show_bug.cgi?id=179837
Reviewed by Chris Fleizach.
Add support to rowHeaders() for tables. Return an empty array in rowHeaders()
and columnHeaders() upon failure. Rename getRowHeaders() and getColumnHeaders()
to getTableRowHeaders() and getTableColumnHeaders() respectively.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::rowHeaders const):
(WTR::AccessibilityUIElement::columnHeaders const):
(WTR::AccessibilityUIElement::attributesOfColumnHeaders):
(WTR::AccessibilityUIElement::attributesOfRowHeaders):
2017-11-16 Don Olmstead <don.olmstead@sony.com>
[WinCairo] Update WinCairoRequirements
https://bugs.webkit.org/show_bug.cgi?id=179790
Reviewed by Alex Christensen.
* TestWebKitAPI/PlatformWin.cmake:
2017-11-16 Daniel Bates <dabates@apple.com>
Add feature define for alternative presentation button element
https://bugs.webkit.org/show_bug.cgi?id=179692
Part of <rdar://problem/34917108>
Reviewed by Andy Estes.
Only enabled on Cocoa platforms by default.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-11-16 Per Arne Vollan <pvollan@apple.com>
Win EWS bots should reboot after N webkit-patch iterations.
https://bugs.webkit.org/show_bug.cgi?id=177970
Reviewed by Brent Fulgham.
* EWSTools/start-queue-win.sh:
2017-11-15 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Add initial support for WebDriver
https://bugs.webkit.org/show_bug.cgi?id=179727
Reviewed by Michael Catanzaro.
Make it possible to run WebDriver tests with WPE.
* Scripts/run-webdriver-tests: Add --wpe alias for --platform=wpe.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.__init__): Initialize _display_server from options.
(WPEPort._driver_class): Use WaylandDriver when wayland is passed as display server option.
* Scripts/webkitpy/webdriver_tests/webdriver_driver.py:
(WebDriver.browser_env): Add virtual method to get the environment that should be used.
* Scripts/webkitpy/webdriver_tests/webdriver_driver_wpe.py: Copied from Tools/Scripts/webkitpy/webdriver_tests/webdriver_driver.py.
(WebDriverWPE):
(WebDriverWPE.__init__):
(WebDriverWPE.binary_path):
(WebDriverWPE.browser_name):
(WebDriverWPE.capabilities):
(WebDriverWPE.browser_env):
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
(WebDriverW3CExecutor.__init__): Update the environment with the one provided by the driver.
* wpe/jhbuild.modules: Upgrade dyz to newer version that supports automation.
2017-11-15 Alex Christensen <achristensen@webkit.org>
WebViews scheduled in custom run loop modes should be able to do more than 50ms of work at a time
https://bugs.webkit.org/show_bug.cgi?id=179742
<rdar://problem/35519421>
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm:
(-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
(TestWebKitAPI::TEST):
Load more than one scheduled WebView to test work that typically takes more than 50 ms.
2017-11-15 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r223781.
The test is now returning false, so the FIXME is not needed
anymore.
Reverted changeset:
"WebsiteDataStoreCustomPaths.mm is failing after r223718"
https://bugs.webkit.org/show_bug.cgi?id=178596
https://trac.webkit.org/changeset/223781
2017-11-15 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r224863.
Introduced LayoutTest crashes on iOS Simulator.
Reverted changeset:
"Move JSONValues to WTF and convert uses of InspectorValues.h
to JSONValues.h"
https://bugs.webkit.org/show_bug.cgi?id=173793
https://trac.webkit.org/changeset/224863
2017-11-15 Michael Catanzaro <mcatanzaro@igalia.com>
Remove GTK web inspector images
https://bugs.webkit.org/show_bug.cgi?id=179716
Reviewed by Carlos Garcia Campos.
* Scripts/webkitdirs.pm:
(shouldRemoveCMakeCache):
* glib/generate-inspector-gresource-manifest.py:
(get_filenames.should_ignore_resource):
* gtk/manifest.txt.in:
* wpe/manifest.txt.in:
2017-11-15 Jonathan Bedard <jbedard@apple.com>
REGRESSION(r221877): 'future' handled incorrectly for mac
https://bugs.webkit.org/show_bug.cgi?id=179711
<rdar://problem/35546604>
Reviewed by Alex Christensen.
* Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path): Use platform/mac-<version> instead of
platform/<version> as the baseline search path.
2017-11-14 Nan Wang <n_wang@apple.com>
AX: AOM: Implement AccessibleNode class and support label and role attributes
https://bugs.webkit.org/show_bug.cgi?id=179494
Reviewed by Ryosuke Niwa.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-11-14 Basuke Suzuki <Basuke.Suzuki@sony.com>
[Windows] Fix error while launching subprocess on Windows Python
https://bugs.webkit.org/show_bug.cgi?id=179637
Reviewed by Alex Christensen.
To pass environment variables to subprocess.popen on Windows Python 2,
the dict values must be str not unicode.
Also is_native_win() method is added to port.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.is_native_win):
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.is_native_win):
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_os_name_and_wrappers):
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.__init__):
2017-11-14 Carlos Garcia Campos <cgarcia@igalia.com>
Move JSONValues to WTF and convert uses of InspectorValues.h to JSONValues.h
https://bugs.webkit.org/show_bug.cgi?id=173793
Reviewed by Brian Burg.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/JSONValue.cpp: Renamed from Tools/TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp.
(TestWebKitAPI::TEST):
2017-11-14 Jonathan Bedard <jbedard@apple.com>
webkitpy: Use more verbose version info from simctl
https://bugs.webkit.org/show_bug.cgi?id=179687
<rdar://problem/35539392>
Reviewed by Tim Horton.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator): Address FIXME, use more verbose version.
(Simulator._parse_runtimes): 'Internal' no longer stands along, check os for this
string instead.
* Scripts/webkitpy/xcode/simulator_unittest.py: Mock simctl output specifies iOS
8.4.1, not iOS 8.4.
2017-11-14 Daniel Bates <dabates@apple.com>
Update comment in FeatureDefines.xcconfig to reflect location of Visual Studio property files
for feature defines
Following r195498 and r201917 the Visual Studio property files for feature defines have
moved from directory WebKitLibraries/win/tools/vsprops to directory Source/cmake/tools/vsprops.
Update the comment in FeatureDefines.xcconfig to reflect the new location and names of these
files.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-11-14 Jer Noble <jer.noble@apple.com>
Enable Modern EME tests in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=179544
Reviewed by Alex Christensen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
2017-11-14 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r224800.
https://bugs.webkit.org/show_bug.cgi?id=179684
"Broke CLoop test mozilla/js1_6/Array/regress-304828.js"
(Requested by mlam on #webkit).
Reverted changeset:
"Pass --useDollarVM=true to all JSC tests."
https://bugs.webkit.org/show_bug.cgi?id=179647
https://trac.webkit.org/changeset/224800
2017-11-14 Antti Koivisto <antti@apple.com>
Enable display:contents by default
https://bugs.webkit.org/show_bug.cgi?id=179655
Reviewed by Sam Weinig.
No need to enable this specifically for tests anymore.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-11-14 Tim Horton <timothy_horton@apple.com>
Long pressing a phone number with spaces in it results in a link sheet instead of a data detectors sheet
https://bugs.webkit.org/show_bug.cgi?id=179646
<rdar://problem/35337288>
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
(-[ActionSheetObserver _dataDetectionContextForWebView:]):
(TestWebKitAPI::TEST):
Add a test that ensures that a phone number with spaces in it
invokes a data detectors sheet, not a normal link sheet.
2017-11-14 Emilio Cobos Álvarez <emilio@crisal.io>
Add committer status for Emilio Cobos Álvarez.
https://bugs.webkit.org/show_bug.cgi?id=179667
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2017-11-13 Mark Lam <mark.lam@apple.com>
Pass --useDollarVM=true to all JSC tests.
https://bugs.webkit.org/show_bug.cgi?id=179647
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests:
2017-11-13 Simon Fraser <simon.fraser@apple.com>
When navigating back to a page, compositing layers may not use accelerated drawing
https://bugs.webkit.org/show_bug.cgi?id=178749
rdar://problem/35158946
Reviewed by Dean Jackson.
Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
and use it to set the state of the web view.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2017-11-13 Basuke Suzuki <Basuke.Suzuki@sony.com>
[Windows] Fix Python error for subprocess.popen with close_fds
https://bugs.webkit.org/show_bug.cgi?id=179553
Reviewed by Per Arne Vollan.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess._start):
(ServerProcess._should_close_fds):
2017-11-13 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Require woff2 1.0.2 and drop direct brotli dependency
https://bugs.webkit.org/show_bug.cgi?id=179630
Reviewed by Frédéric Wang.
* gtk/jhbuild.modules:
2017-11-08 Keith Miller <keith_miller@apple.com>
Async iteration should only fetch the next method once and add feature flag
https://bugs.webkit.org/show_bug.cgi?id=179451
Reviewed by Geoffrey Garen.
Add feature flag for Async iteration.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-11-13 Gabriel Ivascu <givascu@igalia.com>
[GTK] Automatically adjust font size when gtk-xft-dpi changes
https://bugs.webkit.org/show_bug.cgi?id=142673
Reviewed by Michael Catanzaro.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2017-11-13 Jonathan Bedard <jbedard@apple.com>
check-webkit-style cannot construct valid iOS version without an iOS SDK
https://bugs.webkit.org/show_bug.cgi?id=179616
<rdar://problem/35507018>
Reviewed by David Kilzer.
Instead of throwing an exception when we ask for an unavailable SDK on Mac,
we should return None.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.xcode_sdk_version): Return 'None' version if the machine does not
have the requested SDK.
2017-11-13 Keith Miller <keith_miller@apple.com>
Uninitialized variable in sort-Xcode-project-file
https://bugs.webkit.org/show_bug.cgi?id=179581
Reviewed by Simon Fraser.
Previously all the unified source files were named
UnifiedSource<some-number>.mm. This was changed to
UnifiedSource<some-number>-mm.mm to stop Xcode from creating
hashes for mm and cpp unified source files with the same
number. This broke the expectations in sort-Xcode-project-file.
* Scripts/sort-Xcode-project-file:
(sortChildrenByFileName):
(sortFilesByFileName):
2017-11-13 JF Bastien <jfbastien@apple.com>
std::expected: fix and test move
https://bugs.webkit.org/show_bug.cgi?id=179617
Reviewed by Alex Christensen.
Test that unique_ptr can be moved around properly, both has a
value and an error (and in a <void, unique> specialization).
* TestWebKitAPI/Tests/WTF/Expected.cpp:
(TestWebKitAPI::snowflake::reset):
(TestWebKitAPI::snowflake::snowflake):
(TestWebKitAPI::snowflake::~snowflake):
(TestWebKitAPI::TEST):
2017-11-13 Basuke Suzuki <Basuke.Suzuki@sony.com>
[Windows] Make the port's normalize_test_name() method platform independent.
https://bugs.webkit.org/show_bug.cgi?id=179572
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/port/base.py:
(Port.normalize_test_name):
2017-11-13 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Implement SPI for clients to request data for a given attachment
https://bugs.webkit.org/show_bug.cgi?id=179586
<rdar://problem/35355720>
Reviewed by Darin Adler.
Augments existing API tests in WKAttachmentTests to additionally check that -requestData: yields the correct
result when performing various editing operations. Also adds a new API test that cuts and pastes an attachment
inserted using WKWebView attachment SPI, and expects that the data of the attachment can still be fetched using
the _WKAttachment SPI, as well as another test that inserts an empty NSData and expects that requestData: also
yields an empty NSData result.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[NSData shortDescription]):
(-[_WKAttachment synchronouslyRequestData:]):
(-[_WKAttachment expectRequestedDataToBe:]):
(TestWebKitAPI::TEST):
2017-11-12 Gabriel Ivascu <givascu@igalia.com>
[GTK] Add functionality to handle font sizes in points
https://bugs.webkit.org/show_bug.cgi?id=179285
Reviewed by Carlos Garcia Campos and Michael Catanzaro.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2017-11-10 Fujii Hironori <Hironori.Fujii@sony.com>
check-webkit-style: AttributeError: 'NoneType' object has no attribute 'major'
https://bugs.webkit.org/show_bug.cgi?id=179522
Reviewed by Aakash Jain.
IOSSimulatorPort.ios_version should return a Version object.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.ios_version): Return a Version object.
2017-11-10 Basuke Suzuki <Basuke.Suzuki@sony.com>
[Win] The way to detect Windows 10 is wrong
https://bugs.webkit.org/show_bug.cgi?id=179344
Reviewed by Alex Christensen.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._determine_win_version):
2017-11-10 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] LayoutTests doesn't read TextExpectations files correctly
https://bugs.webkit.org/show_bug.cgi?id=179219
Reviewed by Alex Christensen.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser._parse_line):
* Scripts/webkitpy/port/apple.py:
(ApplePort.__init__):
(ApplePort._allowed_port_names):
(ApplePort):
(ApplePort._future_port_name):
(ApplePort._generate_all_test_configurations):
* Scripts/webkitpy/port/win.py:
(WinCairoPort.default_baseline_search_path):
(WinCairoPort):
(WinCairoPort._future_port_name):
2017-11-10 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] Treat 'future' version correctly
https://bugs.webkit.org/show_bug.cgi?id=179345
Reviewed by Alex Christensen.
* Scripts/webkitpy/port/win.py:
(WinCairoPort.default_baseline_search_path):
2017-11-10 Wenson Hsieh <wenson_hsieh@apple.com>
Finish rolling out r224544
Rubber-stamped by Tim Horton.
Now that https://bugs.webkit.org/show_bug.cgi?id=179431 has been fixed, we can once again allow one of the API
tests added in r224512 (WKAttachmentTests.AttachmentUpdatesWhenChangingFontStyles) to test toggling underline
style with a selected attachment element.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
2017-11-10 Alex Christensen <achristensen@webkit.org>
_WKThumbnailView initialization with WKWebView needs to call correct initWithFrame
https://bugs.webkit.org/show_bug.cgi?id=179537
<rdar://problem/35275219>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
(-[WKThumbnailViewDelegate webView:didFinishNavigation:]):
(TestWebKitAPI::TEST):
2017-11-10 Jonathan Bedard <jbedard@apple.com>
webkitpy: Remove find_system_pid from port classes
https://bugs.webkit.org/show_bug.cgi?id=179514
<rdar://problem/35456900>
Reviewed by David Kilzer.
Removing dead code.
* Scripts/webkitpy/port/base.py:
(Port.find_system_pid): Deleted.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess._start):
* Scripts/webkitpy/port/win.py:
(WinPort.find_system_pid): Deleted.
2017-11-10 Aakash Jain <aakash_jain@apple.com>
fix style failures in webkitpy: multiple statements on one line (semicolon)
https://bugs.webkit.org/show_bug.cgi?id=179530
Reviewed by Alex Christensen.
* Scripts/webkitpy/common/net/buildbot/buildbot.py: Removed semicolon.
* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Ditto.
* Scripts/webkitpy/tool/steps/runtests.py: Ditto.
2017-11-10 Aakash Jain <aakash_jain@apple.com>
fix style failures in webkitpy: expected 2 blank lines found 1
https://bugs.webkit.org/show_bug.cgi?id=179529
Reviewed by Alex Christensen.
* Scripts/webkitpy/benchmark_runner/run_benchmark.py: Added a blank line to follow style guidelines.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Ditto.
* Scripts/webkitpy/common/system/platforminfo_mock.py: Ditto.
* Scripts/webkitpy/common/version.py: Ditto.
* Scripts/webkitpy/layout_tests/models/test_failures.py: Ditto.
* Scripts/webkitpy/port/mac_unittest.py: Ditto.
* Scripts/webkitpy/port/simulator_process.py: Ditto.
2017-11-10 Alex Christensen <achristensen@webkit.org>
REGRESSION(r224267): WebViews scheduled with custom run loop modes don't load
https://bugs.webkit.org/show_bug.cgi?id=179515
Reviewed by Andy Estes.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/WebViewScheduleInRunLoop.mm: Added.
(-[ScheduleInRunLoopDelegate webView:didFinishLoadForFrame:]):
(TestWebKitAPI::TEST):
2017-11-10 Fujii Hironori <Hironori.Fujii@sony.com>
[webkitpy] Fix PlatformInfo._win_version since r224657
https://bugs.webkit.org/show_bug.cgi?id=179520
Reviewed by Aakash Jain.
There are two problems.
The return value of sys.getwindowsversion() doesn't match with
Version.__init__ expects. Truncate the 4th and 5th of it.
_win_version_tuple_from_cmd was deleted in r224657. But, it is
still needed for Cygwin Python.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._win_version): Return [0:3] of getwindowsversion().
Call _win_version_from_cmd for Cygwin Python.
(PlatformInfo._win_version_from_cmd): Restored.
2017-11-10 Guillaume Emont <guijemont@igalia.com>
build-jsc: build testmasm for all platforms using cmake
https://bugs.webkit.org/show_bug.cgi?id=179512
Reviewed by Michael Catanzaro.
* Scripts/build-jsc:
2017-11-09 Jonathan Bedard <jbedard@apple.com>
webkitpy: Unify version parsing code
https://bugs.webkit.org/show_bug.cgi?id=179426
<rdar://problem/35415191>
Unreviewed fix to r224657.
* Scripts/webkitpy/common/version.py:
(Version.__init__): Check if an object is iterable.
2017-11-09 Jonathan Bedard <jbedard@apple.com>
webkitpy: Unify version parsing code
https://bugs.webkit.org/show_bug.cgi?id=179426
<rdar://problem/35415191>
Reviewed by David Kilzer.
webkitpy needs to parse version strings or version lists frequently. Rather than
duplicate this code each time it's needed, unify it in a Version class.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__): Convert mac version string to version object and
use _win_version instead of _win_version_tuple.
(PlatformInfo.xcode_sdk_version): Convert SDK version string to Version object
before returning it.
(PlatformInfo.xcode_version): Return Version object instead of version string.
(PlatformInfo._determine_mac_version): Accept Version object instead of string,
eliminate parsing.
(PlatformInfo._determine_win_version): Accept Version object instead of tuple.
(PlatformInfo._win_version): Return Version object instead of tuple, have Version
object own version string parsing.
(PlatformInfo._win_version_tuple): Renamed to _win_version().
(PlatformInfo._win_version_tuple_from_cmd): Deleted.
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.xcode_sdk_version): Return Version object instead of string.
(MockPlatformInfo.xcode_version): Dittio.
* Scripts/webkitpy/common/version.py: Added.
(Version): Version object.
(Version.__init__): Initialize the Version object with a string, integer,
tuple of integers, list of integers or another Version object.
(Version.__len__): Return 5 so that the Version object can be treated as
a list or tuple.
(Version.__getitem__): Get item in Version object by index or string.
(Version.__setitem__): Set item in Version object by index or string.
(Version.__str__): Convert version to printable string, omitting trailing 0's.
(Version.__cmp__): Compare two version strings, major taking precedence over
minor, minor taking precedence over build.
* Scripts/webkitpy/common/version_unittest.py: Added.
(VersionTestCase): Test behavior of Version object.
* Scripts/webkitpy/port/ios.py:
(IOSPort.default_baseline_search_path): ios_version now returns a Version object.
(IOSPort._is_valid_ios_version): Deleted.
(IOSPort.get_option): Deleted.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.determine_full_port_name): Use Version object instead of owning parsing.
(IOSDevicePort.ios_version): Return Version object instead of string.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.simulator_runtime): Use from_version instead of from_version_string.
(IOSSimulatorPort.ios_version): Return Version object instead of string.
(IOSSimulatorPort.use_multiple_simulator_apps): Use Version object instead of string.
* Scripts/webkitpy/xcode/simulator.py:
(Runtime.from_version): Accept Version object instead of string.
(Runtime.from_version_string): Replaced by from_version.
(Runtime.__repr__): When printing, a runtime's version will be a Version object instead
of a tuple.
(Simulator._parse_runtimes): Use Version object instead of tuple.
(Simulator._parse_devices): Ditto.
* Scripts/webkitpy/xcode/simulator_unittest.py: Use Version object instead of tuples.
2017-11-09 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] Cannot find ImageDiff executable
https://bugs.webkit.org/show_bug.cgi?id=179508
Reviewed by Per Arne Vollan.
* Scripts/webkitpy/port/win.py:
(WinPort.is_cygwin):
(WinPort._path_to_image_diff):
(WinPort.find_system_pid):
2017-11-09 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo EWS] svn-apply: 'cp' is not recognized as an internal or external command
https://bugs.webkit.org/show_bug.cgi?id=179469
Reviewed by Per Arne Vollan.
WinCairo EWS bots haven't installed Cygwin.
* Scripts/svn-apply:
(scmCopy): Use 'copy' function instead of 'cp' command.
2017-11-09 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE] Update dyz (WPE MiniBrowser)
https://bugs.webkit.org/show_bug.cgi?id=179492
Reviewed by Michael Catanzaro.
Update it to the last version as of today.
This version not longer uses the C API.
* wpe/jhbuild.modules:
2017-11-09 Christopher Reid <chris.reid@sony.com>
Use enum classes within FileSystem
https://bugs.webkit.org/show_bug.cgi?id=175172
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
2017-11-09 Brent Fulgham <bfulgham@apple.com>
Test fix after r224609
https://bugs.webkit.org/show_bug.cgi?id=178565
<rdar://problem/11115901>
Unreviewed test fix after r224609.
Correct two test cases that attempt to push local file URLs in violation of our
same origin policies. The fix is to grant universal file access, as we do for similar
LayoutTests.
* TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
(TestWebKitAPI::TEST):
2017-11-09 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, remove Dan from the soup network watchlist
Per his request. It's not Hotel California; we should probably let him leave.
* Scripts/webkitpy/common/config/watchlist:
2017-11-08 Don Olmstead <don.olmstead@sony.com>
Add Windows powershell EWS script
https://bugs.webkit.org/show_bug.cgi?id=179453
Reviewed by Brent Fulgham.
* EWSTools/Start-Queue.ps1: Added.
2017-11-08 Jeremy Jones <jeremyj@apple.com>
HTMLMediaElement should not use element fullscreen on iOS
https://bugs.webkit.org/show_bug.cgi?id=179418
rdar://problem/35409277
Reviewed by Eric Carlson.
Add ENABLE_VIDEO_USES_ELEMENT_FULLSCREEN to determine if HTMLMediaElement should use element full screen or not.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-11-08 Tim Horton <timothy_horton@apple.com>
[ios-simulator] API test WebKit.BundleParameters is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=178363
<rdar://problem/35043144>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WTF/RefCounter.cpp:
(TestWebKitAPI::TEST):
Add a test.
2017-11-08 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Implement delegate hooks for attachment element insertion and removal
https://bugs.webkit.org/show_bug.cgi?id=179016
<rdar://problem/35250890>
Reviewed by Tim Horton.
See WebCore/ChangeLog for more details.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[AttachmentUpdateObserver init]):
(-[AttachmentUpdateObserver inserted]):
(-[AttachmentUpdateObserver removed]):
(-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
(-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::observer const):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
(-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
(-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
(TestWebKitAPI::TEST):
2017-11-08 Carlos Garcia Campos <cgarcia@igalia.com>
Web Inspector: use JSON::{Array,Object,Value} instead of Inspector{Array,Object,Value}
https://bugs.webkit.org/show_bug.cgi?id=173619
Reviewed by Brian Burg.
Update InspectorValue unit tests to use JSON namespace and add more basic tests to cover all the API.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp:
(TestWebKitAPI::TEST):
2017-11-07 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r224179): [GTK] Several WebViewEditor tests are failing since r224179
https://bugs.webkit.org/show_bug.cgi?id=179366
Reviewed by Michael Catanzaro.
Use always a toplevel window for WebViewEditor tests instead of creating and destroying one only to flush editor
state.
* TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
2017-11-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Build inspector resources using copy-user-interface-resources.pl script
https://bugs.webkit.org/show_bug.cgi?id=179317
Reviewed by Michael Catanzaro.
Move generate-inspector-gresource-manifest.py to glib dir to be shared by GTK+ and WPE ports and update it to
receive an input directory instead of a list of patterns.
File::Copy::Recursive is required by copy-user-interface-resources.pl, so make sure it's installed.
* glib/generate-inspector-gresource-manifest.py: Renamed from Tools/gtk/generate-inspector-gresource-manifest.py.
(get_filenames):
(get_filenames.should_ignore_resource):
* gtk/install-dependencies:
* wpe/generate-inspector-gresource-manifest.py: Removed.
* wpe/install-dependencies:
2017-11-07 Don Olmstead <don.olmstead@sony.com>
Fix webkitpy tests after rev 224549.
Unreviewed build fix.
* Scripts/webkitpy/common/config/ports.py:
(WinCairoPort.run_webkit_tests_command):
* Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest.test_wincairo_port):
2017-11-07 Aakash Jain <aakash_jain@apple.com>
Enable webkitpy EWS bubbles
https://bugs.webkit.org/show_bug.cgi?id=178539
Reviewed by Alexey Proskuryakov.
* QueueStatusServer/config/queues.py: Added webkitpy EWS.
2017-11-07 Don Olmstead <don.olmstead@sony.com>
Add a WinCairo EWS queue
https://bugs.webkit.org/show_bug.cgi?id=179390
Reviewed by Lucas Forschler.
* QueueStatusServer/config/queues.py:
* QueueStatusServer/model/queues.py:
* Scripts/webkitpy/common/config/ews.json:
* Scripts/webkitpy/common/config/ports.py:
* Scripts/webkitpy/common/config/ports_unittest.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
2017-11-07 Aakash Jain <aakash_jain@apple.com>
fix check-webkit-style errors in webkitpy about not having two spaces before inline comment
https://bugs.webkit.org/show_bug.cgi?id=171506
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(SCMTest._shared_test_reverse_diff): Added two spaces before inline comment.
(test_create_patch_is_full_patch): Ditto.
* Scripts/webkitpy/common/thread/messagepump.py:
(MessagePump): Ditto.
* Scripts/webkitpy/layout_tests/servers/http_server.py:
(Lighttpd._prepare_config): Ditto.
* Scripts/webkitpy/style/checker.py: Ditto.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.test_check_preprocessor_in_include_section): Ditto.
2017-11-07 Aakash Jain <aakash_jain@apple.com>
Add support for webkitpy tests EWS
https://bugs.webkit.org/show_bug.cgi?id=178480
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/ews.json: Added webkitpy EWS.
* Scripts/webkitpy/common/net/generictestresults.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults.py.
* Scripts/webkitpy/common/net/generictestresults_unittest.py: Renamed from Scripts/webkitpy/common/net/bindingstestresults_unittest.py.
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(PatchAnalysisTask._test_patch): Do not retry webkitpy test since they are not flaky.
* Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Updated import for BindingsTestResult.
* Scripts/webkitpy/tool/bot/retrylogic_unittest.py: Ditto.
* Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Copied from Scripts/webkitpy/tool/bot/bindingstestresultsreader.py.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.begin_work_queue): Added webkitpy test result reader.
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: Updated unit-tests.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py: Run webkitpy EWS only for relevant changes.
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run): Run webkitpy tests when --group=webkitpy is passed.
(RunTests._run_webkitpy_tests): Method to invoke webkitpy tests.
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(test_runtests_webkitpy): Added unit-test.
2017-11-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r224512 and r224521.
https://bugs.webkit.org/show_bug.cgi?id=179388
An API test added with this change is failing an assertion on
the bots. (Requested by ryanhaddad on #webkit).
Reverted changesets:
"[Attachment Support] Implement delegate hooks for attachment
element insertion and removal"
https://bugs.webkit.org/show_bug.cgi?id=179016
https://trac.webkit.org/changeset/224512
"Remove stray logging from a newly added API test"
https://trac.webkit.org/changeset/224521
2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
Remove stray logging from a newly added API test
This was only for debugging purposes, and should have been removed before landing.
Rubber-stamped by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
2017-11-06 Jonathan Bedard <jbedard@apple.com>
Only build ImageDiff for mac
https://bugs.webkit.org/show_bug.cgi?id=179349
<rdar://problem/35376237>
Reviewed by Tim Horton.
* ImageDiff/Makefile:
2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix the internal build after updating to a newer SDK
There shouldn't be any need to include and implement these method stubs anymore,
even when building against the shipping iOS 11 SDK.
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[MockDropSession session]): Deleted.
2017-11-06 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Implement delegate hooks for attachment element insertion and removal
https://bugs.webkit.org/show_bug.cgi?id=179016
<rdar://problem/35250890>
Reviewed by Tim Horton.
Introduces new API tests to check that various editing operations will or won't result in the new attachment
insertion and removal delegate hooks being fired. Additionally refactors an existing test to verify that
attachments insertion and removal is observable by the UI delegate.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[AttachmentUpdateObserver init]):
(-[AttachmentUpdateObserver inserted]):
(-[AttachmentUpdateObserver removed]):
(-[AttachmentUpdateObserver _webView:didInsertAttachment:]):
(-[AttachmentUpdateObserver _webView:didRemoveAttachment:]):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::ObserveAttachmentUpdatesForScope):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::~ObserveAttachmentUpdatesForScope):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
Implement a testing mechanism to temporarily bind a UI delegate to a given WKWebView and listen for inserted or
removed attachments over the course of a particular scope. The API tests use this mechanism to check that the UI
delegate hooks added in this patch are invoked with the right attachments when performing edit commands.
(-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]):
(-[TestWKWebView expectUpdatesAfterCommand:withArgument:expectedRemovals:expectedInsertions:]):
(TestWebKitAPI::TEST):
2017-11-06 Christopher Reid <chris.reid@sony.com>
Use enum classes within FileSystem
https://bugs.webkit.org/show_bug.cgi?id=175172
Reviewed by Myles C. Maxfield.
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
2017-11-06 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] -Wsign-compare warning in EventSenderProxyWPE.cpp
https://bugs.webkit.org/show_bug.cgi?id=179039
Reviewed by Žan Doberšek.
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::releaseTouchPoint):
2017-11-06 Robin Morisset <rmorisset@apple.com>
Add a third benchmark to TailBench
https://bugs.webkit.org/show_bug.cgi?id=178815
Reviewed by Saam Barati.
Add a new benchmark to TailBench: a BF interpreter written in a weird kinda functional style
* Scripts/run-jsc-benchmarks:
2017-11-04 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Fix gtk-doc generation with gtk-doc master
https://bugs.webkit.org/show_bug.cgi?id=179252
Reviewed by Carlos Garcia Campos.
gtkdoc-scangobj has changed to no longer use a shell when executing its subcommands. In
particular, this means we can no longer rely on shell stuff in our run command that we use
to run the scanner. We currently use the RUN envvar to set LD_LIBRARY_PATH, and the end
result is gtkdoc-scangobj now attempts to execute our environment variable instead of the
scanner itself. We can just set LD_LIBRARY_PATH directly, instead of using RUN, in order to
make documentation generation work again.
* gtk/gtkdoc.py:
(GTKDoc._run_gtkdoc_scangobj):
2017-11-04 Aishwarya Nirmal <anirmal@apple.com>
[Touch Bar Web API] Add support for menuitem tag
https://bugs.webkit.org/show_bug.cgi?id=179020
Reviewed by Ryosuke Niwa.
Defines flags for the menu item test so that the element is recognized
only while its test is being run.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2017-11-03 Andy Estes <aestes@apple.com>
[iOS] Append the platform name to the product directory on all embedded platforms
https://bugs.webkit.org/show_bug.cgi?id=179271
Reviewed by Joseph Pecoraro.
* Scripts/webkitdirs.pm:
(determineConfigurationProductDir):
2017-11-03 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] Add --wincairo option to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=179217
Reviewed by Alex Christensen.
* Scripts/webkitpy/port/factory.py:
(platform_options):
2017-11-03 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Avoid duplicating code for dist and distcheck targets
https://bugs.webkit.org/show_bug.cgi?id=179154
Reviewed by Carlos Garcia Campos.
Move the script out of Tools/gtk because it is already used by WPE. Also, drop the .py
prefix because it is executable.
* Scripts/make-dist: Renamed from Tools/gtk/make-dist.py.
2017-11-03 Jonathan Bedard <jbedard@apple.com>
TestController platformAdjustContext should use provided WKContext for Mac
https://bugs.webkit.org/show_bug.cgi?id=179124
<rdar://problem/35295176>
Reviewed by Darin Adler.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration): Use the provided WKContext, since that is
a WebProcessPool, instead of creating a second one.
2017-11-02 Christopher Reid <chris.reid@sony.com>
Add a FileSystem namespace to FileSystem.cpp
https://bugs.webkit.org/show_bug.cgi?id=179063
Reviewed by Darin Adler.
* DumpRenderTree/win/DumpRenderTree.cpp:
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
* TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
* TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
* TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
2017-11-02 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE][JHBuild] Update WPEBackend and WPEBackend-mesa
https://bugs.webkit.org/show_bug.cgi?id=179169
Reviewed by Michael Catanzaro.
Update WPEBackend and WPEBackend-mesa to last master as of today.
* wpe/jhbuild.modules:
2017-11-02 Frederic Wang <fwang@igalia.com>
Add references to bug 179167 in FIXME comments
https://bugs.webkit.org/show_bug.cgi?id=179168
Reviewed by Daniel Bates.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-11-01 Jeremy Jones <jeremyj@apple.com>
Implement WKFullscreenWindowController for iOS.
https://bugs.webkit.org/show_bug.cgi?id=178924
rdar://problem/34697120
Reviewed by Simon Fraser.
Enable ENABLE_FULLSCREEN_API for iOS.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-11-01 Simon Fraser <simon.fraser@apple.com>
Misc display list and other cleanup
https://bugs.webkit.org/show_bug.cgi?id=179150
Reviewed by Tim Horton.
Add system trace points for display list recording.
* Tracing/SystemTracePoints.plist:
2017-11-01 Stephan Szabo <stephan.szabo@sony.com>
[Win] Detect Visual Studio 2017 location
https://bugs.webkit.org/show_bug.cgi?id=175275
Reviewed by Yusuke Suzuki.
* Scripts/build-jsc:
* Scripts/build-webkit:
* Scripts/update-vswhere.py: Added.
* Scripts/webkitdirs.pm:
(requireModulesForVSWhere):
(pickCurrentVisualStudioInstallation):
(pickLegacyVisualStudioInstallation):
(visualStudioInstallDir):
(visualStudioInstallDirVSWhere):
(visualStudioInstallDirLegacy):
(visualStudioInstallDirFallback):
(msBuildInstallDir):
(visualStudioVersion):
(visualStudioVersionFromInstallDir):
(generateBuildSystemFromCMakeProject):
2017-11-01 Tim Horton <timothy_horton@apple.com>
Fix the !USE(QUICKLOOK) build
https://bugs.webkit.org/show_bug.cgi?id=179128
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
2017-11-01 Frederic Wang <fwang@igalia.com>
Make iOS Find UI reveal matches in scrollable elements
https://bugs.webkit.org/show_bug.cgi?id=178789
Reviewed by Tim Horton.
This patch exposes WKWebView's findString function in order to test the fix for bug 178789.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::findString): Dummy implementation of findString.
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::findString): Ditto.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declare findString.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::findString): Dummy implementation of findString.
* TestRunnerShared/UIScriptContext/UIScriptController.h: Declare findString.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::findString): Implement findString by forwarding the call to the
web view.
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::findString): Dummy implementation of findString.
2017-11-01 Alex Christensen <achristensen@webkit.org>
Add a test for _WKInputDelegate.willSubmitFormValues
https://bugs.webkit.org/show_bug.cgi?id=179086
Reviewed by Darin Adler.
Hidden input types are not included in this submission because FormSubmission::create ignores them
because input.isTextField() returns false. This is existing behavior that wasn't shown by a test.
HTTPBodies are also not sent to WKURLSchemeHandlers. This is existing behavior that wasn't shown by a test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: Added.
(-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
(TEST):
2017-10-31 Ross Kirsling <ross.kirsling@sony.com>
Web Inspector: Add Inspector menu items to Mac MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=65218
Reviewed by Joseph Pecoraro.
Add Option-Command-I shortcut and corresponding Show/Close Web Inspector menu item to Mac MiniBrowser.
Only works when browser window is focused, but at least WI can be opened without having to Inspect Element.
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController showHideWebInspector:]):
* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController showHideWebInspector:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController showHideWebInspector:]):
2017-10-31 Alex Christensen <achristensen@webkit.org>
Use asynchronous ResourceHandleClient calls for WebKit1
https://bugs.webkit.org/show_bug.cgi?id=160677
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/mac/SimplifyMarkup.mm:
(TestWebKitAPI::TEST):
The HTML being loaded contains an iframe, so testing if the main resource has loaded doesn't necessarily mean all subresources are loaded.
Wait until they are loaded before continuing the test. This is a test of editing commands once the page has loaded, not a test of loading.
2017-10-31 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r224143.
https://bugs.webkit.org/show_bug.cgi?id=179091
The patch requires non-standard perl modules in macOS and
breaks AWFY (Requested by yusukesuzuki on #webkit).
Reverted changeset:
"[Win] Detect Visual Studio 2017 location"
https://bugs.webkit.org/show_bug.cgi?id=175275
https://trac.webkit.org/changeset/224143
2017-10-31 Tim Horton <timothy_horton@apple.com>
Clean up some drag and drop feature flags
https://bugs.webkit.org/show_bug.cgi?id=179082
Reviewed by Simon Fraser.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/ios/UIKitSPI.h:
2017-10-31 Tim Horton <timothy_horton@apple.com>
Fix up some content filtering feature flags
https://bugs.webkit.org/show_bug.cgi?id=179079
Reviewed by Simon Fraser.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/Tests/WebKitCocoa/ContentFilteringPlugIn.mm:
(-[MockContentFilterEnabler initWithCoder:]):
(-[MockContentFilterEnabler dealloc]):
2017-10-31 Youenn Fablet <youenn@apple.com>
rwt should allow service worker to load localhost HTTPS resources with any certificate
https://bugs.webkit.org/show_bug.cgi?id=179018
Reviewed by Chris Dumez.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues): allowing any SSL certificate for service workers.
2017-10-31 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Implement WKWebView SPI for inserting attachment elements
https://bugs.webkit.org/show_bug.cgi?id=179013
<rdar://problem/35249668>
Reviewed by Tim Horton.
Adds a new API test suite to exercise attachment element insertion and manipulation.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Added.
(webViewForTestingAttachments):
(testHTMLData):
(testImageData):
(-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]):
(-[TestWKWebView valueOfAttribute:forQuerySelector:]):
(TestWebKitAPI::TEST):
2017-10-31 Alex Christensen <achristensen@webkit.org>
Fix custom header field setting with reloads and asynchronous navigation action policy decisions
https://bugs.webkit.org/show_bug.cgi?id=179064
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):
2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
WKBundlePageWillSendSubmitEventCallback is called with incorrect frame parameter
https://bugs.webkit.org/show_bug.cgi?id=176719
Reviewed by Chris Dumez.
Test that WKBundlePageWillSendSubmitEventCallback is called with separate frame and
sourceFrame parameters when the target frame of the form submission is not the source frame.
* TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
* TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent_Bundle.cpp:
(TestWebKitAPI::willSendSubmitEvent):
* TestWebKitAPI/Tests/WebKit/auto-submitting-form.html:
2017-10-30 Alex Christensen <achristensen@webkit.org>
ASSERTION FAILED: internalValuesConsistent(m_url) in WebCore::URLParser::URLParser
https://bugs.webkit.org/show_bug.cgi?id=178861
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2017-10-30 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r224078.
https://bugs.webkit.org/show_bug.cgi?id=179026
MotionMark regression (Requested by shallawa on #webkit).
Reverted changeset:
"When navigating back to a page, compositing layers may not
use accelerated drawing"
https://bugs.webkit.org/show_bug.cgi?id=178749
https://trac.webkit.org/changeset/224078
2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Fix build warnings
https://bugs.webkit.org/show_bug.cgi?id=178899
Reviewed by Carlos Alberto Lopez Perez.
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(testContextMenuDownloadActions):
(testBlobDownload):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewJavaScriptDialogs):
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
* WebKitTestRunner/PlatformWPE.cmake:
* WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::threadDefaultContext): Deleted.
2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Upstream or stop using cairo-egl-device-create-for-egl-surface.patch
https://bugs.webkit.org/show_bug.cgi?id=178898
Reviewed by Žan Doberšek.
This patch seems to be unused.
* wpe/jhbuild.modules:
* wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Removed.
2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Build more files under WebCore as unified sources and get rid of WebCorePlatformWPE build target
https://bugs.webkit.org/show_bug.cgi?id=178964
Reviewed by Carlos Alberto Lopez Perez.
* TestWebKitAPI/PlatformWPE.cmake:
2017-10-12 Frederic Wang <fwang@igalia.com>
Remove support for running safari on the iOS simulator with Xcode < 9.0
https://bugs.webkit.org/show_bug.cgi?id=178203
Reviewed by Alexey Proskuryakov.
This is a follow-up of r223234. We no longer support iOS WebKit development for Xcode < 9.0
and do not have any iOS simulator builders in our infrastructure. Hence we can remove the
special case to calculate the iOS simulator applications path for these old versions.
* Scripts/webkitdirs.pm:
(iosSimulatorApplicationsPath): Remove special case for XCode < 9.0
2017-10-30 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Expose availability of certain editing commands in WebKitEditorState
https://bugs.webkit.org/show_bug.cgi?id=168219
Reviewed by Ryosuke Niwa.
Test it.
* TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
(testWebViewEditorCutCopyPasteNonEditable):
(testWebViewEditorCutCopyPasteEditable):
(testWebViewEditorSelectAllNonEditable):
(testWebViewEditorSelectAllEditable):
(loadContentsAndTryToCutSelection):
(testWebViewEditorNonEditable):
(testWebViewEditorEditorStateTypingAttributes):
(testWebViewEditorInsertImage):
(testWebViewEditorCreateLink):
2017-10-28 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Build gst-plugins-base without pango support
https://bugs.webkit.org/show_bug.cgi?id=178918
Reviewed by Carlos Garcia Campos.
We need to build gst-plugins-base without pango support for WPE. Let's use JHBuild
conditions so we can make platform-specific changes in the shared GStreamer moduleset.
* gstreamer/jhbuild.modules:
* gtk/jhbuildrc:
* wpe/jhbuildrc:
2017-10-27 Stephan Szabo <stephan.szabo@sony.com>
[Win] Detect Visual Studio 2017 location
https://bugs.webkit.org/show_bug.cgi?id=175275
Reviewed by Per Arne Vollan.
* Scripts/build-jsc:
* Scripts/build-webkit:
* Scripts/update-vswhere.py: Added.
* Scripts/webkitdirs.pm:
(pickCurrentVisualStudioInstallation):
(pickLegacyVisualStudioInstallation):
(visualStudioInstallDir):
(visualStudioInstallDirVSWhere):
(visualStudioInstallDirLegacy):
(visualStudioInstallDirFallback):
(msBuildInstallDir):
(visualStudioVersion):
(visualStudioVersionFromInstallDir):
(generateBuildSystemFromCMakeProject):
2017-10-27 Devin Rousso <webkit@devinrousso.com>
Create watchlist for files related WebInspector Recording
https://bugs.webkit.org/show_bug.cgi?id=178965
Reviewed by Joseph Pecoraro.
* Scripts/webkitpy/common/config/watchlist:
2017-10-27 Jonathan Bedard <jbedard@apple.com>
Windows and WebViews are retained after re-configure
https://bugs.webkit.org/show_bug.cgi?id=178902
<rdar://problem/35211518>
Reviewed by Alexey Proskuryakov.
The test runner effectively leaks windows every time a test changes configuration.
We give each test it's own AutoreleasePool to fix this problem.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::runTest): Add an AutoRelease pool scoping a test run
so that when a configuration changes, the old window and WebView are released.
2017-10-27 Eric Carlson <eric.carlson@apple.com>
NowPlayingInfo should contain a unique identifier
https://bugs.webkit.org/show_bug.cgi?id=178872
<rdar://problem/34924012>
Unreviewed, fix a flakey test.
* TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
(-[NowPlayingTestWebView hasActiveNowPlayingSession]): Update _lastUpdatedElapsedTime.
(-[NowPlayingTestWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]): Deleted.
2017-10-27 Fujii Hironori <Hironori.Fujii@sony.com>
autoinstall can't download from http://pypi.python.org
https://bugs.webkit.org/show_bug.cgi?id=178925
Reviewed by Ryosuke Niwa.
The web server pypi.python.org rejects non secure http.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_mechanize): Use https instead of http.
(AutoinstallImportHook._install_pep8): Ditto.
(AutoinstallImportHook._install_pylint): Ditto.
(AutoinstallImportHook._install_buildbot): Ditto.
(AutoinstallImportHook._install_coverage): Ditto.
2017-10-26 Fujii Hironori <Hironori.Fujii@sony.com>
[GTK][WPE] install-dependencies can't find libapache2-mod-php7.0 on Ubuntu 17.10
https://bugs.webkit.org/show_bug.cgi?id=178854
Reviewed by Michael Catanzaro.
* Scripts/webkitpy/port/base.py:
(Port._debian_php_version): Return "-php7.1" if libphp7.1.so found.
(Port._is_debian_php_version_7): Deleted.
* gtk/install-dependencies: Install libapache2-mod-php instead of libapache2-mod-php7.0.
* wpe/install-dependencies: Ditto.
2017-10-25 Simon Fraser <simon.fraser@apple.com>
When navigating back to a page, compositing layers may not use accelerated drawing
https://bugs.webkit.org/show_bug.cgi?id=178749
rdar://problem/35158946
Reviewed by Dean Jackson.
Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
and use it to set the state of the web view.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2017-10-26 Alex Christensen <achristensen@webkit.org>
Move WKWebViewConfiguration validation to WKWebView construction
https://bugs.webkit.org/show_bug.cgi?id=178840
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: Added.
(TEST):
2017-10-26 Myles C. Maxfield <mmaxfield@apple.com>
Demonstrate a possible structure of the WebGPU API
https://bugs.webkit.org/show_bug.cgi?id=178874
Reviewed by Dean Jackson.
Over the past few weeks, we've been putting together an example showing that a WebGPU API
which has implicit barriers can work on all three low-level graphics APIs. We've implemented
it on top of Vulkan first, because this is the API which has the strictest requirements and
is most difficult to use.
With this API, this is a valid WebGPU snippet:
auto device = WebGPU::Device::create(hInstance, hWnd);
auto& commandQueue = device->getCommandQueue();
auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { }, nullptr);
… later, in the draw() function …
auto renderPass = commandQueue->createRenderPass(nullptr);
renderPass->setRenderState(renderState);
renderPass->setViewport(0, 0, width, height);
renderPass->setScissorRect(0, 0, width, height);
renderPass->draw(3);
commandQueue->commitRenderPass(std::move(renderPass));
commandQueue->present();
This snippet doesn’t hook up any vertex attributes or resources, which means the vertex
shader has to say something like ({vec4(…), vec4(…), vec4(…)})[gl_VertexIndex]. It also
passes in “nullptr” when creating the render pass, which means “render to the screen, rather
than to a frame buffer.” You can also see that it doesn’t attach any resources to the draw
call.
In Direct3D 12 and Vulkan, resources are bound in sets, rather than individually. For
example, a set might contain two uniform buffers, a texture, and another uniform buffer. At
draw time, you swap in whole sets of resources with a single call. A shader invocation can
access a collection of sets. Because all shader resource accesses are indirected through
these sets, the shape of these sets needs to be supplied at the time you compile the render
state. Here is a snippet which bounds a single set which contains a uniform buffer and a
texture:
auto buffer = device->getBuffer(bufferInitialContents);
auto texture = device->getTexture(buffer width, height, WebGPU::PixelFormat::RGBA8, textureInitialContents);
// One resource set, which holds a single uniform buffer object and a single texture
auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { }, { }, { { WebGPU::ResourceType::UniformBufferObject, WebGPU::ResourceType::Texture } }, nullptr);
… later, in the draw() function …
auto renderPass = commandQueue->createRenderPass(nullptr);
renderPass->setRenderState(renderState);
renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()), WebGPU::TextureReference(texture.get()) });
renderPass->draw(3);
commandQueue->commitRenderPass(std::move(renderPass));
commandQueue->present();
The first argument to the setResources() call identifies which set to populate with the supplied resources.
One tenant of the low-level graphics APIs is that, if you’ve enabled double buffering (or
triple buffering), the GPU is executing one frame at the same time you are recording the
next frame. This often means that you need duplicate resources so the CPU and GPU don’t step
on each other’s toes. However, platforms have platform-specific requirements about whether
or not they can be double / triple buffered, and we don’t want to expose this to the Web for
fear of badly-authored programs.
To solve this, resources are reference counted, and the return type of getBuffer() is an
RAII type called BufferHolder which increments and decrements the reference count
automatically. The reference count is also incremented and decremented when the GPU is using
the resource in a Pass. When the reference count reaches 0, the resource isn’t destroyed;
instead, it’s simply moved to a “free list” which getBuffer() may pull from. Therefore,
applications don’t need to know whether the frame buffer is double buffered or triple
buffered; they can just getBuffer() each frame, and the correct number of buffers will be
created and recycled.
{
auto buffer = device->getBuffer(bufferSize); // These get recycled
… populate the buffer …
auto renderPass = commandQueue->createRenderPass(nullptr);
renderPass->setRenderState(renderState);
renderPass->setResources(0, { WebGPU::UniformBufferObjectReference(buffer.get()) });
renderPass->draw(…);
commandQueue->commitRenderPass(std::move(renderPass));
}
commandQueue->present();
In Direct3D and Vulkan, vertex buffers and index buffers are not part of the resource sets
mentioned above. Instead, you tell the render state about the shape of the vertex and index
buffers, and you swap them out independently in the draw loop. Metal and Vulkan have almost
identical API to specify this shape of the vertex buffers, so I’ve mostly copied it. In this
example, we have two vertex attributes, a vec2 and a vec3, which both come from the same
buffer:
// { Attribute format, offset within stride, buffer to pull from }
std::vector<WebGPU::RenderState::VertexAttribute> vertexAttributes = { {WebGPU::RenderState::VertexFormat::Float2, 0, 0}, {WebGPU::RenderState::VertexFormat::Float3, sizeof(float) * 2, 0} };
// A single vertex buffer, with a stride of 5 floats
auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", { sizeof(float) * 5 }, vertexAttributes, resourceTypes, nullptr);
… later, in the draw() function …
auto renderPass = commandQueue->createRenderPass(nullptr);
renderPass->setRenderState(renderState);
renderPass->setVertexAttributeBuffers({ vertexBuffer.get() }); // The one vertex buffer which both attributes pull from
renderPass->setResources(…);
renderPass->draw(…);
commandQueue->commitRenderPass(std::move(renderPass));
commandQueue->present();
You can also tell the RenderState about how many render targets you have and their formats,
and then when you create the RenderPass, you specify the specific textures you want to
render into.
std::vector<WebGPU::PixelFormat> colorPixelFormats = { WebGPU::PixelFormat::RGBA8, WebGPU::PixelFormat::RGBA8 }; // Two render targets, with these formats
auto& renderState = device->getRenderState(vertexShader, "main", fragmentShader, "main", vertexBufferStrides, vertexAttributes, resourceTypes, &colorPixelFormats);
… later, in the draw() function …
std::vector<std::reference_wrapper<WebGPU::Texture>> destinationTextures = { texture1->get(), texture2->get() };
auto renderPass = commandQueue->createRenderPass(&destinationTextures);
renderPass->setRenderState(renderState);
renderPass->draw(…);
commandQueue->commitRenderPass(std::move(renderPass));
// Now, draw one of the textures to the screen. Note that no synchronization is necessary here!
auto renderPass = commandQueue->createRenderPass(nullptr);
renderPass->setRenderState(renderState2);
renderPass->setResources(0, { WebGPU:: TextureReference(texture1.get()) });
renderPass->draw(…);
commandQueue->commitRenderPass(std::move(renderPass));
commandQueue->present();
Just like how in Metal has Render Encoders and Compute Encoders, WebGPU has RenderPasses
and ComputePasses.
auto& computeState = device->getComputeState(computeShader, "main", resourceTypes);
auto computePass = commandQueue->createComputePass();
computePass->setComputeState(computeState);
computePass->setResources(0, resources);
computePass->dispatch(width, height, depth);
commandQueue->commitComputePass(std::move(computePass));
// Now, draw the resources we just computed. Note that no synchronization is necessary here!
auto renderPass = commandQueue->createRenderPass(nullptr);
renderPass->setRenderState(renderState);
renderPass->setResources(0, resources });
renderPass->draw(…);
commandQueue->commitRenderPass(std::move(renderPass));
commandQueue->present();
There are also two other types of passes: one that corresponds to a Metal blit encoder, and
one that allows the CPU to change the contents of GPU buffers and textures. This last kind
of pass is a little interesting: you can’t just change the contents of a buffer at any time
you feel like it, because that resource might be in use by the GPU. Therefore, we need to do
the same kind of synchronization that we already do at render pass boundaries.
In addition, both Vulkan and Direct3D have a concept of a memory heap. A resource might
exist inside a heap which is fast, but invisible from the CPU, or in a heap which is slow,
but visible by the CPU. Certain operations are not possible from some types of images (e.g.
non-tiled textures may not be able to be sampled from). The usual way to get around this
problem is to have two resources: a slow staging resource which the CPU can see, and a fast
resource which the CPU can’t see. Uploading data is a two-pass algorithm, where the CPU
memcpy()s into the slow staging resource, and then a blit command is enqueued on the GPU to
copy the contents of the staging resource to the real resource. This requires that the
upload have access to the commandQueue so it can possibly enqueue a blit between the staging
and real resources. Therefore, a pass is the right level of abstraction for these facilities.
std::queue<boost::unique_future<std::vector<uint8_t>>> futureQueue; // Promises for data downloads from the GPU
… later, in the draw() function …
// See if any of the previously-enqueued downloads are finished
while (!futureQueue.empty() && futureQueue.front(). has_value()) {
std::vector<uint8_t>& data = futureQueue.front().get();
// Use the downloaded data
futureQueue.pop();
}
auto hostAccessPass = commandQueue->createHostAccessPass();
hostAccessPass->overwriteBuffer(buffer->get(), bufferContents); // Upload data to a resource
futureQueue.emplace(hostAccessPass->getBufferContents(buffer->get()));
commandQueue->commitHostAccessPass(std::move(hostAccessPass));
You can also issue copy commands between resources entirely on the GPU:
auto blitPass = commandQueue->createBlitPass();
blitPass->copyTexture(source->get(), destination->get(), sourceX, sourceY, destinationX, destinationY, width, height);
commandQueue->commitBlitPass(std::move(blitPass));
* Scripts/webkitpy/style/checker.py:
* WebGPUAPIStructure/Example/Example.cpp: Added.
(readFile):
(drawWebGPU):
(wWinMain):
(MyRegisterClass):
(InitInstance):
(WndProc):
* WebGPUAPIStructure/Example/Example.h: Added.
* WebGPUAPIStructure/Example/Example.ico: Added.
* WebGPUAPIStructure/Example/Example.rc: Added.
* WebGPUAPIStructure/Example/Example.vcxproj: Added.
* WebGPUAPIStructure/Example/Example.vcxproj.filters: Added.
* WebGPUAPIStructure/Example/Example.vcxproj.user: Added.
* WebGPUAPIStructure/Example/resource.h: Added.
* WebGPUAPIStructure/Example/small.ico: Added.
* WebGPUAPIStructure/Example/stdafx.cpp: Added.
* WebGPUAPIStructure/Example/stdafx.h: Added.
* WebGPUAPIStructure/Example/targetver.h: Added.
* WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj: Added.
* WebGPUAPIStructure/WebGPU-Common/WebGPU-Common.vcxproj.filters: Added.
* WebGPUAPIStructure/WebGPU-Common/WebGPU.cpp: Added.
(WebGPU::BufferHolder::BufferHolder):
(WebGPU::BufferHolder::~BufferHolder):
(WebGPU::TextureHolder::TextureHolder):
(WebGPU::TextureHolder::~TextureHolder):
(WebGPU::SamplerHolder::SamplerHolder):
(WebGPU::SamplerHolder::~SamplerHolder):
* WebGPUAPIStructure/WebGPU-Common/WebGPU.h: Added.
(WebGPU::Queue::~Queue):
(WebGPU::RenderState::~RenderState):
(WebGPU::ComputeState::~ComputeState):
(WebGPU::Buffer::~Buffer):
(WebGPU::Texture::~Texture):
(WebGPU::Sampler::~Sampler):
(WebGPU::TextureReference::TextureReference):
(WebGPU::TextureReference::get const):
(WebGPU::SamplerReference::SamplerReference):
(WebGPU::SamplerReference::get const):
(WebGPU::UniformBufferObjectReference::UniformBufferObjectReference):
(WebGPU::UniformBufferObjectReference::get const):
(WebGPU::ShaderStorageBufferObjectReference::ShaderStorageBufferObjectReference):
(WebGPU::ShaderStorageBufferObjectReference::get const):
(WebGPU::RenderPass::~RenderPass):
(WebGPU::ComputePass::~ComputePass):
(WebGPU::BlitPass::~BlitPass):
(WebGPU::HostAccessPass::~HostAccessPass):
(WebGPU::BufferHolder::get):
(WebGPU::TextureHolder::get):
(WebGPU::SamplerHolder::get):
(WebGPU::Device::~Device):
* WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.cpp: Added.
(WebGPU::BlitPassImpl::BlitPassImpl):
(WebGPU::BlitPassImpl::copyTexture):
* WebGPUAPIStructure/WebGPU-Vulkan/BlitPassImpl.h: Added.
* WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.cpp: Added.
(WebGPU::BufferImpl::BufferImpl):
(WebGPU::BufferImpl::decrementReferenceCount):
* WebGPUAPIStructure/WebGPU-Vulkan/BufferImpl.h: Added.
(WebGPU::BufferImpl::getBuffer const):
(WebGPU::BufferImpl::getDeviceMemory const):
(WebGPU::BufferImpl::incrementReferenceCount):
(WebGPU::BufferImpl::getLength const):
* WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.cpp: Added.
(WebGPU::ComputePassImpl::ComputePassImpl):
(WebGPU::ComputePassImpl::setComputeState):
(WebGPU::ComputePassImpl::setResources):
(WebGPU::ComputePassImpl::dispatch):
* WebGPUAPIStructure/WebGPU-Vulkan/ComputePassImpl.h: Added.
* WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.cpp: Added.
(WebGPU::ComputeStateImpl::ComputeStateImpl):
* WebGPUAPIStructure/WebGPU-Vulkan/ComputeStateImpl.h: Added.
(WebGPU::ComputeStateImpl::getPipeline const):
(WebGPU::ComputeStateImpl::getPipelineLayout const):
(WebGPU::ComputeStateImpl::getDescriptorSetLayouts const):
* WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.cpp: Added.
(WebGPU::Device::create):
(WebGPU::convertPixelFormat):
(WebGPU::convertFormat):
(WebGPU::debugReport):
(WebGPU::DeviceImpl::DeviceImpl):
(WebGPU::DeviceImpl::getCommandQueue):
(WebGPU::DeviceImpl::prepareShader):
(WebGPU::DeviceImpl::createPipelineLayout):
(WebGPU::DeviceImpl::createCompatibleRenderPass):
(WebGPU::convertVertexFormat):
(WebGPU::DeviceImpl::getRenderState):
(WebGPU::DeviceImpl::getComputeState):
(WebGPU::DeviceImpl::getBuffer):
(WebGPU::DeviceImpl::returnBuffer):
(WebGPU::DeviceImpl::getTexture):
(WebGPU::DeviceImpl::returnTexture):
(WebGPU::DeviceImpl::getSampler):
(WebGPU::DeviceImpl::returnSampler):
(WebGPU::DeviceImpl::~DeviceImpl):
* WebGPUAPIStructure/WebGPU-Vulkan/DeviceImpl.h: Added.
(WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::UniqueDebugReportCallbackEXT):
(WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::operator=):
(WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::~UniqueDebugReportCallbackEXT):
(WebGPU::DeviceImpl::UniqueDebugReportCallbackEXT::destroy):
(WebGPU::DeviceImpl::TextureParameters::operator== const):
(WebGPU::DeviceImpl::TextureParametersHash::operator() const):
* WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.cpp: Added.
(WebGPU::HostAccessPassImpl::HostAccessPassImpl):
(WebGPU::HostAccessPassImpl::overwriteBuffer):
(WebGPU::HostAccessPassImpl::getBufferContents):
(WebGPU::HostAccessPassImpl::execute):
* WebGPUAPIStructure/WebGPU-Vulkan/HostAccessPassImpl.h: Added.
(WebGPU::HostAccessPassImpl::getFinishedEvent const):
* WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.cpp: Added.
(WebGPU::PassImpl::PassImpl):
(WebGPU::ResourceVisitor::operator()):
(WebGPU::ResourceVisitor::getBindings const):
(WebGPU::ResourceVisitor::releaseWriteDescriptorSets):
(WebGPU::ResourceVisitor::getDescriptorImageInfos const):
(WebGPU::ResourceVisitor::getDescriptorBufferInfos const):
(WebGPU::ResourceVisitor::getBuffers const):
(WebGPU::ResourceVisitor::getTextures const):
(WebGPU::ResourceVisitor::getSamplers const):
(WebGPU::ResourceVisitor::getImageCount const):
(WebGPU::ResourceVisitor::getSamplerCount const):
(WebGPU::ResourceVisitor::getUniformBufferCount const):
(WebGPU::ResourceVisitor::getStorageBufferCount const):
(WebGPU::PassImpl::setResources):
(WebGPU::PassImpl::insertBuffer):
(WebGPU::PassImpl::insertTexture):
(WebGPU::PassImpl::insertSampler):
* WebGPUAPIStructure/WebGPU-Vulkan/PassImpl.h: Added.
(WebGPU::PassImpl::getCommandBuffer const):
(WebGPU::PassImpl::iterateBuffers):
(WebGPU::PassImpl::iterateTextures):
(WebGPU::PassImpl::ResourceReference::ResourceReference):
(WebGPU::PassImpl::ResourceReference::~ResourceReference):
(WebGPU::PassImpl::ResourceReference::operator=):
(WebGPU::PassImpl::ResourceReference::operator== const):
(WebGPU::PassImpl::ResourceReference::get const):
(WebGPU::PassImpl::ResourceReference::release):
(WebGPU::PassImpl::ResourceReferenceHash::operator() const):
* WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.cpp: Added.
(WebGPU::QueueImpl::QueueImpl):
(WebGPU::QueueImpl::prepareCurrentFrame):
(WebGPU::QueueImpl::createSpecificRenderPass):
(WebGPU::QueueImpl::createFramebuffer):
(WebGPU::QueueImpl::createRenderPass):
(WebGPU::QueueImpl::commitRenderPass):
(WebGPU::QueueImpl::createComputePass):
(WebGPU::QueueImpl::commitComputePass):
(WebGPU::QueueImpl::createBlitPass):
(WebGPU::QueueImpl::commitBlitPass):
(WebGPU::QueueImpl::createHostAccessPass):
(WebGPU::QueueImpl::commitHostAccessPass):
(WebGPU::QueueImpl::present):
(WebGPU::QueueImpl::commitPass):
(WebGPU::QueueImpl::synchronizeResources):
(WebGPU::QueueImpl::~QueueImpl):
* WebGPUAPIStructure/WebGPU-Vulkan/QueueImpl.h: Added.
* WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.cpp: Added.
(WebGPU::RenderPassImpl::RenderPassImpl):
(WebGPU::RenderPassImpl::setRenderState):
(WebGPU::RenderPassImpl::setVertexAttributeBuffers):
(WebGPU::RenderPassImpl::setResources):
(WebGPU::RenderPassImpl::setViewport):
(WebGPU::RenderPassImpl::setScissorRect):
(WebGPU::RenderPassImpl::draw):
* WebGPUAPIStructure/WebGPU-Vulkan/RenderPassImpl.h: Added.
* WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.cpp: Added.
(WebGPU::RenderStateImpl::RenderStateImpl):
* WebGPUAPIStructure/WebGPU-Vulkan/RenderStateImpl.h: Added.
(WebGPU::RenderStateImpl::getPipeline const):
(WebGPU::RenderStateImpl::getPipelineLayout const):
(WebGPU::RenderStateImpl::getDescriptorSetLayouts const):
* WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.cpp: Added.
(WebGPU::SamplerImpl::SamplerImpl):
(WebGPU::SamplerImpl::decrementReferenceCount):
* WebGPUAPIStructure/WebGPU-Vulkan/SamplerImpl.h: Added.
(WebGPU::SamplerImpl::getSampler):
(WebGPU::SamplerImpl::incrementReferenceCount):
(WebGPU::SamplerImpl::getFilter):
(WebGPU::SamplerImpl::getMipmapMode):
(WebGPU::SamplerImpl::getAddressMode):
* WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.cpp: Added.
(WebGPU::TextureImpl::TextureImpl):
(WebGPU::TextureImpl::decrementReferenceCount):
* WebGPUAPIStructure/WebGPU-Vulkan/TextureImpl.h: Added.
(WebGPU::TextureImpl::getImage const):
(WebGPU::TextureImpl::getImageView const):
(WebGPU::TextureImpl::getFormat const):
(WebGPU::TextureImpl::incrementReferenceCount):
(WebGPU::TextureImpl::getWidth const):
(WebGPU::TextureImpl::getHeight const):
(WebGPU::TextureImpl::getTransferredToGPU const):
(WebGPU::TextureImpl::setTransferredToGPU):
* WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj: Added.
* WebGPUAPIStructure/WebGPU-Vulkan/WebGPU-Vulkan.vcxproj.filters: Added.
* WebGPUAPIStructure/WebGPU.sln: Added.
2017-10-26 Eric Carlson <eric.carlson@apple.com>
NowPlayingInfo should contain a unique identifier
https://bugs.webkit.org/show_bug.cgi?id=178872
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
(-[NowPlayingTestWebView hasActiveNowPlayingSession]): Use completion handler.
(TestWebKitAPI::TEST): Cleanup tests. Use new API.
(-[NowPlayingTestWebView waitForNowPlayingInfoToChange]): Deleted.
2017-10-26 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Clear cached gUM prompt state
https://bugs.webkit.org/show_bug.cgi?id=178754
<rdar://problem/32742356>
Unreviewed, fix a flakey test.
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm:
(-[GetUserMediaRepromptTestView haveStream:]): New, check several times for expected state.
(TestWebKitAPI::TEST): Don't assume stream state changes in the page immediately.
2017-10-26 Andy Estes <aestes@apple.com>
[Payment Request] Enable Payment Request whenever Apple Pay is enabled
https://bugs.webkit.org/show_bug.cgi?id=178880
Reviewed by Tim Horton.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-10-26 Joseph Pecoraro <pecoraro@apple.com>
Add and update some watchlists
https://bugs.webkit.org/show_bug.cgi?id=178304
Reviewed by Simon Fraser.
* Scripts/webkitpy/common/config/watchlist:
2017-10-26 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r223984.
Caused LayoutTest assertion failures.
Reverted changeset:
"When navigating back to a page, compositing layers may not
use accelerated drawing"
https://bugs.webkit.org/show_bug.cgi?id=178749
https://trac.webkit.org/changeset/223984
2017-10-26 Christopher Reid <chris.reid@sony.com>
Remove scopeguard from platform
https://bugs.webkit.org/show_bug.cgi?id=178681
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
2017-09-21 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: Add support to import and run W3C tests
https://bugs.webkit.org/show_bug.cgi?id=177304
Reviewed by Brian Burg.
WPT has now several WebDriver tests, and new ones are going to be added to cover the whole spec. This patch
adds the initial support for running W3C tests. The script import-w3c-webdriver-tests reuses parts of the W3C
test downloader to download the tests and required tools from WPT repository into WebDriverTests
directory. Tests can be run with run-webdriver-tests, a new script that works similar to other test runner
scripts. For now it shows a summary at the end of the execution, there aren't expectations yet, since we are not
ready to run those tests in the bots. Once we are ready to properly run the tests, we can add the expectations
support and run the tests in the bots.
* Scripts/import-w3c-webdriver-tests: Added.
* Scripts/run-webdriver-tests: Added.
* Scripts/webkitpy/style/checker.py: Skip WebDriverTests directory since it only contains third-party python
code.
* Scripts/webkitpy/thirdparty/__init__.py: Add support to autodownload mozlog and mozprocess since they are
required by the WebDriver tests.
* Scripts/webkitpy/webdriver_tests/__init__.py: Added.
* Scripts/webkitpy/webdriver_tests/webdriver_driver.py: Added.
* Scripts/webkitpy/webdriver_tests/webdriver_driver_gtk.py: Added.
* Scripts/webkitpy/webdriver_tests/webdriver_test_result.py: Added.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: Added.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: Added.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py: Added.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: Added.
2017-10-25 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Clear cached gUM prompt state
https://bugs.webkit.org/show_bug.cgi?id=178754
<rdar://problem/32742356>
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new test
* TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: Added.
(-[GetUserMediaRepromptUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[GetUserMediaRepromptUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/getUserMedia.html:
2017-10-25 Ross Kirsling <ross.kirsling@sony.com>
Add committer status for Ross Kirsling
https://bugs.webkit.org/show_bug.cgi?id=178832
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2017-10-25 Simon Fraser <simon.fraser@apple.com>
When navigating back to a page, compositing layers may not use accelerated drawing
https://bugs.webkit.org/show_bug.cgi?id=178749
rdar://problem/35158946
Reviewed by Dean Jackson.
Fix WTR and DRT to parse "useAcceleratedDrawing" out of "webkit-test-runner" options
and use it to set the state of the web view.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2017-10-25 Robin Morisset <rmorisset@apple.com>
Support the TailBench9000 benchmark in run-jsc-benchmarks
https://bugs.webkit.org/show_bug.cgi?id=178451
Reviewed by Saam Barati.
* Scripts/run-jsc-benchmarks:
2017-10-25 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Remove GLib API functions which use Cairo
https://bugs.webkit.org/show_bug.cgi?id=178205
Reviewed by Michael Catanzaro.
Add PLATFORM(GTK) guards for the API tests (or parts of them) which use cairo_surface_t (web
page snapshots and favicons) which are not available in the WPE version of the GLib API.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
(testNotInitialized):
(testPrivateBrowsing):
(testFaviconDatabase):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
(testFindControllerHide):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2017-10-25 Zan Dobersek <zdobersek@igalia.com>
Make SERVICE_WORKER feature buildable on GTK, WPE
https://bugs.webkit.org/show_bug.cgi?id=178574
Reviewed by Carlos Garcia Campos.
* Scripts/webkitperl/FeatureList.pm: Add the --service-worker option
that enables the SERVICE_WORKER feature flag. For now it's enabled
on Apple's Cocoa ports (even when build-webkit isn't used for those
builds, the flag is enabled here for consistency).
2017-10-24 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, fix name of Perl LibXML package on Fedora
https://bugs.webkit.org/show_bug.cgi?id=178206
<rdar://problem/35028586>
* gtk/install-dependencies:
* wpe/install-dependencies:
2017-10-24 Alex Christensen <achristensen@webkit.org>
Selecting and right-clicking URL-like strings with IDNA-disallowed characters in host or authority causes rendering engine crash
https://bugs.webkit.org/show_bug.cgi?id=174267
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit/CanHandleRequest_Bundle.cpp:
(TestWebKitAPI::runTest):
2017-10-24 Eric Carlson <eric.carlson@apple.com>
Web Inspector: Enable WebKit logging configuration and display
https://bugs.webkit.org/show_bug.cgi?id=177027
<rdar://problem/33964767>
Reviewed by Joseph Pecoraro.
Allow new 'dumpJSConsoleLogInStdErr' test header to redirect log console output to stderr.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
* WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
(WTR::TestController::runTest):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2017-10-24 Alex Christensen <achristensen@webkit.org>
Apply custom header fields from WebsitePolicies to same-domain requests
https://bugs.webkit.org/show_bug.cgi?id=178356
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(expectHeaders):
2017-10-24 Stephan Szabo <stephan.szabo@sony.com>
[Win][JSCOnly] Make jsconly build testapi and dlls and copy dlls when running tests
https://bugs.webkit.org/show_bug.cgi?id=177279
Reviewed by Yusuke Suzuki.
* Scripts/build-jsc:
* Scripts/run-jsc-stress-tests:
2017-10-23 Lucas Forschler <lforschler@apple.com>
<rdar://problem/35045445>
Update README to reference WebKit build archives, instead of 'nightly'
Reviewed by Aakash Jain.
* WebKitArchiveSupport/README:
2017-10-21 Tim Horton <timothy_horton@apple.com>
Turn on ccache for Mac cmake builds by default
https://bugs.webkit.org/show_bug.cgi?id=177059
Reviewed by Sam Weinig.
* ccache/ccache-clang:
* ccache/ccache-wrapper: Added.
Add a pass-through ccache wrapper to be used with CMake, in addition
to the existing faux-clang wrappers.
* Scripts/build-webkit:
Add --use-ccache and --no-use-ccache option, which will define
WK_USE_CCACHE to YES or NO, respectively, which the underlying
build systems respect. We do not define WK_USE_CCACHE if the option
is not specified, because the underlying build systems have different
default values.
2017-10-20 Aakash Jain <aakash_jain@apple.com>
Do not run binding tests on multiple EWSes
https://bugs.webkit.org/show_bug.cgi?id=178599
Reviewed by Alexey Proskuryakov.
Remove old code which runs bindings tests and ignore it's result. We now have
a dedicated bindings test EWS.
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run): Removed bindings tests code.
* Scripts/webkitpy/tool/steps/runtests_unittest.py: Updated unit-tests.
(RunTestsTest.test_webkit_run_unit_tests): Ditto.
* Scripts/webkitpy/tool/steps/steps_unittest.py: Ditto.
* Scripts/webkitpy/tool/commands/download_unittest.py: Ditto.
2017-10-20 Youenn Fablet <youenn@apple.com>
WebsiteDataStoreCustomPaths.mm is failing after r223718
https://bugs.webkit.org/show_bug.cgi?id=178596
Unreviewed.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST): Making default web site data store creation expected at the end of the test.
We should probably not need need to create it.
This should be fixed as a follow-up.
2017-10-20 Antoine Quint <graouts@apple.com>
[Web Animations] Provide basic timeline and animation interfaces
https://bugs.webkit.org/show_bug.cgi?id=178526
Reviewed by Dean Jackson.
Remove the WEB_ANIMATIONS compile-time flag.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-10-20 Tomas Popela <tpopela@redhat.com>
Missing some perl packages in install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=178571
Reviewed by Žan Doberšek.
Install per-version and perl-Time-HiRes so we can use build-webkit
script. Also add missing backlashes.
* wpe/install-dependencies:
2017-10-20 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r222709 and r223572.
https://bugs.webkit.org/show_bug.cgi?id=178587
Still getting mac-wk2 EWS bots stuck (Requested by ap on
#webkit).
Reverted changesets:
"Log stack-trace for run-webkit-tests when interrupted"
https://bugs.webkit.org/show_bug.cgi?id=176393
https://trac.webkit.org/changeset/222709
"webkitpy: Hang when workers write to the same stack trace
file"
https://bugs.webkit.org/show_bug.cgi?id=178402
https://trac.webkit.org/changeset/223572
2017-10-19 Nan Wang <n_wang@apple.com>
AX: Provide a way for Accessibility to cache the selection while retrieving rects for speak selection
https://bugs.webkit.org/show_bug.cgi?id=176247
<rdar://problem/34217143>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
(TestWebKitAPI::TEST):
2017-10-19 Sam Weinig <sam@webkit.org>
[Settings] Move global settings into their own file
https://bugs.webkit.org/show_bug.cgi?id=178512
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
(TestWebKitAPI::TEST):
2017-10-19 Andy Estes <aestes@apple.com>
[iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
https://bugs.webkit.org/show_bug.cgi?id=178181
<rdar://problem/33660282>
Reviewed by Dan Bernstein.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::databaseProcessName):
2017-10-19 Saam Barati <sbarati@apple.com>
Turn poly proto back on by default and remove the option
https://bugs.webkit.org/show_bug.cgi?id=178525
Reviewed by Mark Lam.
* Scripts/run-jsc-stress-tests:
2017-10-18 Ryosuke Niwa <rniwa@webkit.org>
Don't expose raw HTML in pasteboard to the web content
https://bugs.webkit.org/show_bug.cgi?id=178422
Reviewed by Wenson Hsieh.
Added a test case for sanitizing web archive in the system pasteboard to strip privacy sensitive information
such as local file paths and potentially harmful scripts like event handlers serialized by WebKit prior to r223462.
* TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
(PasteWebArchive.SanitizesHTML):
2017-10-18 Youenn Fablet <youenn@apple.com>
TestController should clear all fetch caches when resetting its state
https://bugs.webkit.org/show_bug.cgi?id=178486
Reviewed by Chris Dumez.
Adding clearDOMCaches test runner method.
Using that method when resetting state.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearDOMCaches):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-10-18 Chelsea Pugh <cpugh@apple.com>
[iOS] Use new class name from UIKit when checking UITextSuggestion type
https://bugs.webkit.org/show_bug.cgi?id=178416
Reviewed by Tim Horton.
This updates our test using/mocking out UITextAutofillSuggestion instead of UIKeyboardLoginCredentialsSuggestion.
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
(-[UITextAutofillSuggestion initWithUsername:password:]): Copied from UIKit's implementation. This will serve as
a mock of this method for builds not containingit.
(+[UITextAutofillSuggestion autofillSuggestionWithUsername:password:]): Ditto.
(TestWebKitAPI::TEST): Use +[UITextAutofillSuggestion autofillSuggestionWithUsername:password:] inline instead of
helper function for creating a new suggestion.
(newUIKeyboardLoginCredentialsSuggestion): Deleted.
* TestWebKitAPI/ios/UIKitSPI.h:
2017-10-18 Fujii Hironori <Hironori.Fujii@sony.com>
update-webkit-auxiliary-libs can't download WebKitAuxiliaryLibrary.zip due to 403 Forbidden
https://bugs.webkit.org/show_bug.cgi?id=178381
Reviewed by Alexey Proskuryakov.
The web server developer.apple.com seems to reject HTTP requests
without Accept header field.
* Scripts/update-webkit-dependency: Add 'Accept' header field to requests.
2017-10-18 Aakash Jain <aakash_jain@apple.com>
webkitpy tests should have --json-output option
https://bugs.webkit.org/show_bug.cgi?id=178481
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/test/main.py:
(Tester._parse_args): Added json-output argument.
(Tester._run_tests): Write output to json file.
2017-10-18 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, rolling out r223291.
See WebCore ChangeLog for more detail.
Reverted changeset:
"Remove Editor::simplifyMarkup"
https://bugs.webkit.org/show_bug.cgi?id=178271
https://trac.webkit.org/changeset/223291
2017-10-18 Chris Dumez <cdumez@apple.com>
Add an efficient data structure for WebCore to query if there is a Service Worker registered for a given origin
https://bugs.webkit.org/show_bug.cgi?id=177876
<rdar://problem/34813129>
Reviewed by Ryosuke Niwa.
Clear service worker registrations between test runs to avoid flakiness.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2017-10-18 Zan Dobersek <zdobersek@igalia.com>
Remove remnants of OpenWebRTC
https://bugs.webkit.org/show_bug.cgi?id=178437
Reviewed by Alejandro G. Castro.
Drop OpenWebRTC packages from the GTK's Jhbuild modules file. Relevant
patches are also removed.
* gtk/jhbuild.modules:
* gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Removed.
* gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Removed.
* gtk/patches/rtspsrc-timeout-on-udpsrc-is-in-nanoseconds.patch: Removed.
* gtk/patches/udpsrc-improve-timeouts.patch: Removed.
2017-10-17 Jonathan Bedard <jbedard@apple.com>
webkitpy: Hang when workers write to the same stack trace file
https://bugs.webkit.org/show_bug.cgi?id=178402
<rdar://problem/35033432>
Reviewed by Aakash Jain.
Workers can hang if they all write to the same stack trace file when receiving
a SIGTERM. Attach the pid to the stack trace file name so that each worker
writes to a different file.
* Scripts/webkitpy/common/interupt_debugging.py:
(log_stack_trace_on_term.handler): Name stack trace file path/<pid>-filename.
(log_stack_trace_on_cntrl_c.handler): Ditto.
2017-10-17 John Wilander <wilander@apple.com>
Add and remove cookie partition accordingly in intermediary redirect requests
https://bugs.webkit.org/show_bug.cgi?id=178369
<rdar://problem/34467603>
Reviewed by Brent Fulgham.
Adds the function statisticsNotifyObserver().
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::statisticsNotifyObserver):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsNotifyObserver):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-10-17 Youenn Fablet <youenn@apple.com>
Cache API implementation should be able to compute storage size for WebKit client applications.
https://bugs.webkit.org/show_bug.cgi?id=178350
Reviewed by Chris Dumez.
Adding support for a domCacheSize getter.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::domCacheSize):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::FetchCacheSizeForOriginCallbackContext::FetchCacheSizeForOriginCallbackContext):
(WTR::fetchCacheSizeForOriginCallback):
(WTR::TestController::domCacheSize):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-10-17 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
[GStreamer][GTK][WPE] update-webkit-libs-jhbuild fails to detect changes in included moduleset files
https://bugs.webkit.org/show_bug.cgi?id=178206
Reviewed by Michael Catanzaro.
The update-webkit-libs-jhbuild scripts computes MD5 sum of GTK/WPE jhbuild configuration files to check if it
needs to rebuild the dependencies libraries. This patch fixes a bug when main GTK/WPE jhbuild modules
configuration file includes additional files (for example GStreamer module). It parses jhbuild.modules file to
check if additional files are included. If any, it computes MD5 sum for each of these included files.
* Scripts/update-webkit-libs-jhbuild:
(getJhbuildIncludedFilePaths): New function that returns included files in jhbuild.modules
(jhbuildConfigurationCheckFile): New function to check if MD5 sum file changes.
(jhbuildConfigurationChanged): Add MD5 sum check for included files.
(saveMd5File): New function to save MD5 sum of a file.
(saveJhbuildMd5): Add saving included files MD5 sum.
(deleteJhbuildMd5): Delete included files MD5 sum
* gtk/install-dependencies: Add perl-libXML lib that is used to parse jhbuild file.
* wpe/install-dependencies: Ditto.
2017-10-17 Tomas Popela <tpopela@redhat.com>
Undefined WK_API_ENABLED warning when compiling COCOA content on WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=178208
Check whether we are on COCOA platform before checking for
WK_API_ENABLED.
Reviewed by Ryosuke Niwa.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::clearDOMCache):
2017-10-17 Keith Miller <keith_miller@apple.com>
Change WebCore sources to work with unified source builds
https://bugs.webkit.org/show_bug.cgi?id=178229
Rubber stamped by Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-10-16 Christopher Reid <chris.reid@sony.com>
[Win] Webkit should still be able to build when unable to check if libraries are up to date
https://bugs.webkit.org/show_bug.cgi?id=178367
Adding a option to skip the check to see if windows libraries are up to date.
This option is useful when testing modified libraries. This option also allows
building webkit when GitHub blocks requests to verify the latest library version.
Reviewed by Per Arne Vollan.
* Scripts/build-webkit:
2017-10-12 Matt Rajca <mrajca@apple.com>
Add API support for quirk that lets an arbitrary click allow auto-play.
https://bugs.webkit.org/show_bug.cgi?id=178227
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST): Added API test.
2017-10-16 Maureen Daum <mdaum@apple.com>
If an origin doesn't have databases in the Databases table we should still remove its information from disk in DatabaseTracker::deleteOrigin()
https://bugs.webkit.org/show_bug.cgi?id=178281
<rdar://problem/34576132>
Reviewed by Brent Fulgham.
Verify that if there is an entry in the Origins table but no entries in the Databases
table that we still remove the directory for the origin, and that we remove the
entry from the Origins table.
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
(TestWebKitAPI::TEST):
2017-10-15 Ryosuke Niwa <rniwa@webkit.org>
Cannot access images included in the content pasted from Microsoft Word
https://bugs.webkit.org/show_bug.cgi?id=124391
<rdar://problem/26862741>
Reviewed by Antti Koivisto.
Added tests for sanitizing HTML contents for copy & paste and drag & drop.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: Added.
(readHTMLFromPasteboard): Added.
(createWebViewWithCustomPasteboardDataEnabled): Added.
(CopyHTML.Sanitizes): Added.
* TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
(createWebViewWithCustomPasteboardDataEnabled): Added to enable more tests on bots.
* TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
(writeRTFToPasteboard): Added.
(createWebViewWithCustomPasteboardDataEnabled): Added.
(createHelloWorldString): Added.
(PasteRTF.ExposesHTMLTypeInDataTransfer): Added.
(PasteRTFD.ExposesHTMLTypeInDataTransfer): Added.
(PasteRTFD.ImageElementUsesBlobURLInHTML): Added.
* TestWebKitAPI/Tests/WebKitCocoa/copy-html.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html: Store the clipboardData contents for
PasteRTF.ExposesHTMLTypeInDataTransfer and PasteRTFD.ExposesHTMLTypeInDataTransfer.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(DataInteractionTests.DataTransferSanitizeHTML):
2017-10-16 Youenn Fablet <youenn@apple.com>
Activate Cache API by default
https://bugs.webkit.org/show_bug.cgi?id=178186
Reviewed by Chris Dumez.
Removing explicit activation of cache api.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setCacheAPIEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-10-16 Ross Kirsling <ross.kirsling@sony.com>
run-webkit-tests help text should mention arguments too
https://bugs.webkit.org/show_bug.cgi?id=178352
Reviewed by Tim Horton.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
2017-10-16 Maureen Daum <mdaum@apple.com>
If we fail to delete any database file, don't remove its information from the tracker database
<rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
Reviewed by Brady Eidson.
Add tests that verify we correctly delete databases and remove their information from
the tracker database, even if the database doesn't exist. Verify that if we fail to
delete a database, we don't remove its information from the tracker database.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
method for creating a temporary directory in the tests.
* TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
The existing test was copied to DatabaseTrackerTest.mm.
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::addToDatabasesTable):
(TestWebKitAPI::removeDirectoryAndAllContents):
(TestWebKitAPI::createFileAtPath):
2017-10-16 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r223422.
These tests are for a change that was rolled out in r223420
Reverted changeset:
"If we fail to delete any database file, don't remove its
information from the tracker database"
https://bugs.webkit.org/show_bug.cgi?id=178251
https://trac.webkit.org/changeset/223422
2017-10-16 Maureen Daum <mdaum@apple.com>
If we fail to delete any database file, don't remove its information from the tracker database
<rdar://problem/34576132> and https://bugs.webkit.org/show_bug.cgi?id=178251
Reviewed by Brady Eidson.
Add tests that verify we correctly delete databases and remove their information from
the tracker database, even if the database doesn't exist. Verify that if we fail to
delete a database, we don't remove its information from the tracker database.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Move DatabaseTrackerTest.cpp to DatabaseTrackerTest.mm so that we can use the cocoa
method for creating a temporary directory in the tests.
* TestWebKitAPI/Tests/WebCore/DatabaseTrackerTest.cpp: Removed.
The existing test was copied to DatabaseTrackerTest.mm.
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::addToDatabasesTable):
(TestWebKitAPI::removeDirectoryAndAllContents):
(TestWebKitAPI::createFileAtPath):
2017-10-16 David Kilzer <ddkilzer@apple.com>
Add RELEASE_ASSERT_WITH_SECURITY_IMPLICATION() macro
<https://webkit.org/b/178269>
Reviewed by Alex Christensen.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_language): Add checker to warn about using
ASSERT_WITH_SECURITY_IMPLICATION().
(CppChecker.categories): Add 'security/assertion' to list of
enabled checkers.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_debug_security_assertion): Add tests for
new checker.
2017-10-16 Chris Dumez <cdumez@apple.com>
Clicks on Link with download attribute causes all (other) links to trigger download when clicked
https://bugs.webkit.org/show_bug.cgi?id=178267
<rdar://problem/34985016>
Reviewed by Darin Adler.
Use PassThrough policy in WKTR's InjectedBundle's decidePolicyForNewWindowAction so that the
request is sent to the UIProcess. This gets WKTR's closer to Safari behavior and helps
reproduce the bug. Without this change, I would not be able to write a regression test for
this bug that is very easily reproducible in Safari.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::decidePolicyForNewWindowAction):
2017-10-16 Emilio Cobos Álvarez <emilio@crisal.io>
Add Emilio Cobos Álvarez to the contributors list.
https://bugs.webkit.org/show_bug.cgi?id=178334
Reviewed by Antti Koivisto.
* Scripts/webkitpy/common/config/contributors.json:
2017-10-07 Maciej Stachowiak <mjs@apple.com>
Improve --help documentation and add --list-plans to show available benchmarks.
https://bugs.webkit.org/show_bug.cgi?id=178059
Reviewed by Ryosuke Niwa.
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.available_plans): New function that returns the list of available plans.
(BenchmarkRunner.plan_directory): New method to centralize knowledge of where the plan files live.
(BenchmarkRunner._find_plan_file): Updated to use BenchmarkRunner.plan_directory
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(parse_args): Help cleanup: Reordered options to put more common
ones at the top. Fixed wording. Added help for each
option. Explained default for each option that has one.
New option: --list-plans which tells you the available benchmarks.
Code cleanup: Removed use of dest where redundant, made variable
names conforming to Python coding style.
(run_benchmark_plan): Adapted for new variable names.
(list_benchmark_plans): New helper for --list-plans option.
(start): Account for --list-plans. Also use
BechmarkRunner.available_plans and use
BenchmarkRunner.plan_directory instead of duplicating
code/knowledge here.
2017-10-16 Wenson Hsieh <wenson_hsieh@apple.com>
On ToT, event.dataTransfer.getData("text/uri-list") returns an empty string when dragging an image
https://bugs.webkit.org/show_bug.cgi?id=178301
<rdar://problem/34990050>
Reviewed by Darin Adler.
Fixes issues in DumpRenderTree's LocalPasteboard to ensure that drag-drop-href-as-url.html exposes files, and
also adds a new iOS drag and drop API test.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard addTypes:owner:]):
(-[LocalPasteboard setData:forType:]):
Fixes LocalPasteboard's implementation of changeCount to incremement when the pasteboard owner changes, rather
than every time data is changed. This is consistent with NSPasteboard behavior.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
Adds a new API test to verify that an image and HTTP URL written by the platform is correctly web exposed.
2017-10-15 Darin Adler <darin@apple.com>
UTF-8 decoding produces one replacement character per byte; Encoding standard requires one replacement character per illegal sequence instead
https://bugs.webkit.org/show_bug.cgi?id=178207
Reviewed by Sam Weinig.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added test.
* TestWebKitAPI/Tests/WebCore/TextCodec.cpp: Added.
(TestWebKitAPI::decodeHexTestBytes): Decodes a string so we can write readable tests.
(TestWebKitAPI::escapeNonPrintableASCIICharacters): Encodes a string so we can write readable tests.
(TestWebKitAPI::TEST): Added some UTF-8 tests and UTF-8 invalid sequences tests.
Would be smart to add more tests for other cases, exercising the fast ASCII loop for example, and
other encodings.
2017-10-14 Adrian Perez de Castro <aperez@igalia.com>
[WPE] JHBuild build directory DependenciesWPE/Build is not removed by update-webkit-libs-jhbuild
https://bugs.webkit.org/show_bug.cgi?id=178212
Reviewed by Michael Catanzaro.
* Scripts/update-webkit-libs-jhbuild:
(cleanJhbuild): The WPE JHBuild also uses a separate "Build" subdirectory, so do not skip
cleaning it when "--wpe" is passed to the script.
2017-10-13 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
https://bugs.webkit.org/show_bug.cgi?id=178283
Reviewed by Žan Doberšek.
* wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise
compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.
2017-10-13 Youenn Fablet <youenn@apple.com>
Implement listing origins for which CacheStorage is storing data
https://bugs.webkit.org/show_bug.cgi?id=178236
Reviewed by Chris Dumez.
Adding hasDOMCache API for checking whether origin is storing data through Cache API.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::hasDOMCache):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
(WTR::fetchCacheOriginsCallback):
(WTR::TestController::hasDOMCache):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-10-13 Alex Christensen <achristensen@webkit.org>
Remove Editor::simplifyMarkup
https://bugs.webkit.org/show_bug.cgi?id=178271
Reviewed by Wenson Hsieh.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
2017-10-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
[GLib] WebKitNavigationAction should tell whether it is a redirect
https://bugs.webkit.org/show_bug.cgi?id=178178
Test that WebKitNavigationAction properly reports being a redirect.
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
(testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
(serverCallback): add a /redirect path to the server, which causes a redirect.
2017-10-13 Chris Dumez <cdumez@apple.com>
Unreviewed, fix webkitpy failure after r223273
* Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest.test_harnesslinks_conversion):
2017-10-12 Chris Dumez <cdumez@apple.com>
import-w3c-tests modifies test sources and sometimes causes them to fail
https://bugs.webkit.org/show_bug.cgi?id=178234
Reviewed by Ryosuke Niwa.
Update import-w3c-tests to stop rewriting tests as this is causing some tests
to fail unexpectedly.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.import_tests):
2017-10-12 Youenn Fablet <youenn@apple.com>
Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=178200
Reviewed by Chris Dumez.
Making clearDOMCache wait for removal completion to exit.
This removes the risk to interact with the cache while deleting it which will end up be racy in tests.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearDOMCache):
* WebKitTestRunner/TestController.cpp:
(WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
(WTR::clearDOMCacheCallback):
(WTR::TestController::clearDOMCache):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-10-12 John Wilander <wilander@apple.com>
ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
https://bugs.webkit.org/show_bug.cgi?id=175257
<rdar://problem/33359866>
Reviewed by Brent Fulgham.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
(WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
Not implemented.
(WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
Not implemented.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
Implemented platform-specific.
(WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
Implemented platform-specific.
2017-10-12 Andy Estes <aestes@apple.com>
[iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
https://bugs.webkit.org/show_bug.cgi?id=178181
<rdar://problem/33660282>
Reviewed by Dan Bernstein.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::databaseProcessName):
2017-10-12 Myles C. Maxfield <mmaxfield@apple.com>
Emit SPIR-V from WSL compiler (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=177998
Reviewed by Filip Pizlo.
This patch implements the first half of a SPIR-V codegen phase for WSL.
This includes all the operations which aren't actually emitting the contents
of functions themselves. For example, this includes things like representing
WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
future patch will actually emit the contents of functions.
There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
input and output variables from a shader (and assigns location values to
each one).
This patch is currently pursuing the "logical mode" detailed in
https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
array reference operation can be statically traced to the variable or array it
is operating on.
This has the interesting property where accessing a pointer inside an array is
forbidden, because the array index may be computed at runtime, so the compiler
can't know at compile time which variable the pointer operation will be
accessing. However, this isn't true for structs; the program must statically
state which struct member it is accessing. Therefore, pointers or array
references must not transitively appear within an array, but they may appear
within a struct. The same logic applies to array references; those get lowered
to just two indexes in SPIR-V (a lower bound and an upper bound).
So, outside of an array, SPIR-V types don't need to include any pointers because
any operation with the pointer doesn't need access to the runtime value of the
pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
will never include any pointers.
This means that, for example, WSL can represent a linked list in logical mode.
However, a WSL program cannot iterate across the list, because that would require
assigning to a pointer. So instead, a program using a linked list could only say
something like "list.ptr->ptr->ptr->value".
* WebGPUShadingLanguageRI/LateChecker.js:
(LateChecker.prototype._checkShaderType):
* WebGPUShadingLanguageRI/SPIR-V.js:
(SPIRV.OperandChecker.prototype._isStar):
(SPIRV.OperandChecker.prototype.nextComparisonType):
(SPIRV.OperandChecker.prototype.finalize):
(SPIRV.OperandChecker):
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/SPIRVCodegen.js: Added.
(findEntryPoints):
(emitTypes.doEmitTypes):
(emitTypes):
(ConstantFinder.prototype.visitGenericLiteralType):
(ConstantFinder):
(generateSPIRV):
* WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Added.
(SPIRVTypeAnalyzer):
(SPIRVTypeAnalyzer.prototype.get program):
(SPIRVTypeAnalyzer.prototype.get typeMap):
(SPIRVTypeAnalyzer.prototype.get currentId):
(SPIRVTypeAnalyzer.prototype.get stack):
(SPIRVTypeAnalyzer.prototype.visitTypeRef):
(SPIRVTypeAnalyzer.prototype._encounterType):
(SPIRVTypeAnalyzer.prototype.visitNullType):
(SPIRVTypeAnalyzer.prototype.visitGenericLiteralType):
(SPIRVTypeAnalyzer.prototype.visitNativeType):
(SPIRVTypeAnalyzer.prototype.visitEnumType):
(SPIRVTypeAnalyzer.prototype.visitPtrType):
(SPIRVTypeAnalyzer.prototype.visitArrayRefType):
(SPIRVTypeAnalyzer.prototype.visitArrayType):
(SPIRVTypeAnalyzer.prototype.visitStructType):
* WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Added.
(SPIRVPrimitiveVariableAnalyzer):
(SPIRVPrimitiveVariableAnalyzer.prototype.get program):
(SPIRVPrimitiveVariableAnalyzer.prototype.get typeMap):
(SPIRVPrimitiveVariableAnalyzer.prototype.get currentId):
(SPIRVPrimitiveVariableAnalyzer.prototype.get currentLocation):
(SPIRVPrimitiveVariableAnalyzer.prototype.get nameComponents):
(SPIRVPrimitiveVariableAnalyzer.prototype.get result):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitTypeRef):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitNullType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitGenericLiteralType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitNativeType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitEnumType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitPtrType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayRefType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitStructType):
* WebGPUShadingLanguageRI/WSL.md:
* WebGPUShadingLanguageRI/index.html:
2017-09-29 Filip Pizlo <fpizlo@apple.com>
Enable gigacage on iOS
https://bugs.webkit.org/show_bug.cgi?id=177586
Reviewed by JF Bastien.
Add a mode to test disabling Gigacage.
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2017-10-11 Sam Weinig <sam@webkit.org>
Remove out-parameter variants of copyToVector
https://bugs.webkit.org/show_bug.cgi?id=178155
Reviewed by Tim Horton.
* DumpRenderTree/JavaScriptThreading.cpp:
(stopJavaScriptThreads):
2017-10-12 Sam Weinig <sam@webkit.org>
It should be possible to iterate just the values (and not the counts) of a HashCountedSet
https://bugs.webkit.org/show_bug.cgi?id=178169
Reviewed by Daniel Bates.
* TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
(TestWebKitAPI::TEST):
Add test for HashCountedSet's new values() range.
2017-10-11 Frederic Wang <fwang@igalia.com>
run-safari --ios-simulator is no longer working with Xcode 9
https://bugs.webkit.org/show_bug.cgi?id=177595
Reviewed by Daniel Bates.
In Xcode 9, the path of the simulator application is now in a new CoreSimulator subdirectory
of the iphoneOS SDK platform. This patch updates webkitdirs.pm to use the new path in
Xcode 9 or higher so that it is possible to run Safari on the iOS simulator again. It also
does some minor code refactoring to improve code reuse.
* Scripts/configure-xcode-for-ios-development: Move sdkDirectory() and sdkPlatformDirectory()
into webkitdirs.
(sdkDirectory): Deleted.
(sdkPlatformDirectory): Deleted.
* Scripts/webkitdirs.pm: Expose new sdkDirectory() and sdkPlatformDirectory().
(sdkDirectory): Moved from configure-xcode-for-ios-development.
(sdkPlatformDirectory): Ditto.
(XcodeSDKPath): Rely on sdkDirectory() to implement this function.
(iosSimulatorApplicationsPath): In Xcode 9 or higher use the new path. It is calculated
by relying on sdkPlatformDirectory().
2017-10-11 Dewei Zhu <dewei_zhu@apple.com>
run-benchmark script should set '__XPC_DYLD_FRAMEWORK_PATH' while launching local-built Safari on Mac.
https://bugs.webkit.org/show_bug.cgi?id=178199
Reviewed by Saam Barati.
'__XPC_DYLD_FRAMEWORK_PATH' should be set while launching Safari on run-benchmark script.
'force_remove' function should support both file and directory.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launch_url):
* Scripts/webkitpy/benchmark_runner/utils.py:
(force_remove):
2017-10-11 Saam Barati <sbarati@apple.com>
Runtime disable poly proto because it may be a 3-4% Speedometer regression
https://bugs.webkit.org/show_bug.cgi?id=178192
Reviewed by JF Bastien.
* Scripts/run-jsc-stress-tests:
2017-10-11 Youenn Fablet <youenn@apple.com>
Add API to clean CacheStorage data
https://bugs.webkit.org/show_bug.cgi?id=178034
Reviewed by Chris Dumez.
Adding internals API to trigger deleting all or origin-persistent cache storage persistent data.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearDOMCache):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::clearDOMCache):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2017-10-11 Chris Dumez <cdumez@apple.com>
[Geolocation] Expose Coordinates.floorLevel
https://bugs.webkit.org/show_bug.cgi?id=178173
<rdar://problem/34918936>
Reviewed by Ryosuke Niwa.
Add test infrastructure for testing Coordinates.floorLevel.
* DumpRenderTree/TestRunner.cpp:
(setMockGeolocationPositionCallback):
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setMockGeolocationPosition):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setMockGeolocationPosition):
* WebKitTestRunner/GeolocationProviderMock.cpp:
(WTR::GeolocationProviderMock::setPosition):
* WebKitTestRunner/GeolocationProviderMock.h:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::setMockGeolocationPosition):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setMockGeolocationPosition):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setMockGeolocationPosition):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2017-10-11 Youenn Fablet <youenn@apple.com>
Bump default cache storage quota to 20MB
https://bugs.webkit.org/show_bug.cgi?id=178132
Reviewed by Alex Christensen.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generateContextConfiguration const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration): Setting quota to 400kb
2017-10-11 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r223113 and r223121.
https://bugs.webkit.org/show_bug.cgi?id=178182
Reintroduced 20% regression on Kraken (Requested by rniwa on
#webkit).
Reverted changesets:
"Enable gigacage on iOS"
https://bugs.webkit.org/show_bug.cgi?id=177586
https://trac.webkit.org/changeset/223113
"Use one virtual allocation for all gigacages and their
runways"
https://bugs.webkit.org/show_bug.cgi?id=178050
https://trac.webkit.org/changeset/223121
2017-10-11 Ryosuke Niwa <rniwa@webkit.org>
Sanitize URL in pasteboard for other applications and cross origin content
https://bugs.webkit.org/show_bug.cgi?id=178060
<rdar://problem/34874518>
Reviewed by Wenson Hsieh.
Added API tests for sanitizing URLs copied from web content, and that the original URL is exposed to the web content.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: Added.
(readURLFromPasteboard): A helper function.
* TestWebKitAPI/Tests/WebKitCocoa/copy-url.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(DataInteractionTests.DataTransferGetDataWhenDroppingCustomData): Rebaselined. https://www.apple.com is no longer
normalized to https://www.apple.com/ by NSURL / UIPasteboard as expected.
(DataInteractionTests.DataTransferSetDataValidURL): Added.
(DataInteractionTests.DataTransferSetDataUnescapedURL): Added.
(DataInteractionTests.qDataTransferSetDataInvalidURL): Added.
2017-10-11 Chris Dumez <cdumez@apple.com>
Modernize Geolocation code
https://bugs.webkit.org/show_bug.cgi?id=178148
Reviewed by Ryosuke Niwa.
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setMockGeolocationPosition):
2017-10-11 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
[GStreamer] Many media source tests crashing with GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0' failed in gst_qtdemux_configure_stream()
https://bugs.webkit.org/show_bug.cgi?id=176804
Reviewed by Michael Catanzaro.
Add patch to fix assert in qtdemux.
* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added.
2017-10-11 Tomas Popela <tpopela@redhat.com>
Use https for trac changeset and browser links
https://bugs.webkit.org/show_bug.cgi?id=178167
Reviewed by Alexey Proskuryakov.
Switch the http://trac.webkit.org/changeset and
http://trac.webkit.org/browser links that are printed by webkitpy to
https. Also update the test expectations.
* Scripts/webkitpy/common/checkout/checkout_unittest.py:
* Scripts/webkitpy/common/config/committervalidator_unittest.py:
(CommitterValidatorTest.test_flag_permission_rejection_message):
* Scripts/webkitpy/common/config/urls.py:
(view_source_url):
(view_revision_url):
* Scripts/webkitpy/common/net/bugzilla/bug_unittest.py:
(BugTest.test_commit_revision):
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
* Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(MainTest):
(MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
* Scripts/webkitpy/style/checkers/changelog_unittest.py:
(ChangeLogCheckerTest.test_missing_bug_number):
* Scripts/webkitpy/tool/bot/feeders_unittest.py:
* Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
* Scripts/webkitpy/tool/bot/ircbot_unittest.py:
(IRCBotTest.test_rollout):
(IRCBotTest.test_revert):
(IRCBotTest.test_multi_rollout):
(IRCBotTest.test_rollout_with_r_in_svn_revision):
(IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
(IRCBotTest.test_rollout_invalidate_reason):
(test_multi_rollout_invalidate_reason):
* Scripts/webkitpy/tool/bot/sheriff_unittest.py:
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
* Scripts/webkitpy/tool/commands/queues_unittest.py:
* Scripts/webkitpy/tool/commands/suggestnominations.py:
(SuggestNominations._count_commit):
* Scripts/webkitpy/tool/commands/upload_unittest.py:
* Scripts/webkitpy/tool/servers/data/rebaselineserver/util.js:
(getTracUrl):
(getSortedKeys):
* Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
(CloseBugForLandDiffTest.test_empty_state):
* Scripts/webkitpy/tool/steps/commit_unittest.py:
(CommitTest._test_check_test_expectations):
* Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
(UpdateChangeLogsForRevertTest):
2017-10-10 Ryosuke Niwa <rniwa@webkit.org>
Enable custom pasteboard data in DumpRenderTree and WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=178154
Reviewed by Wenson Hsieh.
Fixed the bug that LocalPasteboard would fail to load the promise type if data is set after declaring types
by delaying the call to provideDataForType until when dataForType is called.
Without this fix, fast/events/dropzone-002.html would start failing after enabling custom pasteboard data.
With this fix, fast/events/dropzone-005.html also starts passing.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard addTypes:owner:]):
(-[LocalPasteboard dataForType:]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-10-10 Joanmarie Diggs <jdiggs@igalia.com>
AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM
https://bugs.webkit.org/show_bug.cgi?id=178137
Reviewed by Chris Fleizach.
Add handling for ATK_ROLE_LANDMARK resulting from the ARIA form role.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2017-10-10 Jonathan Bedard <jbedard@apple.com>
run-webkit-tests: upload test results to multiple servers
https://bugs.webkit.org/show_bug.cgi?id=178012
<rdar://problem/34856501>
Reviewed by Lucas Forschler.
Allowing uploading of results to multiple servers makes developing new results
databases much easier, and does not complicate uploading logic.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.upload_results): Iterate through the list of results server hosts and
send results to each one.
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator.__init__): Accept a list of test results servers.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(JSONResultsGenerator.__init__): Accept a list of test results servers.
(JSONResultsGenerator.get_json): Pick which server to download from by index.
(JSONResultsGenerator.upload_json_files): Upload the JSON to each results server.
(JSONResultsGenerator._get_archived_json_results): Pick which server to download from.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Allow multiple test-results-servers and results-server-hosts to be
passed to run-webkit-tests.
2017-10-09 Youenn Fablet <youenn@apple.com>
Vector should be able to easily create from a list of movable only items
https://bugs.webkit.org/show_bug.cgi?id=176432
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2017-09-29 Filip Pizlo <fpizlo@apple.com>
Enable gigacage on iOS
https://bugs.webkit.org/show_bug.cgi?id=177586
Reviewed by JF Bastien.
Add a mode to test disabling Gigacage.
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2017-10-09 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r223015 and r223025.
https://bugs.webkit.org/show_bug.cgi?id=178093
Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
#webkit).
Reverted changesets:
"Enable gigacage on iOS"
https://bugs.webkit.org/show_bug.cgi?id=177586
http://trac.webkit.org/changeset/223015
"Unreviewed, disable Gigacage on ARM64 Linux"
https://bugs.webkit.org/show_bug.cgi?id=177586
http://trac.webkit.org/changeset/223025
2017-10-09 Sam Weinig <sam@webkit.org>
Make HashMap::keys() and HashMap::values() work with WTF::map/WTF::copyToVector
https://bugs.webkit.org/show_bug.cgi?id=178072
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
Add tests for HashMap::keys() and HashMap::values() working with copyToVector.
2017-10-05 Frederic Wang <fwang@igalia.com>
Remove WOFF2 from Source/ThirdParty.
https://bugs.webkit.org/show_bug.cgi?id=177862
Reviewed by Michael Catanzaro.
* Scripts/webkitpy/style/checker.py: Remove woff2.
* gtk/jhbuild.modules: Add new jhbuild module for woff2.
2017-10-08 Sam Weinig <sam@webkit.org>
It should be possible to create a ListHashSet with a std::initializer_list.
https://bugs.webkit.org/show_bug.cgi?id=178070
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
(TestWebKitAPI::TEST):
Add a test for using std::initializer_list with ListHashSet.
2017-10-08 Sam Weinig <sam@webkit.org>
There should be a version of copyToVector that returns a Vector, rather than using an out parameter
https://bugs.webkit.org/show_bug.cgi?id=177732
Reviewed by Saam Barati.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
Add tests for the new copyToVector and copyToVectorOf functions.
2017-10-08 Darin Adler <darin@apple.com>
Fix bugs related to setting reflected floating point DOM attributes
https://bugs.webkit.org/show_bug.cgi?id=178061
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/AtomicString.cpp: Added a test of the
AtomicString::number function, based on the test cases we already
had for String::numberToStringECMAScript, and with some additional
cases with powers of 10 that check handling of trailng zeroes.
* TestWebKitAPI/Tests/WTF/WTFString.cpp: Added test cases to the
existing tests of the String::numberToStringECMAScript function
as above. Also added tests for String::number and for
String::numberToStringFixedWidth. Also changed the tests to all use
EXPECT instead of ASSERT macros since these are all non-fatal.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::dumpFrameScrollPosition): Use StringBuilder::appendECMAScriptNumber
instead of String::number.
2017-10-08 Dean Jackson <dino@apple.com>
Make sort-Xcode-project file handle UnifiedSources
https://bugs.webkit.org/show_bug.cgi?id=178042
Reviewed by Sam Weinig.
Sort the UnifiedSource(\d+) files by number rather
than alphabetically.
* Scripts/sort-Xcode-project-file:
(sortChildrenByFileName):
(sortFilesByFileName):
2017-09-29 Filip Pizlo <fpizlo@apple.com>
Enable gigacage on iOS
https://bugs.webkit.org/show_bug.cgi?id=177586
Reviewed by JF Bastien.
Add a mode to test disabling Gigacage.
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
2017-10-06 Aishwarya Nirmal <anirmal@apple.com>
[iOS] Respect the "caret-color" CSS property when editing
https://bugs.webkit.org/show_bug.cgi?id=177489
<rdar://problem/34600419>
Reviewed by Tim Horton.
Adds test for iOS caret color support.
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/UIKitSPI.h:
2017-10-06 Alex Christensen <achristensen@webkit.org>
Add more infrastructure to apply custom header fields to same-origin requests
https://bugs.webkit.org/show_bug.cgi?id=177629
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp:
(canonicalizeHTTPHeader):
(shouldRemainUnchanged):
(shouldBeInvalid):
(shouldBecome):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
(expectHeaders):
(-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
(-[CustomHeaderFieldsDelegate webView:stopURLSchemeTask:]):
Test main resource requests, subresource requests, and cross-origin requests.
2017-10-06 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Tweak support for classifying form controls (followup to r222487)
https://bugs.webkit.org/show_bug.cgi?id=177917
<rdar://problem/34820122>
Reviewed by Dean Jackson.
Minor cleanup around autofill API tests added in r222487. Additionally, augments some of these API tests to
verify that after blurring the focused element, the content view no longer accepts autofill credentials (see
WebKit ChangeLog for more details). Also augments tests to verify that the URL in the autofill context matches
the document URL.
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
Remove the USE(APPLE_INTERNAL_SDK) guard for these API tests.
(newUIKeyboardLoginCredentialsSuggestion):
Add a stub implementation of UIKeyboardLoginCredentialsSuggestion. This allows
[UIKeyboardLoginCredentialsSuggestion new] to return a nonnull object, which allows these API tests to verify
that the credential filling codepath works as intended without any additional UIKit changes. Currently, tests
for the value of username and password fields are passing even though the fields are not being populated because
the expected string values are null, and the observed value is an empty string. We instead check the literal
string values here instead of credentialSuggestion's properties, so that tests verifying the behavior of
-insertTextSuggestion: will require username and password inputs to be populated.
(-[TestInputDelegate _webView:focusShouldStartInputSession:]):
(-[AutofillTestView initWithFrame:]):
(-[AutofillTestView _autofillInputView]):
(-[AutofillTestView textInputHasAutofillContext]):
(TestWebKitAPI::TEST):
Add an additional API test to verify that programmatic focus without user interaction (and also without testing
overrides) does not activate autofill.
(createUIKeyboardLoginCredentialsSuggestion): Deleted.
(-[WKWebView _privateTextInput]): Deleted.
* TestWebKitAPI/ios/UIKitSPI.h:
Minor gardening to remove iOS version >= 11 guards that are now unnecessary. Additionally, add some more private
header imports (with corresponding interface definitions for building and running with the public SDK).
2017-10-06 Antti Koivisto <antti@apple.com>
Minor WeakPtr improvements
https://bugs.webkit.org/show_bug.cgi?id=177958
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::Base::createWeakPtr): Deleted.
2017-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix parsing of GTK unit tests output in bot configuration.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunGtkAPITests.commandComplete): Remove trailing ':' from the regular expression.
2017-10-06 Charles Turner <cturner@igalia.com>
Disable bmalloc when running Valgrind
https://bugs.webkit.org/show_bug.cgi?id=177923
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
2017-10-06 Zan Dobersek <zdobersek@igalia.com>
Implement TestController::platformContext() for WPE, returning the
m_context pointer as the GTK+ port does. This fixes the crashes on
the WPE testers.
Rubber-stamped by Carlos Garcia Campos.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformContext):
2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to configure and enable resource load statistics
https://bugs.webkit.org/show_bug.cgi?id=177943
Reviewed by Michael Catanzaro.
Add a command line option to enable intelligent tracking prevention to MiniBrowser and tests cases to check the
new API.
* MiniBrowser/gtk/main.c:
(main):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(serverCallback):
(testWebsiteDataConfiguration):
(testWebsiteDataEphemeral):
(testWebsiteDataResourceLoadStats):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(directoryChangedCallback):
(WebViewTest::waitUntilFileExists):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] All resource load statistics tests added in r212183 crash in GTK bots, timeout in GTK and WPE bots since r219049
https://bugs.webkit.org/show_bug.cgi?id=168171
Reviewed by Chris Dumez.
Implement all resource load statistics functions in TestController using the C API. Also enable the FileMonitor
unit test. This test requires a platform implementation of Util::run(), so I've added UtilitiesGLib.cpp with an
iplementation common to glib based ports using WTF RunLoop abstraction.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
* TestWebKitAPI/glib/UtilitiesGLib.cpp: Copied from Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h.
(TestWebKitAPI::Util::run):
(TestWebKitAPI::Util::spinRunLoop):
(TestWebKitAPI::Util::sleep):
* TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
* TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::platformAdjustContext):
(WTR::TestController::setStatisticsLastSeen):
(WTR::TestController::setStatisticsPrevalentResource):
(WTR::ResourceStatisticsCallbackContext::ResourceStatisticsCallbackContext):
(WTR::resourceStatisticsCallback):
(WTR::TestController::isStatisticsPrevalentResource):
(WTR::TestController::setStatisticsHasHadUserInteraction):
(WTR::TestController::isStatisticsHasHadUserInteraction):
(WTR::TestController::setStatisticsGrandfathered):
(WTR::TestController::isStatisticsGrandfathered):
(WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin):
(WTR::TestController::setStatisticsSubresourceUniqueRedirectTo):
(WTR::TestController::setStatisticsTimeToLiveUserInteraction):
(WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
(WTR::TestController::statisticsProcessStatisticsAndDataRecords):
(WTR::TestController::statisticsUpdateCookiePartitioning):
(WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
(WTR::TestController::statisticsSubmitTelemetry):
(WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
(WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
(WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
(WTR::TestController::setStatisticsGrandfatheringTime):
(WTR::TestController::setStatisticsMaxStatisticsEntries):
(WTR::TestController::setStatisticsPruneEntriesDownTo):
(WTR::TestController::statisticsClearInMemoryAndPersistentStore):
(WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
(WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback):
(WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
(WTR::TestController::statisticsResetToConsistentState):
* WebKitTestRunner/TestController.h:
2017-10-05 Jer Noble <jer.noble@apple.com>
[Cocoa] Enable ENABLE_ENCRYPTED_MEDIA build-time setting
https://bugs.webkit.org/show_bug.cgi?id=177261
Reviewed by Eric Carlson.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-10-05 Alex Christensen <achristensen@webkit.org>
Add ObjC equivalent of WKPageNavigationClient.didChangeBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=177966
<rdar://problem/22387135>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(-[ListItemDelegate _webView:backForwardListItemAdded:removed:]):
(-[ListItemDelegate webView:didFinishNavigation:]):
(TEST):
2017-10-04 Megan Gardner <megan_gardner@apple.com>
check-webkit-style erroneously requires a space between the carrot and brace in obj-c blocks.
https://bugs.webkit.org/show_bug.cgi?id=177897
Reviewed by Dan Bernstein and Jonathan Bedard.
Remove the check for a space between ^ and {,
as this is valid and expected Obj-C. Now check to make sure there is
no space at all between ^ and {, and also that there is a space between
the end of an argument list and the {.
* Scripts/webkitpy/style/checkers/cpp.py:
(regex_for_lambdas_and_blocks):
2017-10-05 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Run WebKit2 C API tests in GTK+ bots again after the last WebKit2 -> WebKit rename.
* Scripts/run-gtk-tests:
(TestRunner):
(TestRunner._run_test):
2017-10-05 Darin Adler <darin@apple.com>
Remove additional WebKitSystemInterface remnants
https://bugs.webkit.org/show_bug.cgi?id=177948
Reviewed by Andy Estes.
* DumpRenderTree/PlatformMac.cmake: Removed code to link the
WebKitSystemInterface library. Left in code that points to
the WebKitLibraries directory, but maybe that can be removed by
someone who is more certain it's no longer needed.
* Scripts/copy-webkitlibraries-to-product-directory: Removed code
to copy and delete WebKitSystemInterface libraries and headers.
* WebKitTestRunner/PlatformMac.cmake: Removed code to link the
WebKitSystemInterface library. Left in code that points to
the WebKitLibraries directory, but maybe that can be removed by
someone who is more certain it's no longer needed.
2017-10-05 Saam Barati <sbarati@apple.com>
Unreviewed. Try to make debug type profiler tests stop timing out.
* Scripts/run-jsc-stress-tests:
2017-10-03 Frederic Wang <fwang@igalia.com>
Remove Brotli from Source/ThirdParty
https://bugs.webkit.org/show_bug.cgi?id=177804
Reviewed by Michael Catanzaro.
* gtk/jhbuild.modules: Build brotli 1.0.1 from the official github repository.
* Scripts/webkitpy/style/checker.py: Remove brotli.
2017-10-04 Alex Christensen <achristensen@webkit.org>
Stop linking with WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=177915
Reviewed by Antti Koivisto.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
* DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/InjectedBundle.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig:
* WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
2017-10-04 Alex Christensen <achristensen@webkit.org>
Remove unnecessary includes of WebKitSystemInterface on Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=177912
Reviewed by Saam Barati.
* DumpRenderTree/mac/DumpRenderTree.mm:
2017-10-04 Megan Gardner <megan_gardner@apple.com>
Break out new touch debugging code into seperate file
https://bugs.webkit.org/show_bug.cgi?id=177796
Reviewed by Simon Fraser.
Encapsulate the new debug touch code into it's own file.
This allows for cleaner code and a better way to show the touches
in a completely separate window, which should also be in screen
coordinates, and not subject to any transforms that get put on the
WebViews.
* TestRunnerShared/spi/UIKitTestSPI.h:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/ios/HIDDebugTouchWindow.h: Added.
* WebKitTestRunner/ios/HIDDebugTouchWindow.mm: Added.
(+[HIDDebugTouchWindow sharedHIDDebugTouchWindow]):
(-[HIDDebugTouchWindow init]):
(-[HIDDebugTouchWindow dealloc]):
(-[HIDDebugTouchWindow updateDebugIndicatorForTouch:withPointInWindowCoordinates:isTouching:]):
(-[HIDDebugTouchWindow initDebugViewsIfNeeded]):
* WebKitTestRunner/ios/HIDEventGenerator.h:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator init]):
(-[HIDEventGenerator _createIOHIDEventWithInfo:]):
(-[HIDEventGenerator _createIOHIDEventType:]):
(-[HIDEventGenerator _updateTouchPoints:count:]):
(-[HIDEventGenerator touchDownAtPoints:touchCount:]):
(-[HIDEventGenerator touchDown:touchCount:]):
(-[HIDEventGenerator liftUpAtPoints:touchCount:]):
(-[HIDEventGenerator liftUp:touchCount:]):
(-[HIDEventGenerator moveToPoints:touchCount:duration:]):
(-[HIDEventGenerator initDebugViewsIfNeeded]): Deleted.
(-[HIDEventGenerator updateDebugIndicatorForTouch:withPoint:isTouching:]): Deleted.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
2017-10-04 JF Bastien <jfbastien@apple.com>
WTF: Update std::expected to match current proposal
https://bugs.webkit.org/show_bug.cgi?id=177881
Reviewed by Mark Lam.
The proposal is likely to be in C++20 and I've been asked to help co-champion
it. I'm therefore updating our implementation to more closely match the current
proposal, and to make sure it'll work for us if standardized.
- Rename UnexpectedType to Unexpected to match the proposal.
- Remove relational operators, only equality / inequality remains.
- Fix minor type signatures.
- Add UnexpectedType typedef.
- Uncomment rebind implementation.
- Add in-place construction tag, as well as explicit error construction tag.
- Add template unexpected constructor.
- Note that make_unexpected isn't in the proposal anymore, but we keep it because we don't have C++17 deduction guides.
- Remove hashing, which isn't in the proposal anymore.
* TestWebKitAPI/Tests/WTF/Expected.cpp:
(WTF::operator<<):
(TestWebKitAPI::TEST):
2017-10-04 Lucas Forschler <lforschler@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=177888
WebKitArchiveSupport - add API Gateway to source control
This is a swagger configuration export via AWS API Gateway console.
Rubber-stamped by Alexey Proskuryakov.
* WebKitArchiveSupport/AWS-APIGateway: Added.
* WebKitArchiveSupport/AWS-APIGateway/stage-v2.json: Added.
2017-10-04 Mark Lam <mark.lam@apple.com>
Add support for using Probe DFG OSR Exit behind a runtime flag.
https://bugs.webkit.org/show_bug.cgi?id=177844
<rdar://problem/34801425>
Reviewed by Saam Barati.
Enable --useProbeOSrExit=true for dfg-eager and ftl-no-cjit-validate-sampling-profiler
test configurations.
* Scripts/run-jsc-stress-tests:
2017-10-04 Jonathan Bedard <jbedard@apple.com>
webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
https://bugs.webkit.org/show_bug.cgi?id=177751
<rdar://problem/34769470>
Reviewed by Daniel Bates.
Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
result. When capturing output from the MockExecutive, the first invocation of
Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
but subsequent invocations will not.
* Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest):
(StepsTest.setUp): Cache the build path before running tests.
2017-10-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
[JHBuild][GTK][WKE] Circular dependency between harfbuzz and freetype6
https://bugs.webkit.org/show_bug.cgi?id=177865
Reviewed by Michael Catanzaro.
Build freetype6 without harfbuzz support.
This seems to be what distros like Fedora, Debian or OpenEmbedded do.
Also explicitly enable support for freetype and fontconfig on harfbuzz.
* gtk/jhbuild.modules: Enable also support for icu.
* wpe/jhbuild.modules:
2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com>
[Test262] Update Test262 to Oct 4 version
https://bugs.webkit.org/show_bug.cgi?id=177859
Reviewed by Sam Weinig.
* Scripts/import-test262-tests:
2017-10-04 Ryosuke Niwa <rniwa@webkit.org>
Use blob URL when pasting RTFD instead of overriding DocumentLoader
https://bugs.webkit.org/show_bug.cgi?id=177801
<rdar://problem/34542270>
Reviewed by Wenson Hsieh.
Added a regression test for an assertion failure when pasting an empty RTFD as well as a test for pasting
RTFD with an image, which should result in an image element with a blob URL.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
* TestWebKitAPI/Tests/WebKitCocoa/paste-rtfd.html:
2017-10-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
[GLib] Let WebCore know of low power situations
https://bugs.webkit.org/show_bug.cgi?id=177810
Reviewed by Carlos Garcia Campos.
* gtk/install-dependencies: add upower-glib dev packages for Debian, Arch and Fedora.
2017-10-03 Saam Barati <sbarati@apple.com>
Implement polymorphic prototypes
https://bugs.webkit.org/show_bug.cgi?id=176391
Reviewed by Filip Pizlo.
* Scripts/run-jsc-stress-tests:
2017-10-03 Myles C. Maxfield <mmaxfield@apple.com>
Create a SPIR-V assembler
https://bugs.webkit.org/show_bug.cgi?id=177726
Reviewed by Filip Pizlo.
Khronos has released a json file containing every SPIR-V opcode and operand at
https://github.com/KhronosGroup/SPIRV-Headers/blob/master/include/spirv/1.2/spirv.core.grammar.json
This patch creates a function which loads this file (via the fetch API), parses it, and creates
an object which holds two things:
- For each opcode, a class which accepts the appropriate operands
- For each enum type, an object which holds each enum value
The constructor for each opcode is smart enough to do some basic type-checking of the argument,
according to the types listed in Khronos's json file.
This patch also includes an example .html file which outputs a dummy SPIR-V program,
which happens to be compatible with the SPIR-V demo at
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/demos/cube.cpp
If you modify this demo to use the generated SPIR-V program, you can see the result in
action.
This patch also commits a copy of Khronos's json file mentioned above. This isn't the first
Khronos file we've committed into our repository with this license, so there shouldn't be any
problems there.
* WebGPUShadingLanguageRI/SPIR-V.js: Added.
(SPIRV.):
(SPIRVAssembler):
(SPIRVAssembler.prototype.append):
(SPIRVAssembler.prototype.get size):
(SPIRVAssembler.prototype.get storage):
(SPIRVAssembler.prototype.get result):
* WebGPUShadingLanguageRI/SPIRV.html: Added.
* WebGPUShadingLanguageRI/spirv.core.grammar.json: Added.
2017-10-03 Chris Dumez <cdumez@apple.com>
SharedStringHashStore should support removing hashes
https://bugs.webkit.org/show_bug.cgi?id=177770
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/VisitedLinkStore.mm: Added.
(TestWebKitAPI::TEST):
2017-10-03 Dewei Zhu <dewei_zhu@apple.com>
Fix missing import for BenchmarkRunner.
https://bugs.webkit.org/show_bug.cgi?id=177842
Reviewed by Ryosuke Niwa.
'show_results' requires BenchmarkRunner.
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
2017-10-03 Olivier Blin <olivier.blin@softathome.com>
[WPE] Bump deps to add support for xdg-shell-unstable-v6 protocol
https://bugs.webkit.org/show_bug.cgi?id=177820
Reviewed by Žan Doberšek.
gnome-shell does not advertize the xdg-shell protocol anymore, but xdg-shell-unstable-v6 instead.
Support has been added in WPEBackend-mesa, we need to update the requirements.
wayland-1.10 is needed for wl_proxy_get_version(), used in the generated headers.
* wpe/jhbuild.modules:
2017-10-03 Alex Christensen <achristensen@webkit.org>
Add ObjC SPI equivalent to WKPageLoaderClient.willGoToBackForwardListItem
https://bugs.webkit.org/show_bug.cgi?id=177825
<rdar://problem/22387505>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(-[BackForwardDelegate _webView:willGoToBackForwardListItem:inPageCache:]):
(-[BackForwardDelegate webView:didFinishNavigation:]):
(TEST):
2017-10-03 Antti Koivisto <antti@apple.com>
Allow assigning WeakPtr<Derived> to WeakPtr<Base>
https://bugs.webkit.org/show_bug.cgi?id=177817
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::Base::weakPtrFactory):
(TestWebKitAPI::TEST):
2017-10-03 Youenn Fablet <youenn@apple.com>
Remove no longer needed WebRTC build infrastructure
https://bugs.webkit.org/show_bug.cgi?id=177756
Reviewed by Alejandro G. Castro.
* Scripts/generate-libwebrtc-cmake: Removed.
* Scripts/webkitpy/libwebrtc/__init__.py: Removed.
* Scripts/webkitpy/libwebrtc/generate_cmake.py: Removed.
2017-10-03 Joanmarie Diggs <jdiggs@igalia.com>
AX: [ATK] ARIA drag-and-drop attribute values should be exposed via AtkObject attributes
https://bugs.webkit.org/show_bug.cgi?id=177763
Reviewed by Chris Fleizach.
Implement ariaIsGrabbed() and ariaDropEffects() for ATK.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::ariaIsGrabbed const):
(WTR::AccessibilityUIElement::ariaDropEffects const):
2017-10-02 Myles C. Maxfield <mmaxfield@apple.com>
Make WSL demo compatible with Microsoft Edge
https://bugs.webkit.org/show_bug.cgi?id=177643
Reviewed by Saam Barati.
This patch does two things. The first is it migrates a loop over ParentNode.children to a legacy style loop
because Microsoft Edge throws an exception when trying to use a for...of loop with it. This patch also hides
the compilation behind a setTimeout(0) so there is some indication that something is happening during a
compile.
* Tools/WebGPUShadingLanguageRI/index.html:
2017-10-02 Joanmarie Diggs <jdiggs@igalia.com>
AX: [ATK] The value of aria-level is not exposed on non-heading roles
https://bugs.webkit.org/show_bug.cgi?id=177775
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::hierarchicalLevel const):
2017-10-02 Geoffrey Garen <ggaren@apple.com>
WeakPtr should have a move constructor
https://bugs.webkit.org/show_bug.cgi?id=177789
Reviewed by Chris Dumez.
Chris made me write an API test. It wasn't that painful.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
2017-10-02 Filip Pizlo <fpizlo@apple.com>
WSL ^ should be *
https://bugs.webkit.org/show_bug.cgi?id=177705
Rubber stamped by Keith Miller.
When I first wrote the prototype, I thought it would be cool to use ^ for pointers. Nobody agrees. I've
gotten so much feedback to use *. This changes pointers to use *.
* WebGPUShadingLanguageRI/DereferenceExpression.js:
(DereferenceExpression.prototype.toString):
(DereferenceExpression):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/Parse.js:
(parseType):
(parsePossiblePrefix):
* WebGPUShadingLanguageRI/PtrType.js:
(PtrType.prototype.toString):
(PtrType):
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/Test.js:
(tests.simpleDereference):
(tests.dereferenceStore):
(tests.simpleMakePtr):
(tests.loadNull):
(tests.storeNull):
(tests.returnNull):
(tests.dereferenceDefaultNull):
(tests.defaultInitializedNull):
(tests.passNullToPtrMonomorphic):
(tests.passNullToPtrPolymorphic):
(tests.passNullAndNotNull):
(tests.passNullAndNotNullFullPoly):
(tests.passNullAndNotNullFullPolyReverse):
(tests.chainGeneric):
(tests.chainStruct):
(tests.chainStructNewlyValid):
(tests.chainStructDevice):
(tests.paramChainStructDevice):
(tests.simpleProtocolExtends):
(tests.protocolExtendsTwo):
(tests.overrideSubscriptStruct):
(tests.overrideSubscriptStructAndDoStores):
(tests.overrideSubscriptStructAndUsePointers):
(tests.overrideSubscriptStructAndUsePointersIncorrectly):
(tests.makeArrayRefFromPointer):
(tests.nonArrayRefArrayLengthFail):
(tests.constexprIsNotLValuePtr):
(tests.genericAccessors):
(tests.nestedSubscriptLValueEmulationSimple):
(tests.nestedSubscriptLValueEmulationGeneric):
(tests.shaderTypes):
(tests.enumPtrBase):
(tests.mutuallyRecursiveStructWithPointersBroken):
(tests.mutuallyRecursiveStructWithPointers):
(tests.linkedList):
(tests.pointerToPointer):
(tests.pointerGetter):
(tests.operatorCastWithTypeVariableInferredFromReturnType):
(tests.loneSetterPointer):
(tests.anderWithNothingWrong):
(tests.anderWithWrongNumberOfArguments):
(tests.anderDoesntReturnPointer):
(tests.anderDoesntTakeReference):
(tests.anderWithArrayRef):
(tests.pointerIndexGetter):
(tests.loneIndexSetterPointer):
(tests.indexAnderWithNothingWrong):
(tests.indexAnderWithWrongNumberOfArguments):
(tests.indexAnderDoesntReturnPointer):
(tests.indexAnderDoesntTakeReference):
(tests.indexAnderWithArrayRef):
(tests.devicePtrPtr):
(tests.threadgroupPtrPtr):
(tests.constantPtrPtr):
(tests.pointerIndexGetterInProtocol):
(tests.loneIndexSetterPointerInProtocol):
(tests.indexAnderWithNothingWrongInProtocol):
(tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
(tests.indexAnderDoesntReturnPointerInProtocol):
(tests.indexAnderDoesntTakeReferenceInProtocol):
(tests.indexAnderWithArrayRefInProtocol):
(tests.andReturnedArrayRef):
2017-10-02 Filip Pizlo <fpizlo@apple.com>
WSL should be fine with &foo()[i] if foo() returns a []
https://bugs.webkit.org/show_bug.cgi?id=177704
Reviewed by Saam Barati.
Previously, we'd determine if a property access expression (base.field or base[index]) was an lvalue by
asking if its base was an lvalue. This is right in all cases except if the base is of type []. Then, the
property access expression is an lvalue so long as there is a setter or ander.
This fixes the issue and adds a test.
Also, this makes error messages in the case that something is not an lvalue a lot better. If something
is not an lvalue because we could not find anders or setters, then we will tell you why we could not
find them.
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitAssignment):
(Checker.prototype.visitReadModifyWriteExpression):
(Checker.prototype.visitMakePtrExpression):
(Checker.prototype._finishVisitingPropertyAccess):
* WebGPUShadingLanguageRI/DotExpression.js:
(DotExpression.prototype.get fieldName):
(DotExpression.prototype.get isLValue): Deleted.
(DotExpression.prototype.get addressSpace): Deleted.
* WebGPUShadingLanguageRI/IndexExpression.js:
(IndexExpression.prototype.get index):
(IndexExpression.prototype.get isLValue): Deleted.
(IndexExpression.prototype.get addressSpace): Deleted.
* WebGPUShadingLanguageRI/PropertyAccessExpression.js:
(PropertyAccessExpression):
(PropertyAccessExpression.prototype.get isLValue):
(PropertyAccessExpression.prototype.set isLValue):
* WebGPUShadingLanguageRI/PropertyResolver.js:
(PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitMakeArrayRefExpression):
(PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
(PropertyResolver.prototype._visitRValuesWithinLValue):
* WebGPUShadingLanguageRI/Test.js:
(tests.storeNullArrayRef):
(tests.andReturnedArrayRef):
2017-10-02 Wenson Hsieh <wenson_hsieh@apple.com>
Guard iOS webkitGetAsEntry API tests on older iOS versions
Unreviewed test gardening. After r222688, these tests require custom pasteboard data to be enabled by default,
so don't run them against shipping iOS.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2017-10-02 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE][GTK] Crash in webkit_web_resource_get_data_finish()
https://bugs.webkit.org/show_bug.cgi?id=177107
Reviewed by Michael Catanzaro.
Add a test case to check we handle errors when webkit_web_resource_get_data() fails.
* TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
(webViewloadChanged):
(testWebResourceGetDataError):
(beforeAll):
2017-10-02 Alex Christensen <achristensen@webkit.org>
Fix build after r222715
https://bugs.webkit.org/show_bug.cgi?id=177697
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
Use the public API instead of the removed SPI.
2017-10-02 Alex Christensen <achristensen@webkit.org>
REGRESSION(r214201): WebProcess hangs during policy decisions
https://bugs.webkit.org/show_bug.cgi?id=177590
<rdar://problem/33362929>
Reviewed by Andy Estes.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/JavaScriptDuringNavigation.mm: Added.
(-[JSNavigationDelegate webView:didFinishNavigation:]):
(-[JSNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[JSNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[JSNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2017-10-02 Jonathan Bedard <jbedard@apple.com>
Log stack-trace for run-webkit-tests when interrupted
https://bugs.webkit.org/show_bug.cgi?id=176393
<rdar://problem/34262310>
Reviewed by Darin Adler.
When run-webkit-tests is stuck, it is difficult to immediately tell
why. Saving a stack-trace when run-webkit-tests is terminated
or stopped with CNTRL-C will make such issues easier to debug.
* Scripts/webkitpy/common/interupt_debugging.py: Added.
(log_stack_trace): Given a Python frame object, log a stack trace to
the provided file.
(log_stack_trace_on_term): Attach a listener to SIGTERM so that a
stack-trace can be logged when a program is terminated.
(log_stack_trace_on_cntrl_c): Attach a listener to SIGINT so that a
stack-trace can be logged when a program is CNTRL-Ced.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main): Set handlers to log stack trace on interruption.
2017-10-02 Michael Catanzaro <mcatanzaro@igalia.com>
Remove ENABLE_CSS_REGIONS
https://bugs.webkit.org/show_bug.cgi?id=177689
Reviewed by Darin Adler.
* Scripts/webkitperl/FeatureList.pm:
2017-09-30 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Upgrade webkitgtk-test-fonts to version 0.0.7.
This version upgrades liberation fonts to version 2, that has a wider glyph coverage.
* gtk/jhbuild.modules:
2017-09-29 Alex Christensen <achristensen@webkit.org>
Expose WebPreferences::webGLEnabled through WKPreferences
https://bugs.webkit.org/show_bug.cgi?id=177692
<rdar://problem/24110556>
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
(-[AlertSaver alert]):
(-[AlertSaver webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2017-09-29 Alex Christensen <achristensen@webkit.org>
Fix WKWebViewConfigurationPrivate after r222663
https://bugs.webkit.org/show_bug.cgi?id=177644
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm: Added.
(TEST):
2017-09-28 Ryosuke Niwa <rniwa@webkit.org>
Image pasting is not working on tineye.com / gmail.com / GitHub.com due to lack of support for DataTransfer.items
https://bugs.webkit.org/show_bug.cgi?id=170449
<rdar://problem/31432525>
Reviewed by Wenson Hsieh.
Added an API test to paste an image from pasteboard. The test is shared between iOS and macOS.
The tests to paste image files are only enabled on macOS since putting files into pasteboard isn't a thing on iOS.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: Added.
(writeImageDataToPasteboard):
(writeBundleFileToPasteboard):
* TestWebKitAPI/Tests/WebKitCocoa/paste-image.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-100px.tiff: Added.
* TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-200px.png: Added.
* TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-400px.gif: Added.
* TestWebKitAPI/Tests/WebKitCocoa/sunset-in-cupertino-600px.jpg: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Rebaselined the test now that types contain "Files".
2017-09-29 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS WK2] Implement -[WKContentView hasText] for compatibility with the UITextInput protocol
https://bugs.webkit.org/show_bug.cgi?id=177662
<rdar://problem/33410373>
Reviewed by Tim Horton.
Add EditorState API tests to check that the value of -[WKContentView hasText] is correct when editing both plain
and rich text areas.
* TestWebKitAPI/EditingTestHarness.h:
* TestWebKitAPI/EditingTestHarness.mm:
(-[EditingTestHarness insertParagraph]):
(-[EditingTestHarness insertText:]):
(-[EditingTestHarness insertHTML:]):
(-[EditingTestHarness selectAll]):
(-[EditingTestHarness deleteBackwards]):
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
Add versions of EditingTestHarness helpers that don't require us to expect any editor state after executing the
edit command.
(TestWebKitAPI::checkContentViewHasTextWithFailureDescription):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView textInputContentView]):
2017-09-29 Charles Turner <cturner@igalia.com>
Update my status.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2017-09-28 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r222639.
https://bugs.webkit.org/show_bug.cgi?id=177630
Breaks AppleWin build (Requested by dolmstead on #webkit).
Reverted changeset:
"[WinCairo][MiniBrowser] Add ca-bundle to display secure
pages."
https://bugs.webkit.org/show_bug.cgi?id=168486
http://trac.webkit.org/changeset/222639
2017-09-28 Joanmarie Diggs <jdiggs@igalia.com>
AX: [ATK] object:state-changed notifications missing for multiple ARIA attributes
https://bugs.webkit.org/show_bug.cgi?id=177542
Add platform support for the notifications. Also add support for getting the
boolean argument indicating whether the state has been set or unset.
Reviewed by Chris Fleizach.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
2017-09-28 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo][MiniBrowser] Add ca-bundle to display secure pages.
Copy cacert.pem file into bundle directory.
https://bugs.webkit.org/show_bug.cgi?id=168486
Reviewed by Brent Fulgham.
* MiniBrowser/win/CMakeLists.txt:
2017-09-28 Lucas Forschler <lforschler@apple.com>
check in AWS Lambda code used for WebKitArchiveSupport
https://bugs.webkit.org/show_bug.cgi?id=177614
Rubber-stamped by Alexey Proskuryakov.
* WebKitArchiveSupport/lambda: Added.
* WebKitArchiveSupport/lambda/delete-minified-s3-archive-from-dynamodb.py: Added.
(lambda_handler):
* WebKitArchiveSupport/lambda/delete-s3-archive-from-dynamodb.py: Added.
(lambda_handler):
* WebKitArchiveSupport/lambda/register-archive-in-dynamodb.py: Added.
(lambda_handler):
* WebKitArchiveSupport/lambda/register-minified-s3-archive-in-dynamodb.py: Added.
(lambda_handler):
2017-09-28 Jiewen Tan <jiewen_tan@apple.com>
WeakPtrFactory should allow downcasting
https://bugs.webkit.org/show_bug.cgi?id=177389
<rdar://problem/34604174>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::Base::foo):
(TestWebKitAPI::Base::createWeakPtr):
(TestWebKitAPI::Derived::foo):
(TestWebKitAPI::TEST):
2017-09-28 Megan Gardner <megan_gardner@apple.com>
Add debug flag to WebKitTestRunner to show where touches are being generated
https://bugs.webkit.org/show_bug.cgi?id=177583
Reviewed by Tim Horton and Wenson Hsieh.
Add a flag, and the ability to paint a dot where the HIDEventGenerator is creating fake touches to
send through UIKit. This will help in debugging touch tests, because it will be easier to see if
one is actually sending the touches at the locations that they expect. This will help differentiate between
problems in the locations of the touches, and other problems that can come up when writing tests.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* Scripts/webkitpy/port/driver.py:
(Driver.cmd_line):
* WebKitTestRunner/Options.cpp:
(WTR::Options::Options):
(WTR::handleOptionShowTouches):
(WTR::OptionsHandler::OptionsHandler):
* WebKitTestRunner/Options.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
* WebKitTestRunner/TestController.h:
(WTR::TestController::shouldShowTouches const):
* WebKitTestRunner/TestOptions.h:
* WebKitTestRunner/ios/HIDEventGenerator.h:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[DebugTouchView pointInside:withEvent:]):
(-[HIDEventGenerator setShouldShowTouches:]):
(-[HIDEventGenerator initDebugViews]):
(-[HIDEventGenerator updateDebugUI:withPoint:isTouching:]):
(-[HIDEventGenerator _createIOHIDEventWithInfo:]):
(-[HIDEventGenerator _createIOHIDEventType:]):
(-[HIDEventGenerator _updateTouchPoints:count:]):
(-[HIDEventGenerator touchDownAtPoints:touchCount:]):
(-[HIDEventGenerator liftUpAtPoints:touchCount:]):
(-[HIDEventGenerator moveToPoints:touchCount:duration:]):
(-[HIDEventGenerator markerEventReceived:]):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
* WebKitTestRunner/ios/mainIOS.mm:
(-[WebKitTestRunnerApp _runTestController]):
2017-09-28 Mark Lam <mark.lam@apple.com>
[Re-landing] Turn on exception scope verification for JSC tests.
https://bugs.webkit.org/show_bug.cgi?id=162351
<rdar://problem/29563911>
Reviewed by Saam Barati.
Update: I'm re-landing this patch now that test262 exception check validation
failures have been fixed in r222617. testapi still has some validation failures,
but this patch does not affect testapi.
Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
run-jsc-stress-tests. This turns on exception scope verification on JSC test
runs (which currently does not include testapi).
Some stats on time to run JSC stress and mozilla tests:
1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s
The stats shows that (2) and (3) has effectively no time difference. Hence, the
cost of enabling --validateExceptionChecks=true is not significant.
It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
21% slower than (3). To avoid making debug test runs a lot slower, we'll leave
--dumpSimulatedThrows=true off. We can manually add that when we see a regression
and need to debug the issue. Otherwise, we wont pay the price for it.
* Scripts/run-jsc-stress-tests:
2017-09-27 Alex Christensen <achristensen@webkit.org>
Add WKContentRuleList notify action type
https://bugs.webkit.org/show_bug.cgi?id=177013
<rdar://problem/31073936>
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(WebCore::ContentExtensions::operator<<):
(TestWebKitAPI::InMemoryCompiledContentExtension::create):
(TestWebKitAPI::InMemoryCompiledContentExtension::data):
(TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
(TestWebKitAPI::makeBackend):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::actionsEqual):
(TestWebKitAPI::sequenceInstances):
(TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
(TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
(-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
(-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
(-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
(-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(makeWarnContentRuleList):
(TEST):
2017-09-27 Wenson Hsieh <wenson_hsieh@apple.com>
Drag event DataTransfer has unexpected types "dyn.ah62d4..."
https://bugs.webkit.org/show_bug.cgi?id=172526
<rdar://problem/32396081>
Reviewed by Ryosuke Niwa.
Adds new API tests on iOS to cover various cases of using DataTransfer.setData, DataTransfer.getData, and
DataTransfer.types, as well as their interaction with platform objects (source NSItemProviders in the case of
drag and drop, and the general UIPasteboard for copy and paste).
* TestWebKitAPI/PlatformUtilities.h:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html: Added.
Introduce a new API test harness that both drag-and-drop and copy-and-paste tests use to dump DataTransfer's
web-exposed types and values.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkFirstTypeIsPresentAndSecondTypeIsMissing):
(checkJSONWithLogging):
(TestWebKitAPI::TEST):
(checkTypeIdentifierAndIsNotOtherTypeIdentifier): Deleted.
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
(TestWebKitAPI::checkJSONWithLogging):
(TestWebKitAPI::setUpWebViewForPasteboardTests):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm:
(TestWebKitAPI::Util::jsonMatchesExpectedValues):
2017-09-27 Lucas Forschler <lforschler@apple.com>
Add macOS High Sierra and iOS Simulator 11 support to bisect-builds.
https://bugs.webkit.org/show_bug.cgi?id=177578
Reviewed by Alexey Proskuryakov.
* Scripts/bisect-builds:
(minified_platforms):
(unminified_platforms):
2017-09-27 Ryan Haddad <ryanhaddad@apple.com>
Update TestResultsServer for High Sierra queues.
https://bugs.webkit.org/show_bug.cgi?id=177500
Reviewed by Alexey Proskuryakov.
* TestResultServer/static-dashboards/builders.jsonp:
2017-09-27 Lucas Forschler <lforschler@apple.com>
bisect-builds:add a README to the archive.
https://bugs.webkit.org/show_bug.cgi?id=177376
Reviewed by Alexey Proskuryakov & Jon Davis.
* BuildSlaveSupport/built-product-archive:
(addFilesToArchive): refactor function (was previously addLauncherToArchive)
(createZip): Teach function to add the README
(addLauncherToArchive): Deleted. (refactored to addFilesToArchive)
* BuildSlaveSupport/run-webkit-archive: Deleted. (Moved to WebKitArchiveSupport)
* WebKitArchiveSupport: Added.
* WebKitArchiveSupport/README: Added. README which will be packaged up with the archive.
* WebKitArchiveSupport/run-webkit-archive: Added. (Moved from BuildSlaveSupport)
2017-09-26 Tim Horton <timothy_horton@apple.com>
Mac CMake bot should provide verbose build output
https://bugs.webkit.org/show_bug.cgi?id=177512
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/config.json:
It's hard to diagnose weird bot-only build problems without the
full verbose build output, so turn that on. The Xcode builders
do it too, so why not CMake!
2017-09-26 Tim Horton <timothy_horton@apple.com>
Make it possible to easily get verbose ninja output from build-webkit
https://bugs.webkit.org/show_bug.cgi?id=177511
Reviewed by Sam Weinig.
* Scripts/build-webkit:
Add a -v/--verbose argument to build-webkit, which sets the environment
variable VERBOSE=1, which buildCMakeGeneratedProject already checks.
* Scripts/webkitdirs.pm:
(buildCMakeGeneratedProject):
Add ninja verbosity arguments to @makeArgs, which are appended
after the -- and thus handed to ninja; the previous implementation
(appending to @args) would only work if @makeArgs was non-empty and thus
the -- was included.
2017-09-26 Said Abou-Hallawa <sabouhallawa@apple.com>
Followup (r222427): SynchronizedFixedQueue should not have a public constructor
https://bugs.webkit.org/show_bug.cgi?id=177458
Reviewed by Tim Horton.
Fix the definition and the creation of SynchronizedFixedQueue.
* TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
(TestWebKitAPI::ToUpperConverter::ToUpperConverter):
(TestWebKitAPI::ToUpperConverter::startProducing):
(TestWebKitAPI::ToUpperConverter::startConsuming):
(TestWebKitAPI::ToUpperConverter::stopProducing):
(TestWebKitAPI::ToUpperConverter::stopConsuming):
(TestWebKitAPI::ToUpperConverter::enqueueLower):
2017-09-26 Wenson Hsieh <wenson_hsieh@apple.com>
[ios-simulator] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry is failing
https://bugs.webkit.org/show_bug.cgi?id=177271
Reviewed by Tim Horton and Megan Gardner.
Rebaseline a failing API test.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-09-26 Per Arne Vollan <pvollan@apple.com>
Set LF eol-style on Windows shell script, because the script failed on one of the EWS
bots, when it had the 'native' style.
Unreviewed Windows EWS fix.
* EWSTools/start-queue-win.sh: Modified property svn:eol-style.
2017-09-26 Jonathan Bedard <jbedard@apple.com>
webkitpy: Notify parent process when a worker is spawned
https://bugs.webkit.org/show_bug.cgi?id=177467
<rdar://problem/34660194>
Reviewed by Daniel Bates.
When we fork the parent process, there may be resources in that process
which workers will take ownership of. Notify ports when a new worker is created
so that these resources can be correctly managed.
* Scripts/webkitpy/common/message_pool.py:
(_MessagePool._start_workers): After all workers are started, notify the caller
that a worker has been created, unless we are running inline, in which case the
parent process is still the worker.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._handle_did_spawn_worker): Notify the port that a worker process
has been created.
* Scripts/webkitpy/port/base.py:
(Port.did_spawn_worker): Add function so that ports may manage any
resources created on the parent process but managed by the provided worker.
* Scripts/webkitpy/port/device.py:
(Device.release_worker_resources): Call release_worker_resources on the
platform_device if such a function is defined.
* Scripts/webkitpy/port/ios.py:
(IOSPort.did_spawn_worker): Release any worker resources on the iOS
device object associated with the spawned worker.
* Scripts/webkitpy/test/runner.py:
(Runner.handle): Ignore the did_spawn_worker message during testing.
2017-09-26 Jer Noble <jer.noble@apple.com>
Thrown ObjC exception when right clicking on <img> containing mp4 link
https://bugs.webkit.org/show_bug.cgi?id=177370
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.html: Added.
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm: Added.
(-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
(TestWebKitAPI::TEST):
2017-09-26 Per Arne Vollan <pvollan@apple.com>
[Win] 'webkit-patch clean' is failing on bot.
https://bugs.webkit.org/show_bug.cgi?id=177488
Reviewed by Brent Fulgham.
If 'os.remove' throws an exception, catch it.
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.discard_working_directory_changes):
2017-09-25 Frederik Riedel <riedel@apple.com>
Expose way to set values of classified form controls as {Legacy WebKit, WebKit} SPI
https://bugs.webkit.org/show_bug.cgi?id=174394
<rdar://problem/33183504>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: Added.
(-[WKWebView _privateTextInput]): Testing helpers.
(TestWebKitAPI::TEST): Added test cases to test AutoFill for web views.
* TestWebKitAPI/ios/UIKitSPI.h:
2017-09-25 Frederic Wang <fwang@igalia.com>
Change my status to reviewer and reformat with validate-committer-lists
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2017-09-25 Ryan Haddad <ryanhaddad@apple.com>
Add High Sierra bots to buildbot and dashboard.
https://bugs.webkit.org/show_bug.cgi?id=177437
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/config.json: Add High Sierra queues, move Leaks and JSC queues over from Sierra.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Update expected results.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: Add High Sierra.
(WebKitBuildbot):
2017-09-25 Chris Dumez <cdumez@apple.com>
[WK2] Add API to query if a download was user-initiated
https://bugs.webkit.org/show_bug.cgi?id=177435
<rdar://problem/34498422>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
(TestWebKitAPI::decideDestinationWithSuggestedFilename):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[DownloadDelegate _downloadDidStart:]):
(-[DownloadDelegate _downloadDidFinish:]):
(runTest):
(TEST):
(-[BlobDownloadDelegate _downloadDidStart:]):
(-[BlobDownloadDelegate _downloadDidFinish:]):
(-[RedirectedDownloadDelegate _downloadDidStart:]):
(-[RedirectedDownloadDelegate _downloadDidFinish:]):
2017-09-25 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r222455.
https://bugs.webkit.org/show_bug.cgi?id=177460
broke iOS build (Requested by alexchristensen on #webkit).
Reverted changeset:
"Add WKContentRuleList notify action type"
https://bugs.webkit.org/show_bug.cgi?id=177013
http://trac.webkit.org/changeset/222455
2017-09-25 Per Arne Vollan <pvollan@apple.com>
[Win] run-api-tests is failing.
https://bugs.webkit.org/show_bug.cgi?id=177454
Reviewed by Brent Fulgham.
TestWebKit.exe has changed name to TestWebKitLegacy.exe.
* Scripts/run-api-tests:
(testToolPaths):
2017-09-25 Per Arne Vollan <pvollan@apple.com>
[Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
https://bugs.webkit.org/show_bug.cgi?id=177244
Reviewed by Alex Christensen.
The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.
* EWSTools/start-queue-win.sh:
2017-09-25 Alex Christensen <achristensen@webkit.org>
Add WKContentRuleList notify action type
https://bugs.webkit.org/show_bug.cgi?id=177013
<rdar://problem/31073936>
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(WebCore::ContentExtensions::operator<<):
(TestWebKitAPI::InMemoryCompiledContentExtension::create):
(TestWebKitAPI::InMemoryCompiledContentExtension::data):
(TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
(TestWebKitAPI::makeBackend):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::actionsEqual):
(TestWebKitAPI::sequenceInstances):
(TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
(TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
(-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
(-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
(-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
(-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(makeWarnContentRuleList):
(TEST):
2017-09-25 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r222160) [GTK] [Debug] Internal compiler error on the buildbot (huge memory usage by GCC)
https://bugs.webkit.org/show_bug.cgi?id=177223
Reviewed by Carlos Garcia Campos.
When the user environment sets the variable NUMBER_OF_PROCESSORS
this should be passed down to the build system (ninja or make) always.
Playing with the number of this variable is needed when using icecc
(as you usually want to launch more parallel build process than your
number of cores), or when you want to limit the number of parallel
build process for hardware capacity reasons.
* Scripts/build-webkit:
2017-09-24 Fujii Hironori <Hironori.Fujii@sony.com>
[GTK] Incremental builds fail every time Web Inspector icons are removed
https://bugs.webkit.org/show_bug.cgi?id=177349
Reviewed by Carlos Garcia Campos.
Removing GTK WebInspector image files always breaks the GTK and
WPE ports incremental builds.
* Scripts/webkitdirs.pm:
(shouldRemoveCMakeCache): Check the timestamp of
Source/WebInspectorUI/UserInterface/Images/gtk directory if
isGtk() or isWPE().
2017-09-24 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] Object attributes are missing for ARIA live region roles
https://bugs.webkit.org/show_bug.cgi?id=171174
Reviewed by Chris Fleizach.
Add support for testing property values for AXARIALive, AXARIAAtomic, and
AXARIARelevant. Also add handling for testing whether AXElementBusy is
"supported" (in ATK, busy is a state and is supported on all elements
regardless of whether the state is present or absent from the state set).
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSupported):
2017-09-23 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed Mac CMake build fixup after r222194
* DumpRenderTree/PlatformMac.cmake:
2017-09-22 Zalan Bujtas <zalan@apple.com>
WeakPtrFactory should populate m_ref lazily.
https://bugs.webkit.org/show_bug.cgi?id=177375
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
2017-09-22 Filip Pizlo <fpizlo@apple.com>
WSL should report an error if you try to create an operator overload that will never be called
https://bugs.webkit.org/show_bug.cgi?id=177092
Reviewed by JF Bastien.
This adds all kinds of checks to ensure that your operator overloads make sense. This adds all
kinds of tests for those checks.
In the process of writing those tests, I hit an awesome bug: function instantiation was
instantiating all types, which meant that if that instantiated function needed to resolve calls
to protocol functions, we'd fail because we would have cloned top-level struct types. We need
to preserve the uninstantiated argument types, type arguments, and return type (for casts) in
order to be able to resolve protocol calls. But we also need the instantiated version of the
type arguments for execution. So, this adds some more stuff to the CallExpression class.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/ArrayRefType.js:
(ArrayRefType.prototype.unifyImpl):
* WebGPUShadingLanguageRI/ArrayType.js:
(ArrayType.prototype.get isArray):
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.resolve):
(CallExpression.prototype.resolve):
(CallExpression.prototype.resolveToOverload):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype._checkOperatorOverload):
(Checker.prototype.visitFuncDef):
(Checker.prototype.visitProtocolDecl):
(Checker.prototype.visitMakeArrayRefExpression):
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype._createEPtr):
* WebGPUShadingLanguageRI/EPtr.js:
(EPtr):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype._snapshot):
(Evaluator.prototype._runBody):
(Evaluator.prototype.visitFunctionLikeBlock):
(Evaluator.prototype.visitCallExpression):
(Evaluator):
(Evaluator.prototype.runFunc): Deleted.
* WebGPUShadingLanguageRI/ExternalOrigin.js: Added.
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.toDeclString):
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
(FuncInstantiator.prototype.getUnique.InstantiationInstantiateImmediates.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationInstantiateImmediates):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/LateChecker.js:
(LateChecker.prototype.visitReferenceType):
(LateChecker.prototype._checkShaderType):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer._textIsIdentifierImpl):
(Lexer.textIsIdentifier):
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/Parse.js:
(parseType.getAddressSpace):
(parseType):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/PtrType.js:
(PtrType.prototype.unifyImpl):
* WebGPUShadingLanguageRI/ReferenceType.js:
(ReferenceType):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitReferenceType):
(Rewriter.prototype.processDerivedCallData):
* WebGPUShadingLanguageRI/StandardLibrary.js:
(intToString):
* WebGPUShadingLanguageRI/StatementCloner.js:
(StatementCloner.prototype.visitFuncDef):
* WebGPUShadingLanguageRI/StructLayoutBuilder.js:
(StructLayoutBuilder.prototype.visitCallExpression):
(StructLayoutBuilder):
* WebGPUShadingLanguageRI/Substitution.js:
(Substitution.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(checkNumber):
(set target):
(tests.literalBool):
(tests.identityBool):
(tests.intSimpleMath):
(tests.uintSimpleMath):
(tests.uint8SimpleMath):
(tests.equality):
(tests.logicalNegation):
(tests.notEquality):
(tests.equalityTypeFailure):
(tests.generalNegation):
(tests.add1):
(tests.simpleGeneric):
(tests.nameResolutionFailure):
(tests.simpleVariable):
(tests.simpleAssignment):
(tests.simpleDefault):
(tests.simpleDereference):
(tests.dereferenceStore):
(tests.simpleMakePtr):
(tests.threadArrayLoad):
(tests.threadArrayLoadIntLiteral):
(tests.deviceArrayLoad):
(tests.threadArrayStore):
(tests.deviceArrayStore):
(tests.deviceArrayStoreIntLiteral):
(tests.simpleProtocol):
(tests.typeMismatchReturn):
(tests.typeMismatchVariableDecl):
(tests.typeMismatchAssignment):
(tests.typeMismatchReturnParam):
(tests.badAdd):
(tests.lexerKeyword):
(tests.simpleNoReturn):
(tests.simpleUnreachableCode):
(tests.simpleStruct):
(tests.genericStructInstance):
(tests.doubleGenericCallsDoubleGeneric):
(tests.doubleGenericCallsSingleGeneric):
(tests.loadNull):
(tests.storeNull):
(tests.returnNull):
(tests.dereferenceDefaultNull):
(tests.defaultInitializedNull):
(tests.passNullToPtrMonomorphic):
(tests.passNullToPtrPolymorphic):
(tests.passNullToPolymorphic):
(tests.loadNullArrayRef):
(tests.storeNullArrayRef):
(tests.returnNullArrayRef):
(tests.dereferenceDefaultNullArrayRef):
(tests.defaultInitializedNullArrayRef):
(tests.defaultInitializedNullArrayRefIntLiteral):
(tests.passNullToPtrMonomorphicArrayRef):
(tests.passNullToPtrPolymorphicArrayRef):
(tests.returnIntLiteralUint):
(tests.returnIntLiteralDouble):
(tests.badIntLiteralForInt):
(tests.badIntLiteralForUint):
(tests.badIntLiteralForDouble):
(tests.passNullAndNotNull):
(tests.passNullAndNotNullFullPoly):
(tests.passNullAndNotNullFullPolyReverse):
(tests.nullTypeVariableUnify):
(tests.doubleNot):
(tests.simpleRecursion):
(tests.protocolMonoSigPolyDef):
(tests.protocolPolySigPolyDef):
(tests.protocolDoublePolySigDoublePolyDef):
(tests.protocolDoublePolySigDoublePolyDefExplicit):
(tests.variableShadowing):
(tests.ifStatement):
(tests.ifElseStatement):
(tests.ifElseIfStatement):
(tests.ifElseIfElseStatement):
(tests.returnIf):
(tests.simpleWhile):
(tests.protocolMonoPolySigDoublePolyDefExplicit):
(tests.ambiguousOverloadSimple):
(tests.ambiguousOverloadOverlapping):
(tests.ambiguousOverloadTieBreak):
(tests.intOverloadResolution):
(tests.intOverloadResolutionReverseOrder):
(tests.intOverloadResolutionGeneric):
(tests.intLiteralGeneric):
(tests.intLiteralGenericWithProtocols):
(tests.uintLiteralGeneric):
(tests.uintLiteralGenericWithProtocols):
(tests.intLiteralGenericSpecific):
(tests.simpleConstexpr):
(tests.break):
(tests.continue):
(tests.doWhile):
(tests.forLoop):
(tests.chainConstexpr):
(tests.chainGeneric):
(tests.chainStruct):
(tests.chainStructNewlyValid):
(tests.chainStructDevice):
(tests.paramChainStructDevice):
(tests.simpleProtocolExtends):
(tests.protocolExtendsTwo):
(tests.prefixPlusPlus):
(tests.prefixPlusPlusResult):
(tests.postfixPlusPlus):
(tests.postfixPlusPlusResult):
(tests.prefixMinusMinus):
(tests.prefixMinusMinusResult):
(tests.postfixMinusMinus):
(tests.postfixMinusMinusResult):
(tests.plusEquals):
(tests.plusEqualsResult):
(tests.minusEquals):
(tests.minusEqualsResult):
(tests.timesEquals):
(tests.timesEqualsResult):
(tests.divideEquals):
(tests.divideEqualsResult):
(tests.twoIntLiterals):
(tests.unifyDifferentLiterals):
(tests.unifyDifferentLiteralsBackwards):
(tests.unifyVeryDifferentLiterals):
(tests.unifyVeryDifferentLiteralsBackwards):
(tests.assignUintToInt):
(tests.buildArrayThenSumIt):
(tests.buildArrayThenSumItUsingArrayReference):
(tests.overrideSubscriptStruct):
(tests.overrideSubscriptStructAndDoStores):
(tests.overrideSubscriptStructAndUsePointers):
(tests.overrideSubscriptStructAndUsePointersIncorrectly):
(tests.makeArrayRefFromLocal):
(tests.makeArrayRefFromPointer):
(tests.makeArrayRefFromArrayRef):
(tests.simpleLength):
(tests.nonArrayRefArrayLengthSucceed):
(tests.nonArrayRefArrayLengthFail):
(tests.constexprIsNotLValuePtr):
(tests.constexprIsNotLValueAssign):
(tests.constexprIsNotLValueRMW):
(tests.assignLength):
(tests.assignLengthHelper):
(tests.simpleGetter):
(tests.simpleSetter):
(tests.genericAccessors):
(tests.bitSubscriptAccessor):
(tests.nestedSubscriptLValueEmulationSimple):
(tests.nestedSubscriptLValueEmulationGeneric):
(tests.boolBitAnd):
(tests.boolBitOr):
(tests.boolBitXor):
(tests.boolBitNot):
(tests.intBitAnd):
(tests.intBitOr):
(tests.intBitXor):
(tests.intBitNot):
(tests.intLShift):
(tests.intRShift):
(tests.uintBitAnd):
(tests.uintBitOr):
(tests.uintBitXor):
(tests.uintBitNot):
(tests.uintLShift):
(tests.uintRShift):
(tests.uint8BitAnd):
(tests.uint8BitOr):
(tests.uint8BitXor):
(tests.uint8BitNot):
(tests.uint8LShift):
(tests.uint8RShift):
(tests.floatMath):
(tests.genericCastInfer):
(tests.booleanMath):
(tests.typedefArray):
(tests.shaderTypes):
(tests.builtinVectors):
(tests.instantiateStructInStruct):
(tests.instantiateStructInStructWithInt2):
(tests.simpleEnum):
(tests.enumWithManualValues):
(tests.enumWithoutZero):
(tests.enumDuplicates):
(tests.enumWithSomeManualValues):
(tests.enumConstexprGenericFunction):
(tests.enumConstexprGenericStruct):
(tests.trap):
(tests.swizzle):
(tests.enumWithExplicitIntBase):
(tests.enumWithUintBase):
(tests.enumFloatBase):
(tests.enumPtrBase):
(tests.enumArrayRefBase):
(tests.emptyStruct):
(tests.enumStructBase):
(tests.enumNoMembers):
(tests.simpleSwitch):
(tests.exhaustiveUint8Switch):
(tests.notQuiteExhaustiveUint8Switch):
(tests.notQuiteExhaustiveUint8SwitchWithDefault):
(tests.switchFallThrough):
(tests.switchBreak):
(tests.enumSwitchBreakExhaustive):
(tests.enumSwitchBreakNotQuiteExhaustive):
(tests.enumSwitchBreakNotQuiteExhaustiveWithDefault):
(tests.simpleRecursiveStruct):
(tests.mutuallyRecursiveStruct):
(tests.mutuallyRecursiveStructWithPointersBroken):
(tests.mutuallyRecursiveStructWithPointers):
(tests.linkedList):
(tests.pointerToPointer):
(tests.arrayRefToArrayRef):
(tests.pointerGetter):
(tests.loneSetter):
(tests.setterWithMismatchedType):
(tests.setterWithMatchedType):
(tests.operatorWithUninferrableTypeVariable):
(tests.operatorWithoutUninferrableTypeVariable):
(tests.operatorCastWithUninferrableTypeVariable):
(tests.operatorCastWithTypeVariableInferredFromReturnType):
(tests.incWrongArgumentLength):
(tests.decWrongArgumentLength):
(tests.incWrongTypes):
(tests.decWrongTypes):
(tests.plusWrongArgumentLength):
(tests.minusWrongArgumentLength):
(tests.timesWrongArgumentLength):
(tests.divideWrongArgumentLength):
(tests.moduloWrongArgumentLength):
(tests.bitAndWrongArgumentLength):
(tests.bitOrWrongArgumentLength):
(tests.bitXorWrongArgumentLength):
(tests.lShiftWrongArgumentLength):
(tests.rShiftWrongArgumentLength):
(tests.bitNotWrongArgumentLength):
(tests.equalsWrongArgumentLength):
(tests.lessThanWrongArgumentLength):
(tests.lessEqualWrongArgumentLength):
(tests.greaterWrongArgumentLength):
(tests.greaterEqualWrongArgumentLength):
(tests.equalsWrongReturnType):
(tests.notEqualsOverload):
(tests.lessThanWrongReturnType):
(tests.lessEqualWrongReturnType):
(tests.greaterThanWrongReturnType):
(tests.greaterEqualWrongReturnType):
(tests.dotOperatorWrongArgumentLength):
(tests.dotOperatorSetterWrongArgumentLength):
(tests.loneSetterPointer):
(tests.setterWithNoGetterOverload):
(tests.setterWithNoGetterOverloadFixed):
(tests.anderWithNothingWrong):
(tests.anderWithWrongNumberOfArguments):
(tests.anderDoesntReturnPointer):
(tests.anderDoesntTakeReference):
(tests.anderWithArrayRef):
(tests.pointerIndexGetter):
(tests.loneIndexSetter):
(tests.notLoneIndexSetter):
(tests.indexSetterWithMismatchedType):
(tests.indexOperatorWrongArgumentLength):
(tests.indexOperatorSetterWrongArgumentLength):
(tests.loneIndexSetterPointer):
(tests.indexSetterWithNoGetterOverload):
(tests.indexSetterWithNoGetterOverloadFixed):
(tests.indexAnderWithNothingWrong):
(tests.indexAnderWithWrongNumberOfArguments):
(tests.indexAnderDoesntReturnPointer):
(tests.indexAnderDoesntTakeReference):
(tests.indexAnderWithArrayRef):
(tests.devicePtrPtr):
(tests.threadgroupPtrPtr):
(tests.constantPtrPtr):
(tests.pointerIndexGetterInProtocol):
(tests.loneIndexSetterInProtocol):
(tests.notLoneIndexSetterInProtocol):
(tests.indexSetterWithMismatchedTypeInProtocol):
(tests.indexOperatorWrongArgumentLengthInProtocol):
(tests.indexOperatorSetterWrongArgumentLengthInProtocol):
(tests.loneIndexSetterPointerInProtocol):
(tests.indexSetterWithNoGetterOverloadInProtocol):
(tests.indexSetterWithNoGetterOverloadFixedInProtocol):
(tests.indexAnderWithNothingWrongInProtocol):
(tests.indexAnderWithWrongNumberOfArgumentsInProtocol):
(tests.indexAnderDoesntReturnPointerInProtocol):
(tests.indexAnderDoesntTakeReferenceInProtocol):
(tests.indexAnderWithArrayRefInProtocol):
(doTest):
(this.window.let._.of.doTest):
(TEST_literalBool): Deleted.
(TEST_identityBool): Deleted.
(TEST_intSimpleMath): Deleted.
(TEST_uintSimpleMath): Deleted.
(TEST_uint8SimpleMath): Deleted.
(TEST_equality): Deleted.
(TEST_logicalNegation): Deleted.
(TEST_notEquality): Deleted.
(TEST_equalityTypeFailure): Deleted.
(): Deleted.
(TEST_add1): Deleted.
(TEST_simpleGeneric): Deleted.
(TEST_nameResolutionFailure): Deleted.
(TEST_simpleAssignment): Deleted.
(TEST_simpleDefault): Deleted.
(TEST_simpleDereference): Deleted.
(TEST_dereferenceStore): Deleted.
(TEST_simpleMakePtr): Deleted.
(TEST_threadArrayLoad): Deleted.
(TEST_threadArrayLoadIntLiteral): Deleted.
(TEST_deviceArrayLoad): Deleted.
(TEST_threadArrayStore): Deleted.
(TEST_deviceArrayStore): Deleted.
(TEST_deviceArrayStoreIntLiteral): Deleted.
(TEST_simpleProtocol): Deleted.
(TEST_typeMismatchReturn): Deleted.
(TEST_simpleNoReturn): Deleted.
(TEST_genericStructInstance): Deleted.
(TEST_doubleGenericCallsDoubleGeneric): Deleted.
(TEST_doubleGenericCallsSingleGeneric): Deleted.
(TEST_dereferenceDefaultNull): Deleted.
(TEST_dereferenceDefaultNullArrayRef): Deleted.
(TEST_returnIntLiteralDouble): Deleted.
(TEST_badIntLiteralForInt): Deleted.
(TEST_passNullAndNotNullFullPoly): Deleted.
(TEST_passNullAndNotNullFullPolyReverse): Deleted.
(TEST_nullTypeVariableUnify.recurse): Deleted.
(TEST_nullTypeVariableUnify.everyOrder): Deleted.
(TEST_nullTypeVariableUnify.everyPair): Deleted.
(TEST_nullTypeVariableUnify): Deleted.
(TEST_simpleRecursion): Deleted.
(TEST_protocolPolySigPolyDef): Deleted.
(TEST_protocolDoublePolySigDoublePolyDef): Deleted.
(TEST_protocolDoublePolySigDoublePolyDefExplicit): Deleted.
(TEST_variableShadowing): Deleted.
(TEST_ifStatement): Deleted.
(TEST_ifElseStatement): Deleted.
(TEST_ifElseIfStatement): Deleted.
(TEST_ifElseIfElseStatement): Deleted.
(TEST_returnIf): Deleted.
(TEST_simpleWhile): Deleted.
(TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
(TEST_intOverloadResolution): Deleted.
(TEST_intOverloadResolutionReverseOrder): Deleted.
(TEST_intOverloadResolutionGeneric): Deleted.
(TEST_intLiteralGeneric): Deleted.
(TEST_intLiteralGenericWithProtocols): Deleted.
(TEST_uintLiteralGeneric): Deleted.
(TEST_uintLiteralGenericWithProtocols): Deleted.
(TEST_intLiteralGenericSpecific): Deleted.
(TEST_simpleConstexpr): Deleted.
(TEST_break): Deleted.
(TEST_forLoop): Deleted.
(TEST_chainConstexpr): Deleted.
(TEST_chainGeneric): Deleted.
(TEST_chainStruct): Deleted.
(TEST_chainStructNewlyValid): Deleted.
(TEST_chainStructDevice): Deleted.
(TEST_paramChainStructDevice): Deleted.
(TEST_simpleProtocolExtends): Deleted.
(TEST_protocolExtendsTwo): Deleted.
(TEST_prefixPlusPlus): Deleted.
(TEST_prefixPlusPlusResult): Deleted.
(TEST_postfixPlusPlus): Deleted.
(TEST_postfixPlusPlusResult): Deleted.
(TEST_prefixMinusMinus): Deleted.
(TEST_prefixMinusMinusResult): Deleted.
(TEST_postfixMinusMinus): Deleted.
(TEST_postfixMinusMinusResult): Deleted.
(TEST_plusEquals): Deleted.
(TEST_plusEqualsResult): Deleted.
(TEST_minusEquals): Deleted.
(TEST_minusEqualsResult): Deleted.
(TEST_timesEquals): Deleted.
(TEST_timesEqualsResult): Deleted.
(TEST_divideEquals): Deleted.
(TEST_divideEqualsResult): Deleted.
(TEST_twoIntLiterals): Deleted.
(TEST_unifyDifferentLiterals): Deleted.
(TEST_buildArrayThenSumItUsingArrayReference): Deleted.
(TEST_overrideSubscriptStruct): Deleted.
(TEST_overrideSubscriptStructAndDoStores): Deleted.
(TEST_overrideSubscriptStructAndUsePointers): Deleted.
(TEST_overrideSubscriptStructAndUsePointersIncorrectly): Deleted.
(TEST_makeArrayRefFromPointer): Deleted.
(TEST_makeArrayRefFromArrayRef): Deleted.
(TEST_nonArrayRefArrayLengthSucceed): Deleted.
(TEST_nonArrayRefArrayLengthFail): Deleted.
(TEST_simpleSetter): Deleted.
(TEST_genericAccessors): Deleted.
(TEST_bitSubscriptAccessor): Deleted.
(TEST_nestedSubscriptLValueEmulationSimple): Deleted.
(TEST_nestedSubscriptLValueEmulationGeneric): Deleted.
(TEST_boolBitAnd): Deleted.
(TEST_boolBitOr): Deleted.
(TEST_boolBitXor): Deleted.
(TEST_boolBitNot): Deleted.
(TEST_intBitAnd): Deleted.
(TEST_intBitOr): Deleted.
(TEST_intBitXor): Deleted.
(TEST_intBitNot): Deleted.
(TEST_intLShift): Deleted.
(TEST_intRShift): Deleted.
(TEST_uintBitAnd): Deleted.
(TEST_uintBitOr): Deleted.
(TEST_uintBitXor): Deleted.
(TEST_uintBitNot): Deleted.
(TEST_uintLShift): Deleted.
(TEST_uintRShift): Deleted.
(TEST_uint8BitAnd): Deleted.
(TEST_uint8BitOr): Deleted.
(TEST_uint8BitXor): Deleted.
(TEST_uint8BitNot): Deleted.
(TEST_uint8LShift): Deleted.
(TEST_uint8RShift): Deleted.
(TEST_floatMath): Deleted.
(TEST_booleanMath): Deleted.
(TEST_typedefArray): Deleted.
(TEST_shaderTypes): Deleted.
(TEST_instantiateStructInStruct): Deleted.
(TEST_instantiateStructInStructWithInt2): Deleted.
(TEST_simpleEnum): Deleted.
(TEST_enumWithManualValues): Deleted.
(TEST_enumWithoutZero): Deleted.
(TEST_enumConstexprGenericFunction): Deleted.
(TEST_enumConstexprGenericStruct): Deleted.
(TEST_trap): Deleted.
(TEST_enumWithExplicitIntBase): Deleted.
(TEST_enumWithUintBase): Deleted.
(TEST_enumFloatBase): Deleted.
(TEST_enumStructBase): Deleted.
(TEST_simpleSwitch): Deleted.
(TEST_exhaustiveUint8Switch): Deleted.
(TEST_notQuiteExhaustiveUint8Switch): Deleted.
(TEST_switchFallThrough): Deleted.
(TEST_switchBreak): Deleted.
(TEST_enumSwitchBreakExhaustive): Deleted.
(TEST_enumSwitchBreakNotQuiteExhaustive): Deleted.
(TEST_simpleRecursiveStruct): Deleted.
(TEST_linkedList): Deleted.
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.get isArray):
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.wrap):
* WebGPUShadingLanguageRI/TypeVariableTracker.js:
(TypeVariableTracker.prototype.set get return):
(TypeVariableTracker.prototype.visitVariableRef):
(TypeVariableTracker):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/index.html:
2017-09-22 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r222394.
This broke the Windows Debug Build.
Reverted changeset:
"Remove build-webkit's notion of feature flags having a
default value"
https://bugs.webkit.org/show_bug.cgi?id=177338
http://trac.webkit.org/changeset/222394
2017-09-22 Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
Remove build-webkit's notion of feature flags having a default value
https://bugs.webkit.org/show_bug.cgi?id=177338
Reviewed by Alex Christensen.
Delegate feature flag default values to the build system.
(FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Factory.__init__):
Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
bots instead of --default-cmake-features.
* Scripts/build-webkit:
(cMakeArgsFromFeatures):
Default feature values to 'undef'.
Remove the --default-cmake-features argument; it is now the default.
Add --no-experimental-features to replace it.
Stop printing the default feature flag value in the help.
Avoid propagating undefined values to the build system;
only mention flags that are overridden on the command line.
This has the nice side effect of using the default CMake features
for CMake builds, but still allowing toggling of them using the
prettier --FEATURE and --no-FEATURE arguments.
* Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):
No longer need to suppress CMake warnings about unused arguments.
* Scripts/webkitperl/FeatureList.pm:
Remove the default values from the feature list.
2017-09-21 Joseph Pecoraro <pecoraro@apple.com>
Unreviewed, add the ability to skip a test262 test.
* Scripts/run-jsc-stress-tests:
Other handlers have :skip but a few didn't.
2017-09-21 Ryan Haddad <ryanhaddad@apple.com>
Change architecture for ios-ews queue to arm64.
https://bugs.webkit.org/show_bug.cgi?id=177332
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/ews.json:
2017-09-21 Tim Horton <timothy_horton@apple.com>
Use 'ninja' from the SDK if it exists
https://bugs.webkit.org/show_bug.cgi?id=177330
Reviewed by Alex Christensen.
* Scripts/webkitdirs.pm:
(canUseNinja):
Check for ninja with xcrun in addition to commandExists() for Cocoa platforms.
(generateBuildSystemFromCMakeProject):
(canUseNinjaGenerator): Deleted.
Remove canUseNinjaGenerator; as noted in bug 177057, the Ninja generator
is available in all versions of CMake supported by WebKit.
2017-09-21 Chris Dumez <cdumez@apple.com>
Regression(r222308): new API tests are failing for !NETWORK_SESSION
https://bugs.webkit.org/show_bug.cgi?id=177321
Reviewed by Alex Christensen.
Unskip API tests now that they pass everywhere.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
2017-09-21 Filip Pizlo <fpizlo@apple.com>
Unreviewed, fix ability to run tests in browser.
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/index.html:
2017-09-21 Jonathan Bedard <jbedard@apple.com>
webkitpy: Ignore failure to get updated selenium version
https://bugs.webkit.org/show_bug.cgi?id=177205
<rdar://problem/34531669>
Reviewed by Lucas Forschler.
Sometime asking PyPI for the latest version of Selenium fails. We should try and
fallback to, at a minimum, version 3.5.0 or a newer installed version.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.greater_than_equal_to_version): Return true if the second
version string is greater than or equal to the first version string.
(AutoinstallImportHook._install_selenium): If we can't get the latest PyPI url,
fallback to version 3.5.0 or a newer installed version.
2017-09-21 Filip Pizlo <fpizlo@apple.com>
WSL should have some post-instantiation type checking
https://bugs.webkit.org/show_bug.cgi?id=177303
Reviewed by Keith Miller.
This patch removes the Primitive protocol! Yay!
The Primitive protocol was an attempt to handle the fact that Metal wouldn't allow us to point a
non-thread pointer at data structures that have pointers. This type checking rule interacts badly with
generics. I was able to get it to mostly work by making Primitive into a dynamic protocol - a type
belongs to it if it happens to be isPrimitive.
But that was a mistake, since it makes it hard to create pointers that are generic over address space.
Also, it's not an appropriate rule for targeting SPIR-V logical mode. That rule will be different, and
possibly more complicated.
All of these kinds of rules are easier to implement of we run them after instantiation, since then they
don't get in the way of generics. That's what this patch does.
This means that we get all of the same type checking power as before, and we still can catch the errors
that Metal requires us to check for. It's easier to do those checks now.
Finally, this removes the shader type checker's incomplete reimplementation of isPrimitive (which was
called NonNumericSearcher). The shader type checker calls isPrimitive now.
* WebGPUShadingLanguageRI/AddressSpace.js:
(needsPrimitiveProtocol): Deleted.
(protocolSuffix): Deleted.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype._checkShaderType):
(Checker.prototype._checkShaderType.NonNumericSearcher): Deleted.
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType): Deleted.
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType): Deleted.
(Checker.prototype.visitReferenceType): Deleted.
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
* WebGPUShadingLanguageRI/Inline.js:
(_inlineFunction):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/LateChecker.js: Added.
(LateChecker):
(LateChecker.prototype.visitReferenceType):
(LateChecker.prototype._checkShaderType):
(LateChecker.prototype.visitFuncDef):
* WebGPUShadingLanguageRI/LexerToken.js:
(LexerToken.prototype.get isInternal): Deleted.
* WebGPUShadingLanguageRI/NativeType.js:
(NativeType):
(NativeType.prototype.get name):
(NativeType.prototype.get isPrimitive):
(NativeType.prototype.set isPrimitive):
(NativeType.prototype.toString):
* WebGPUShadingLanguageRI/Parse.js:
(parseNative):
* WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js:
(programWithUnnecessaryThingsRemoved):
* WebGPUShadingLanguageRI/ProtocolDecl.js:
* WebGPUShadingLanguageRI/ReferenceType.js:
(ReferenceType.prototype.get elementType):
(ReferenceType.prototype.get isPrimitive): Deleted.
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/StatementCloner.js:
(StatementCloner.prototype.visitNativeType):
* WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
(synthesizeStructAccessors):
* WebGPUShadingLanguageRI/Test.js:
(TEST_passNullAndNotNullFullPoly):
(TEST_passNullAndNotNullFullPolyReverse):
(TEST_nullTypeVariableUnify):
(TEST_chainStructNewlyValid):
(TEST_chainStructDevice):
(TEST_chainStructInvalid): Deleted.
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.get isPrimitive):
2017-09-21 Chris Dumez <cdumez@apple.com>
Unreviewed, temporarily disable new API tests introduced in r222308 until they pass on El Capitan
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(TEST):
2017-09-21 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r222272.
https://bugs.webkit.org/show_bug.cgi?id=177316
This patch broke builds on some Win EWS bots. (Requested by
perarne on #webkit).
Reverted changeset:
"[Win] Cygwin 64-bit EWS process cannot find Visual Studio
installation."
https://bugs.webkit.org/show_bug.cgi?id=177244
http://trac.webkit.org/changeset/222272
2017-09-21 Filip Pizlo <fpizlo@apple.com>
Unreviewed, fix a bug in the interactive app that was introduced by bad merging.
* WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
(FlattenedStructOffsetGatherer.prototype.visitTypeRef):
(FlattenedStructOffsetGatherer):
* WebGPUShadingLanguageRI/index.html:
2017-09-20 Filip Pizlo <fpizlo@apple.com>
WSL should support switch
https://bugs.webkit.org/show_bug.cgi?id=176978
Reviewed by Keith Miller.
This adds fairly complete support for switch statements. This includes things like verifying
whether or not a default statement is needed. This even works when the programmer lists all of
the values of an integer type.
To test that last part, this patch adds uint8 support. It's easy add it, but of course it
meant adding a lot of tests.
This also fixes enum bugs, since switch does things to enums that we previously didn't test.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitSwitchStatement):
* WebGPUShadingLanguageRI/EnumLiteral.js:
(EnumLiteral.prototype.get valueForSelectedType):
* WebGPUShadingLanguageRI/EnumType.js:
(EnumType.prototype.allValues):
(EnumType.prototype.valuesEqual):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitSwitchStatement):
* WebGPUShadingLanguageRI/Inliner.js:
(Inliner.prototype.visitCallExpression):
(Inliner):
(Inliner.prototype.visitCastExpression): Deleted.
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.):
(Intrinsics):
* WebGPUShadingLanguageRI/LoopChecker.js:
(LoopChecker):
(LoopChecker.prototype.visitFuncDef):
(LoopChecker.prototype.visitWhileLoop):
(LoopChecker.prototype.visitDoWhileLoop):
(LoopChecker.prototype.visitForLoop):
(LoopChecker.prototype.visitSwitchStatement):
(LoopChecker.prototype.visitBreak):
(LoopChecker.prototype.visitContinue):
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.commit):
* WebGPUShadingLanguageRI/Parse.js:
(parseSwitchCase):
(parseSwitchStatement):
(parseStatement):
(parseBlockBody):
(parseBlock):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/ReturnChecker.js:
(ReturnChecker.prototype._mergeReturnStyle):
(ReturnChecker.prototype.visitIfStatement):
(ReturnChecker.prototype.visitWhileLoop):
(ReturnChecker.prototype.visitDoWhileLoop):
(ReturnChecker.prototype.visitForLoop):
(ReturnChecker.prototype.visitSwitchStatement):
(ReturnChecker.prototype.visitContinue):
(ReturnChecker):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitSwitchStatement):
(Rewriter.prototype.visitSwitchCase):
* WebGPUShadingLanguageRI/StandardLibrary.js:
(uint8.operator):
(bool.operator):
(_generateSwizzle):
* WebGPUShadingLanguageRI/SwitchCase.js: Added.
(SwitchCase):
(SwitchCase.prototype.get origin):
(SwitchCase.prototype.get isDefault):
(SwitchCase.prototype.get value):
(SwitchCase.prototype.get body):
(SwitchCase.prototype.toString):
* WebGPUShadingLanguageRI/SwitchStatement.js: Added.
(SwitchStatement):
(SwitchStatement.prototype.get origin):
(SwitchStatement.prototype.get value):
(SwitchStatement.prototype.add):
(SwitchStatement.prototype.get switchCases):
(SwitchStatement.prototype.toString):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(makeUint8):
(makeEnum):
(checkUint8):
(TEST_uint8SimpleMath):
(TEST_equality):
(TEST_notEquality):
(TEST_uint8BitAnd):
(TEST_uint8BitOr):
(TEST_uint8BitXor):
(TEST_uint8BitNot):
(TEST_uint8LShift):
(TEST_uint8RShift):
(TEST_enumWithExplicitIntBase):
(TEST_enumWithUintBase):
(TEST_enumFloatBase):
(TEST_enumStructBase):
(TEST_simpleSwitch):
(TEST_exhaustiveUint8Switch):
(TEST_notQuiteExhaustiveUint8Switch):
(TEST_switchFallThrough):
(TEST_switchBreak):
(TEST_enumSwitchBreakExhaustive):
(TEST_enumSwitchBreakNotQuiteExhaustive):
(doTest):
* WebGPUShadingLanguageRI/UnificationContext.js:
(UnificationContext):
(UnificationContext.prototype.addExtraNode):
(UnificationContext.prototype.get nodes):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/index.html:
2017-09-20 Filip Pizlo <fpizlo@apple.com>
WSL needs a way to verify that structs are not cyclic
https://bugs.webkit.org/show_bug.cgi?id=177044
Reviewed by Myles Maxfield.
This adds a recursive type checking phase. Even before adding this phase, the compiler would
successfully detect recursive types - but at the cost of also rejecting programs that had
recursive types indirectly through pointers. To make both things work, I had to change Visitor
to no longer visit TypeRef.type by default. This resulted in some other changes in a few other
parts of the code that previously relied on that behavior.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CheckRecursiveTypes.js: Added.
(checkRecursiveTypes):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitTypeRef):
(Checker.prototype._checkShaderType.NonNumericSearcher):
(Checker.prototype._checkShaderType):
(Checker.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/RecursiveTypeChecker.js: Added.
(RecursiveTypeChecker):
(RecursiveTypeChecker.prototype.visitFuncDef):
(RecursiveTypeChecker.prototype.visitNativeFunc):
(RecursiveTypeChecker.prototype.visitStructType):
(RecursiveTypeChecker.prototype.visitReferenceType):
(RecursiveTypeChecker.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/StructLayoutBuilder.js:
(StructLayoutBuilder.prototype.visitTypeRef):
(StructLayoutBuilder):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_simpleRecursiveStruct):
* WebGPUShadingLanguageRI/TypeDefResolver.js:
(TypeDefResolver.prototype.visitTypeRef):
(TypeDefResolver):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/index.html:
2017-09-21 Ryan Haddad <ryanhaddad@apple.com>
Update TestResultsServer for iOS 11 queues.
https://bugs.webkit.org/show_bug.cgi?id=177285
Reviewed by Alexey Proskuryakov.
* TestResultServer/static-dashboards/builders.jsonp:
2017-09-21 Alex Christensen <achristensen@webkit.org>
REGRESSION(r221465) WKWebViews without WebGL delegate callbacks crash when WebGL contexts are created
https://bugs.webkit.org/show_bug.cgi?id=177306
<rdar://problem/34351988>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:
(-[WebGLTestDelegate webView:startURLSchemeTask:]):
(-[DelegateWithoutWebGL webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2017-09-20 Joseph Pecoraro <pecoraro@apple.com>
Update test262 tests
https://bugs.webkit.org/show_bug.cgi?id=177220
Reviewed by Saam Barati and Yusuke Suzuki.
* Scripts/import-test262-tests:
- better detect upstream git repository url from import location
- update JSTest test262 resources when importing from repository
- take seconds instead of 20+ minutes to write yaml with --failures
- update "negative" command to only include just the exception type
2017-09-20 Chris Dumez <cdumez@apple.com>
[WK2] Add API to get the redirect chain of a WKDownload
https://bugs.webkit.org/show_bug.cgi?id=176628
<rdar://problem/34338279>
Reviewed by Alex Christensen.
Add API test coverage for the 2 cases:
1. Download started as a download and is redirected while
downloading.
2. Download started as a load and was redirected during the
initial load.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[RedirectedDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[RedirectedDownloadDelegate _downloadDidFinish:]):
(TEST):
2017-09-20 Alex Christensen <achristensen@webkit.org>
Add infrastructure for adding custom headers to requests per website
https://bugs.webkit.org/show_bug.cgi?id=177255
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp: Added.
(shouldRemainUnchanged):
(shouldBeInvalid):
(shouldBecome):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
2017-09-20 Daniel Bates <dabates@apple.com>
Spelling and grammar dots should not overlap
https://bugs.webkit.org/show_bug.cgi?id=177265
<rdar://problem/34556424>
Reviewed by David Hyatt.
Add unit tests for the subdivision algorithm.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp: Added.
(WebCore::operator<<):
(WebCore::operator==):
(TestWebKitAPI::TEST):
2017-09-20 Filip Pizlo <fpizlo@apple.com>
WSL should not type-check functions in the standard library that it does not use
https://bugs.webkit.org/show_bug.cgi?id=177269
Reviewed by JS Bastien.
Once we added all of the swizzling operators, the size of the standard library ballooned to the point
where it's just not practical to compile anything anymore. If you want to compile
"int foo(int x) { return x}" then it will take some ridiculous amount of time (many seconds) because WSL
will have to type check all of those swizzling operators.
This change makes it so that after parsing the whole program, we remove the things that we aren't using.
We can make a really good estimate of what we need even before doing any name resolution. In practice,
this change removes almost all of the things from Program before we get to the hard work of type
checking. That's true because the standard library contains _many_ things and you'd have to try very
hard to use all of them.
This is a 13x speed-up for Test.js. It went from 155 seconds to 12 seconds on my machine.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
(ConstexprTypeParameter.prototype.get origin):
* WebGPUShadingLanguageRI/Intrinsics.js:
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer):
(Lexer.prototype.get originKind):
* WebGPUShadingLanguageRI/LexerToken.js:
(LexerToken.prototype.get lexer):
(LexerToken.prototype.get origin):
(LexerToken.prototype.get originKind):
(LexerToken.prototype.get isInternal):
* WebGPUShadingLanguageRI/NameContext.js:
(isWildcardKind):
(NameContext.prototype.add):
(NameContext.prototype.get let):
(NameContext.prototype.mapFor): Deleted.
* WebGPUShadingLanguageRI/NameFinder.js: Added.
(NameFinder):
(NameFinder.get worklist):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/OriginKind.js: Added.
(isOriginKind):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js: Added.
(programWithUnnecessaryThingsRemoved):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(doTest):
* WebGPUShadingLanguageRI/index.html:
2017-09-20 Alex Christensen <achristensen@webkit.org>
Remove ActionType::CSSDisplayNoneStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=177275
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(WebCore::ContentExtensions::operator<<):
(TestWebKitAPI::testRequest):
(TestWebKitAPI::TEST_F):
2017-09-20 Jonathan Bedard <jbedard@apple.com>
Device iOS 11 builds fail with FileProvider linker errors
https://bugs.webkit.org/show_bug.cgi?id=177272
<rdar://problem/34557680>
Reviewed by David Kilzer.
For iOS device and simulator, the SYSTEM_LIBRARY_DIR should never
be on the framework search path as neither platform should ever link
with Mac frameworks.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
2017-09-20 Alex Christensen <achristensen@webkit.org>
Remove ActionType::InvalidAction
https://bugs.webkit.org/show_bug.cgi?id=177262
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(WebCore::ContentExtensions::operator<<):
2017-09-20 Myles C. Maxfield <mmaxfield@apple.com>
Make a playground where people can try WSL
https://bugs.webkit.org/show_bug.cgi?id=177125
Reviewed by Filip Pizlo.
This patch creates a webpage, index.html, which lets users type in a WSL program and
run it, and see the results.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunction):
* WebGPUShadingLanguageRI/Checker.js:
(Checker):
(Checker.prototype._checkShaderType.NonNumericSearcher):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
(Checker.prototype._checkShaderType):
(Checker.prototype.visitFuncDef):
(Checker.prototype._requireBool):
* WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js: Copied from Tools/WebGPUShadingLanguageRI/CallFunction.js.
(FlattenedStructOffsetGatherer):
(FlattenedStructOffsetGatherer.prototype.get result):
(FlattenedStructOffsetGatherer.prototype.visitReferenceType):
(FlattenedStructOffsetGatherer.prototype.visitField):
(FlattenedStructOffsetGatherer.prototype.visitNativeType):
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.toDeclString):
* WebGPUShadingLanguageRI/Inline.js:
(resolveInlinedFunction):
* WebGPUShadingLanguageRI/NameContext.js:
(NameContext.prototype.get let):
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
(resolveOverloadImpl):
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_shaderTypes):
* WebGPUShadingLanguageRI/index.html: Added.
2017-09-20 Myles C. Maxfield <mmaxfield@apple.com>
[WSL] Restrict vertex and fragment entry points according to WSL.md
https://bugs.webkit.org/show_bug.cgi?id=177253
Reviewed by Filip Pizlo.
Entry points can't have template arguments, and their argument/return types need to be restricted.
* WebGPUShadingLanguageRI/Checker.js:
(Checker):
(Checker.prototype._checkShaderType.NonNumericSearcher):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
(Checker.prototype._checkShaderType):
(Checker.prototype.visitFuncDef):
(Checker.prototype._requireBool):
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.toDeclString):
* WebGPUShadingLanguageRI/Test.js:
(TEST_shaderTypes):
2017-09-20 Per Arne Vollan <pvollan@apple.com>
[Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
https://bugs.webkit.org/show_bug.cgi?id=177244
Reviewed by Alex Christensen.
The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.
* EWSTools/start-queue-win.sh:
2017-09-20 Myles C. Maxfield <mmaxfield@apple.com>
Create vector swizzle operators in WSL's standard library
https://bugs.webkit.org/show_bug.cgi?id=177116
Reviewed by Filip Pizlo.
Because there are 481 possible swizzling operators, StandardLibrary.js generates them
instead of including them by hand.
Adding so many functions slows down the compiler quite a bit.
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/StandardLibrary.js:
(intToString):
(_generateSwizzle):
2017-09-20 Ms2ger <Ms2ger@igalia.com>
[WPE] Update fontconfig to 2.12.4.
https://bugs.webkit.org/show_bug.cgi?id=177228
Reviewed by Carlos Garcia Campos.
* wpe/jhbuild.modules:
* wpe/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS-18.patch: Removed.
2017-09-19 Myles C. Maxfield <mmaxfield@apple.com>
WSL should be able to trap when something fatal happens
https://bugs.webkit.org/show_bug.cgi?id=177110
Reviewed by Filip Pizlo.
WSL programs can include a statement "trap;" which causes the entry
point to immediately return the default value of its return type.
This is implemented by throw/catch and populateDefaultValue().
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/EvaluationCommon.js:
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitTrapStatement):
* WebGPUShadingLanguageRI/Parse.js:
(parseStatement):
* WebGPUShadingLanguageRI/ReturnChecker.js:
(ReturnChecker.prototype.visitTrapStatement):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitTrapStatement):
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
* WebGPUShadingLanguageRI/TrapStatement.js: Copied from Tools/WebGPUShadingLanguageRI/EvaluationCommon.js.
(TrapStatement):
(TrapStatement.prototype.get origin):
(TrapStatement.prototype.toString):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
2017-09-19 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed follow-up to r222229, remove invalid triggers.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2017-09-19 Simon Fraser <simon.fraser@apple.com>
tiled-drawing/tiled-backing-in-window.html fails on Retina displays
https://bugs.webkit.org/show_bug.cgi?id=177113
Reviewed by Tim Horton.
This test removes the view from the window, and then dumps the layer tree, at which point
some layers would report a contentsScale of 2 on Retina displays.
This occurs because WebKitTestRunner overrides the default device scale factor on NSWindow,
but windowless views fall back to [NSScreen mainScreen].backingScaleFactor (in WebViewImpl::intrinsicDeviceScaleFactor()).
Fix by having PlatformWebView::changeWindowScaleIfNeeded() call -_setOverrideDeviceScaleFactor: on the view.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::changeWindowScaleIfNeeded):
2017-09-19 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r215613): Incorrect corners clipping with border-radius
https://bugs.webkit.org/show_bug.cgi?id=176498
<rdar://problem/34112607>
Reviewed by Tim Horton.
Add WebCore API tests for RoundedRect::contains().
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/RoundedRectTests.cpp: Added.
(TestWebKitAPI::layoutRect):
(TestWebKitAPI::TEST):
2017-09-19 Youenn Fablet <youenn@apple.com>
Allow WTF::map to use any class that is iterable and has a size getter
https://bugs.webkit.org/show_bug.cgi?id=177026
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2017-09-19 Ryan Haddad <ryanhaddad@apple.com>
Update bot configuration for iOS 11.
https://bugs.webkit.org/show_bug.cgi?id=177165
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
* 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/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.ios-simulator-10 img.logo): Deleted.
(table.queue-grid tr.platform.ios-10 img.logo): Deleted.
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):
2017-09-19 Filip Pizlo <fpizlo@apple.com>
Primitive protocol should have capital name
https://bugs.webkit.org/show_bug.cgi?id=177097
Reviewed by JF Bastien.
As soon as I started programming in WSL, I found that I preferred to capitalize protocol names. So, my
early decision to call the primitive protocol "primitive" instead of "Primitive" seems absurd now. This
change reverses that decision.
Aesthetically, this is a slight improvement. For example:
struct Bar<T:Primitive> {
Foo<device T^> f;
}
This makes more sense since all of the non-keyword type identifiers are capital.
The one place where this is an aesthetic regression is native primitive typedefs, which now look like:
native Primitive typedef bool;
I'm happy with that tradeoff, since native typedefs are only in the standard library. Users don't see
this.
* WebGPUShadingLanguageRI/AddressSpace.js:
(protocolSuffix):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/NativeType.js:
(NativeType.prototype.toString):
(NativeType):
* WebGPUShadingLanguageRI/Parse.js:
(parseNative):
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/Test.js:
(TEST_passNullAndNotNullFullPoly):
(TEST_passNullAndNotNullFullPolyReverse):
2017-09-18 Filip Pizlo <fpizlo@apple.com>
Cannot put typedefs of templated structs inside structs
https://bugs.webkit.org/show_bug.cgi?id=177123
Reviewed by Michael Saboff.
Ever since I wrote the generic type instantiation code in WSL, it had a bizarre stink to it. I
did not know what it was, until I met this test case:
struct Foo { int2 x; }
The problem was that Type has a getter called instantiatedType, which invoked
InstantiateImmediates. That's great. Where we went wrong was that TypeRef overrode
instantiatedType, and then InstantiateImmediates called TypeRef.instantiatedType from its
visitTypeRef. What a mess. None of that was necessary for anything, and it was just wrong. This
patch fixes it so that:
- Type has an instantiatedType getter, which does InstantiateImmediates. I didn't change this.
This was the only part of the status quo that really made sense.
- TypeRef no longer overrides instantiatedType.
- InstantianteImmediates.prototype.visitTypeRef now does what TypeRef's instantiatedType would
have done.
And voila! This test case passes and so do all of the other test cases.
The reason why that specific test case did not work was that the use of a TypeDef (int2) for
a generic type instantiation (vec2<int>) caused there to be two TypeRef's in a row, sorta like
this, if we could use wrap() to denote a TypeRef that just wrapped another type:
wrap(vec2<int>)
We would call instantiatedType on this monstrosity. Since TypeRef overrode instantiatedType,
we would stop there because that TypeRef has no type arguments - it's just a wrapper. Well,
actually, we'd do something a bit stranger than stopping there - there's more to the story -
but the effect was the same. Now we do InstantiateImmediates, which recursively builds a new
type. This chews through the wrapper and then instantiates the wrapped type, as we want it to.
Also, this approach no longer has the stink. instantiatedType isn't overriden by anyone
anymore!
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/InstantiateImmediates.js:
(InstantiateImmediates.prototype.visitTypeRef):
(InstantiateImmediates.prototype.visitReferenceType): Deleted.
* WebGPUShadingLanguageRI/Test.js:
(TEST_instantiateStructInStructWithInt2):
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.wrap):
(TypeRef.prototype.setTypeAndArguments):
(TypeRef.prototype.toString):
(TypeRef):
(TypeRef.prototype.get instantiatedType): Deleted.
2017-09-19 Per Arne Vollan <pvollan@apple.com>
[Win] WebKit fails to build with 64-bit Perl.
https://bugs.webkit.org/show_bug.cgi?id=177106
Reviewed by Brent Fulgham.
Visual Studio is installed in the 32-bit program files folder.
* Scripts/webkitdirs.pm:
(programFilesPathX86):
(visualStudioInstallDir):
(msBuildInstallDir):
2017-09-18 Filip Pizlo <fpizlo@apple.com>
[WSL] Cannot put templated structs inside structs
https://bugs.webkit.org/show_bug.cgi?id=177120
Reviewed by Myles Maxfield.
It turns out that we still need to instantiate structs even if not passing type arguments,
since its fields may need to be instantiated.
This makes Myles's test case pass. When writing the test case, I encountered parser bugs, and
I fixed them.
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunction):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitReferenceType):
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):
* WebGPUShadingLanguageRI/Parse.js:
(parseSuffixOperator):
(parsePossibleSuffix):
(parsePostIncrement):
* WebGPUShadingLanguageRI/StructType.js:
(StructType.prototype.instantiate):
* WebGPUShadingLanguageRI/Test.js:
(checkNumber):
(checkEnum):
(TEST_instantiateStructInStruct):
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.prototype.get instantiatedType):
(TypeRef.prototype.get isPrimitive):
2017-09-18 Filip Pizlo <fpizlo@apple.com>
WSL should support enum
https://bugs.webkit.org/show_bug.cgi?id=176977
Reviewed by Myles Maxfield.
This implements enum. Enums members are referenced Java-style. For example, if we have an enum like:
enum Bank {
GP,
FP
}
Then you refer to the members by saying Bank.GP and Bank.FP.
Also adds a hack that makes operator- on a literal fold the literal. This fixes two issues:
- Lets you use negative literals in constexprs.
- Means that negative literals also get literal type unification.
WSL's constexpr support is really thin, but I think it's all we really need for now.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitEnumType):
(Checker.prototype.visitEnumLiteral):
* WebGPUShadingLanguageRI/ConstexprFolder.js: Added.
(ConstexprFolder.prototype.visitCallExpression):
(ConstexprFolder.prototype.visitTypeOrVariableRef):
(ConstexprFolder):
* WebGPUShadingLanguageRI/CreateLiteral.js:
(createLiteral.GenericLiteral.prototype.get valueForSelectedType):
(createLiteral.GenericLiteral.prototype.get negConstexpr):
* WebGPUShadingLanguageRI/DoubleLiteral.js:
(let.DoubleLiteral.createLiteral.negConstexpr):
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype.visitEnumLiteral):
* WebGPUShadingLanguageRI/EnumLiteral.js: Added.
(EnumLiteral):
(EnumLiteral.prototype.get member):
(EnumLiteral.prototype.get type):
(EnumLiteral.prototype.get isConstexpr):
(EnumLiteral.prototype.unifyImpl):
(EnumLiteral.prototype.toString):
* WebGPUShadingLanguageRI/EnumMember.js: Added.
(EnumMember):
(EnumMember.prototype.get origin):
(EnumMember.prototype.get name):
(EnumMember.prototype.toString):
* WebGPUShadingLanguageRI/EnumType.js: Added.
(EnumType):
(EnumType.prototype.add):
(EnumType.prototype.get origin):
(EnumType.prototype.get name):
(EnumType.prototype.get baseType):
(EnumType.prototype.get memberNames):
(EnumType.prototype.memberByName):
(EnumType.prototype.get members):
(EnumType.prototype.get memberMap):
(EnumType.prototype.get isPrimitive):
(EnumType.prototype.populateDefaultValue):
(EnumType.prototype.get size):
(EnumType.prototype.toString):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitGenericLiteral):
(Evaluator.prototype.visitEnumLiteral):
* WebGPUShadingLanguageRI/FloatLiteral.js:
(let.FloatLiteral.createLiteral.negConstexpr):
* WebGPUShadingLanguageRI/FoldConstexprs.js: Added.
(foldConstexprs):
* WebGPUShadingLanguageRI/IntLiteral.js:
(let.IntLiteral.createLiteral.negConstexpr):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/Parse.js:
(parseConstexpr):
(parsePossibleSuffix):
(parseEnumMember):
(parseEnumType):
(parse):
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitEnumType):
(Rewriter.prototype.visitEnumMember):
(Rewriter.prototype.visitEnumLiteral):
* WebGPUShadingLanguageRI/StructType.js:
(StructType.prototype.get origin):
(StructType.prototype.instantiate):
* WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Added.
(synthesizeEnumFunctions):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(checkEnum):
(TEST_simpleEnum):
(TEST_enumWithManualValues):
(TEST_enumWithoutZero):
(TEST_enumConstexprGenericFunction):
(TEST_enumConstexprGenericStruct):
* WebGPUShadingLanguageRI/UintLiteral.js:
(let.UintLiteral.createLiteral.negConstexpr):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
2017-09-18 Filip Pizlo <fpizlo@apple.com>
WSL prepare() should cache the parsed standard library
https://bugs.webkit.org/show_bug.cgi?id=177118
Reviewed by Myles Maxfield.
The execution time of Test.js is too damn high!
So I made it 2x faster by caching the parsed standard library.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CloneProgram.js: Added.
(cloneProgram):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
(prepare): Deleted.
* WebGPUShadingLanguageRI/StatementCloner.js: Added.
(StatementCloner.prototype.visitFuncDef):
(StatementCloner.prototype.visitNativeFunc):
(StatementCloner.prototype.visitNativeType):
(StatementCloner.prototype.visitTypeDef):
(StatementCloner.prototype.visitStructType):
(StatementCloner.prototype.visitConstexprTypeParameter):
(StatementCloner.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(doTest):
2017-09-18 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] Rename WebKit target to WebKitLegacy and rename WebKit2 target to WebKit
https://bugs.webkit.org/show_bug.cgi?id=174558
Reviewed by Alex Christensen.
With help from Stephan Szabo, thanks!
* DumpRenderTree/PlatformMac.cmake:
* DumpRenderTree/PlatformWin.cmake:
* DumpRenderTree/win/AccessibilityControllerWin.cpp:
* DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
* DumpRenderTree/win/DumpRenderTree.cpp:
* DumpRenderTree/win/EditingDelegate.h:
* DumpRenderTree/win/EventSender.cpp:
* DumpRenderTree/win/FrameLoadDelegate.cpp:
* DumpRenderTree/win/FrameLoadDelegate.h:
* DumpRenderTree/win/GCControllerWin.cpp:
* DumpRenderTree/win/HistoryDelegate.cpp:
* DumpRenderTree/win/HistoryDelegate.h:
* DumpRenderTree/win/PolicyDelegate.h:
* DumpRenderTree/win/ResourceLoadDelegate.cpp:
* DumpRenderTree/win/ResourceLoadDelegate.h:
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/win/TextInputControllerWin.cpp:
* DumpRenderTree/win/UIDelegate.cpp:
* DumpRenderTree/win/UIDelegate.h:
* DumpRenderTree/win/WorkQueueItemWin.cpp:
* MiniBrowser/gtk/CMakeLists.txt:
* MiniBrowser/mac/CMakeLists.txt:
* MiniBrowser/win/AccessibilityDelegate.cpp:
* MiniBrowser/win/AccessibilityDelegate.h:
* MiniBrowser/win/CMakeLists.txt:
* MiniBrowser/win/Common.cpp:
* MiniBrowser/win/DOMDefaultImpl.h:
* MiniBrowser/win/MiniBrowser.cpp:
* MiniBrowser/win/MiniBrowser.h:
* MiniBrowser/win/MiniBrowserWebHost.cpp:
* MiniBrowser/win/MiniBrowserWebHost.h:
* MiniBrowser/win/PageLoadTestClient.h:
* MiniBrowser/win/PrintWebUIDelegate.cpp:
* MiniBrowser/win/PrintWebUIDelegate.h:
* MiniBrowser/win/ResourceLoadDelegate.cpp:
* MiniBrowser/win/ResourceLoadDelegate.h:
* MiniBrowser/win/WebDownloadDelegate.h:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/Tests/WebKitLegacy/win/ScaleWebView.cpp:
* TestWebKitAPI/Tests/WebKitLegacy/win/WebViewDestruction.cpp:
* TestWebKitAPI/glib/CMakeLists.txt:
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/PlatformGTK.cmake:
* WebKitTestRunner/PlatformWPE.cmake:
2017-09-18 Myles C. Maxfield <mmaxfield@apple.com>
Fill out vector types in WSL's standard library
https://bugs.webkit.org/show_bug.cgi?id=177063
Reviewed by Filip Pizlo.
Now that we have struct types, operator&[], and operator==, fill out a few of the builtin vector types in the
standard library. This patch creates three new types: vec2, vec3, and vec4, each of which takes a type
argument, so you can say vec4<float>. This patch also adds typedefs of int4, uint4, float4, and double4 (along
with their 2- and 3- length siblings).
This patch does not include the swizzling operators, so you can't say float4.yzw.
* WebGPUShadingLanguageRI/StandardLibrary.js:
(operator.T.vec2.T):
(bool.operator.T.Equatable):
(thread.T.operator.T):
(operator.T.vec3.T):
(operator.T.vec4.T):
* WebGPUShadingLanguageRI/Test.js:
(TEST_builtinVectors):
2017-09-18 Myles C. Maxfield <mmaxfield@apple.com>
WSL needs to annotate vertex shaders and fragment shaders
https://bugs.webkit.org/show_bug.cgi?id=177066
Reviewed by Filip Pizlo.
Metal Shading Language requires annotating vertex and fragment shaders, so this information needs to be in
the source WSL file.
* WebGPUShadingLanguageRI/Func.js:
(Func):
(Func.prototype.get shaderType):
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef):
* WebGPUShadingLanguageRI/NativeFunc.js:
(NativeFunc):
* WebGPUShadingLanguageRI/Parse.js:
(parseFuncDecl):
(parseProtocolFuncDecl):
(parseFuncDef):
(parseNativeFunc):
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
(resolveOverloadImpl):
* WebGPUShadingLanguageRI/Test.js:
2017-09-18 Filip Pizlo <fpizlo@apple.com>
WSL should know that constexpr parameters are not lvalues
https://bugs.webkit.org/show_bug.cgi?id=177104
Reviewed by Saam Barati.
This should be an error:
void foo<int x>()
{
x = 42;
}
Previously, it wasn't, because VariableRef always thought that it was an LValue. This patch
teaches the type checker that not all VariableRefs are LValues.
* WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
(ConstexprTypeParameter.prototype.get varIsLValue):
* WebGPUShadingLanguageRI/FuncParameter.js:
(FuncParameter.prototype.get varIsLValue):
* WebGPUShadingLanguageRI/Test.js:
(TEST_nonArrayRefArrayLengthSucceed):
(TEST_nonArrayRefArrayLengthFail):
(TEST_nonArrayRefArrayLength): Deleted.
(TEST_assignLength): Deleted.
* WebGPUShadingLanguageRI/VariableDecl.js:
(VariableDecl.prototype.get varIsLValue):
* WebGPUShadingLanguageRI/VariableRef.js:
(VariableRef.prototype.get isLValue):
2017-09-18 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r222170.
The API test added with this change is failing.
Reverted changeset:
"Allow WTF::map to use any class that is iterable and has a
size getter"
https://bugs.webkit.org/show_bug.cgi?id=177026
http://trac.webkit.org/changeset/222170
2017-09-18 Myles C. Maxfield <mmaxfield@apple.com>
Add a section in WSL's documentation about how API objects and WSL interact
https://bugs.webkit.org/show_bug.cgi?id=177089
Reviewed by Filip Pizlo.
No global variables; entry points accept arguments. Buffers are array references ([]),
and texture and sampler opaque types exist. Data is passed between stages in return
values.
* WebGPUShadingLanguageRI/WSL.md:
2017-09-18 Filip Pizlo <fpizlo@apple.com>
Unreviewed, fix typo.
* WebGPUShadingLanguageRI/WSL.md:
2017-09-18 Filip Pizlo <fpizlo@apple.com>
WSL cannot use typedefs of arrays
https://bugs.webkit.org/show_bug.cgi?id=177061
Reviewed by Saam Barati.
This test case didn't work before because of a missing visit call in Checker.
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/Test.js:
(TEST_typedefArray):
2017-09-18 Youenn Fablet <youenn@apple.com>
Allow WTF::map to use any class that is iterable and has a size getter
https://bugs.webkit.org/show_bug.cgi?id=177026
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2017-09-16 Filip Pizlo <fpizlo@apple.com>
Figure out how WSL will support field overloads like float4.xz and friends
https://bugs.webkit.org/show_bug.cgi?id=177031
Reviewed by JF Bastien.
WSL needs to support getters and setters, so that we can do things like:
float4 vec;
vec.zx = float2(1, 2);
// z = 1, x = 2
There's no way to express this float4.zx returning a pointer to something, since it's doing swizzling.
It could return a crazy smart pointer, but that sounds like a lot of work. So, I decided to go for
lvalue emulation instead.
The idea of lvalue emulation is that when we try to make an lvalue work for an assignment or RMW
operation (like += and friends), we consider the possibility that we have to first load the value using
a getter and then store it with a setter. This patch makes this work recursively, so that this will
work:
float4 vec;
vec.zwx.y = 42;
// now w is 42
This works because we decompose it automatically:
float4 vec;
float3 tmp = vec.zwx;
tmp.y = 42;
vec.zwx = tmp;
This'll work to any depth.
To check if this works, this patch adds two substantial new tests called TEST_genericAccessors() and
TEST_bitSubscriptAccessor(). This tests that this stuff works with a lot of generic types, and that it's
possible to turn integers into bitvectors using subscript overloading. This patch also adds smaller unit
tests also.
Oh, and it's now possible to get an array's length.
* WebGPUShadingLanguageRI/AddressSpace.js:
(needsPrimitiveProtocol):
(protocolSuffix):
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/AnonymousVariable.js: Added.
(AnonymousVariable):
(AnonymousVariable.prototype.get origin):
(AnonymousVariable.prototype.get name):
(AnonymousVariable.prototype.toString):
* WebGPUShadingLanguageRI/ArrayRefType.js:
(ArrayRefType.prototype.argumentForAndOverload):
(ArrayRefType.prototype.argumentTypeForAndOverload):
* WebGPUShadingLanguageRI/ArrayType.js:
(ArrayType.prototype.argumentForAndOverload):
(ArrayType.prototype.argumentTypeForAndOverload):
(ArrayType):
* WebGPUShadingLanguageRI/Assignment.js:
(Assignment):
* WebGPUShadingLanguageRI/CallAssignment.js: Removed.
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.resolve):
(CallExpression.prototype.resolve):
(CallExpression.prototype.resolveToOverload):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProgram):
(Checker.prototype.visitFuncDef):
(Checker.prototype.visitNativeFunc):
(Checker.prototype.visitProtocolDecl):
(Checker.prototype.visitIdentityExpression):
(Checker.prototype.visitReadModifyWriteExpression):
(Checker.prototype.visitAnonymousVariable):
(Checker.prototype.visitMakeArrayRefExpression):
(Checker.prototype._finishVisitingPropertyAccess):
(Checker.prototype.visitDotExpression):
(Checker.prototype.visitIndexExpression):
(Checker.prototype.visitCallExpression):
(Checker):
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitTypeRef): Deleted.
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitVariableRef): Deleted.
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable): Deleted.
(Checker.prototype.visitProtocolDecl.set throw): Deleted.
* WebGPUShadingLanguageRI/CommaExpression.js:
* WebGPUShadingLanguageRI/DotExpression.js:
(DotExpression):
(DotExpression.prototype.get struct):
(DotExpression.prototype.get getFuncName):
(DotExpression.prototype.get andFuncName):
(DotExpression.prototype.get setFuncName):
* WebGPUShadingLanguageRI/EBuffer.js:
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype.visitAnonymousVariable):
(EBufferBuilder.prototype.visitLetExpression): Deleted.
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitIdentityExpression):
(Evaluator.prototype.visitMakePtrExpression):
(Evaluator.prototype.visitAnonymousVariable):
(Evaluator.prototype.visitDotExpression): Deleted.
(Evaluator.prototype.visitLetExpression): Deleted.
* WebGPUShadingLanguageRI/ExpressionFinder.js:
(ExpressionFinder.prototype.visitReadModifyWriteExpression):
(ExpressionFinder.prototype.visitIdentityExpression):
* WebGPUShadingLanguageRI/ForLoop.js:
(ForLoop.prototype.toString):
(ForLoop):
* WebGPUShadingLanguageRI/Func.js:
(Func):
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
(FuncInstantiator.prototype.getUnique.Instantiate):
(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):
* WebGPUShadingLanguageRI/IdentityExpression.js: Added.
(IdentityExpression):
(IdentityExpression.prototype.get target):
(IdentityExpression.prototype.get unifyNode):
(IdentityExpression.prototype.get isConstexpr):
(IdentityExpression.prototype.get isLValue):
(IdentityExpression.prototype.get addressSpace):
(IdentityExpression.prototype.toString):
* WebGPUShadingLanguageRI/IndexExpression.js: Added.
(IndexExpression):
(IndexExpression.prototype.get array):
(IndexExpression.prototype.get index):
(IndexExpression.prototype.get isLValue):
(IndexExpression.prototype.get addressSpace):
(IndexExpression.prototype.get getFuncName):
(IndexExpression.prototype.get andFuncName):
(IndexExpression.prototype.get setFuncName):
(IndexExpression.prototype.toString):
* WebGPUShadingLanguageRI/InferTypesForCall.js:
(inferTypesForCall):
* WebGPUShadingLanguageRI/Inline.js:
(_inlineFunction):
* WebGPUShadingLanguageRI/Inliner.js:
(Inliner.prototype.visitCallExpression):
(Inliner.prototype.visitDotExpression): Deleted.
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/LetExpression.js: Removed.
* WebGPUShadingLanguageRI/MakeArrayRefExpression.js:
(MakeArrayRefExpression.prototype.becomeConvertPtrToArrayRefExpression): Deleted.
* WebGPUShadingLanguageRI/NameContext.js:
(NameContext):
(NameContext.prototype.add):
(NameContext.prototype.doStatement):
(NameContext.prototype.handleDefining): Deleted.
(NameContext.prototype.isDefined): Deleted.
(NameContext.prototype.define): Deleted.
(NameContext.prototype.defineAll): Deleted.
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.doStatement):
(NameResolver.prototype.visitProtocolDecl):
(NameResolver.prototype.visitProgram): Deleted.
* WebGPUShadingLanguageRI/NativeFunc.js:
(NativeFunc):
* WebGPUShadingLanguageRI/NativeFuncInstance.js:
(NativeFuncInstance):
(NativeFuncInstance.prototype.get implementationData):
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.visit):
(Node.visit):
(Node.unify): Deleted.
* WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Added.
(NormalUsePropertyResolver.prototype.visitDotExpression):
(NormalUsePropertyResolver.prototype.visitIndexExpression):
(NormalUsePropertyResolver):
* WebGPUShadingLanguageRI/Parse.js:
(finishParsingPostIncrement):
(parsePossibleSuffix):
(finishParsingPreIncrement):
(genericParseCommaExpression):
(parseFuncName):
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/Program.js:
(Program):
(Program.prototype.get globalNameContext):
(Program.prototype.add):
* WebGPUShadingLanguageRI/PropertyAccessExpression.js: Added.
(PropertyAccessExpression):
(PropertyAccessExpression.prototype.get resultType):
(PropertyAccessExpression.prototype.rewriteAfterCloning):
(PropertyAccessExpression.prototype.updateCallsAfterChangingBase):
(PropertyAccessExpression.prototype.emitGet):
(PropertyAccessExpression.prototype.emitSet):
* WebGPUShadingLanguageRI/PropertyResolver.js: Added.
(PropertyResolver.prototype._visitPropertyAccess):
(PropertyResolver.prototype.visitDotExpression):
(PropertyResolver.prototype.visitIndexExpression):
(PropertyResolver.prototype._handleReadModifyWrite):
(PropertyResolver.prototype.visitReadModifyWriteExpression):
(PropertyResolver.prototype.visitAssignment):
(PropertyResolver.visitMakePtrExpression):
(PropertyResolver.prototype.visitMakeArrayRefExpression):
(PropertyResolver):
* WebGPUShadingLanguageRI/PtrType.js:
(PtrType.prototype.argumentForAndOverload):
(PtrType.prototype.argumentTypeForAndOverload):
(PtrType.prototype.returnTypeFromAndOverload):
* WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Added.
(ReadModifyWriteExpression):
(ReadModifyWriteExpression.prototype.get lValue):
(ReadModifyWriteExpression.prototype.oldValueRef):
(ReadModifyWriteExpression.prototype.newValueRef):
(ReadModifyWriteExpression.prototype.toString):
* WebGPUShadingLanguageRI/ResolveNames.js:
(createNameResolver):
(resolveNamesInTypes):
(resolveNamesInProtocols):
(resolveNamesInFunctions):
(resolveNames): Deleted.
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
(resolveOverloadImpl):
* WebGPUShadingLanguageRI/ResolveProperties.js: Added.
(resolveProperties):
* WebGPUShadingLanguageRI/ResolveTypeDefs.js:
(resolveTypeDefsInTypes):
(resolveTypeDefsInProtocols):
(resolveTypeDefsInFunctions):
(resolveTypeDefs): Deleted.
* WebGPUShadingLanguageRI/ReturnChecker.js:
(ReturnChecker.prototype._isBoolCastFromLiteralTrue):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter):
(Rewriter.prototype.visitVariableDecl):
(Rewriter.prototype.visitTypeRef):
(Rewriter.prototype.visitAssignment):
(Rewriter.prototype.visitReadModifyWriteExpression):
(Rewriter.prototype.visitDereferenceExpression):
(Rewriter.prototype._handlePropertyAccessExpression):
(Rewriter.prototype.visitDotExpression):
(Rewriter.prototype.visitIndexExpression):
(Rewriter.prototype.visitReturn):
(Rewriter.prototype.visitGenericLiteralType):
(Rewriter.prototype.visitNullType):
(Rewriter.prototype.processDerivedCallData):
(Rewriter.prototype.visitCallExpression):
(Rewriter.prototype.visitFunctionLikeBlock):
(Rewriter.prototype.visitIfStatement):
(Rewriter.prototype.visitForLoop):
(Rewriter.prototype.visitAnonymousVariable):
(Rewriter.prototype.visitIdentityExpression):
(Rewriter.prototype.visitLetExpression): Deleted.
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/StructLayoutBuilder.js:
(StructLayoutBuilder.prototype.visitNativeFuncInstance):
(StructLayoutBuilder):
* WebGPUShadingLanguageRI/StructType.js:
(StructType.prototype.instantiate):
* WebGPUShadingLanguageRI/Substitution.js:
(Substitution.prototype.get map):
* WebGPUShadingLanguageRI/SuffixCallAssignment.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Added.
(synthesizeStructAccessors.createTypeParameters):
(synthesizeStructAccessors.):
(synthesizeStructAccessors.createFieldType):
(synthesizeStructAccessors.createTypeRef):
(synthesizeStructAccessors.setupAnder):
(synthesizeStructAccessors):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(checkNumber):
(TEST_simpleProtocol):
(TEST_assignLength):
(TEST_simpleSetter):
(TEST_genericAccessors):
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.get isRef):
(Type.prototype.argumentForAndOverload):
(Type.prototype.argumentTypeForAndOverload):
(Type.prototype.returnTypeFromAndOverload):
(Type):
* WebGPUShadingLanguageRI/TypeParameterRewriter.js: Added.
(TypeParameterRewriter.prototype.visitConstexprTypeParameter):
(TypeParameterRewriter.prototype.visitTypeVariable):
(TypeParameterRewriter):
* WebGPUShadingLanguageRI/TypeVariableTracker.js: Added.
(TypeVariableTracker):
* WebGPUShadingLanguageRI/Value.js:
(Value.prototype.become):
(Value):
* WebGPUShadingLanguageRI/VariableRef.js:
(VariableRef.prototype.get unifyNode):
(VariableRef.prototype.get addressSpace):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitNativeFuncInstance):
(Visitor.prototype.visitProtocolDecl):
(Visitor): Deleted.
* WebGPUShadingLanguageRI/VisitorBase.js: Removed.
2017-09-18 Andy Estes <aestes@apple.com>
[Cocoa] Upstream WKSetCrashReportApplicationSpecificInformation() from WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=177048
Reviewed by Alex Christensen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
* WebKitTestRunner/cocoa/CrashReporterInfo.mm:
(WTR::setCrashReportApplicationSpecificInformationToURL):
2017-09-18 Tim Horton <timothy_horton@apple.com>
build-webkit spawns fewer subprocesses than ninja uses by default
https://bugs.webkit.org/show_bug.cgi?id=177057
Reviewed by Alex Christensen.
* Scripts/build-webkit:
By default, ninja will parallelize over (cores + 2) jobs. build-webkit
specifies -j(cores), which overrides this. Remove our override if building
with ninja; just let it do its own thing. In my testing, this minor
change is the difference between ~10% idle CPU time and 0.
2017-09-18 Lucas Forschler <lforschler@apple.com>
Land a patch to verify svn->git update is working.
2017-09-18 Ms2ger <Ms2ger@igalia.com>
Update my status.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2017-09-17 Filip Pizlo <fpizlo@apple.com>
Start working on WSL documentation
https://bugs.webkit.org/show_bug.cgi?id=177064
Reviewed by Mylex Maxfield.
This is a work in progress. I'd like to check it in and then keep adding to it.
* WebGPUShadingLanguageRI/WSL.md: Added.
2017-09-17 Myles C. Maxfield <mmaxfield@apple.com>
WSL needs to understand && and ||
https://bugs.webkit.org/show_bug.cgi?id=177062
Reviewed by Filip Pizlo.
Very similar to LogicalNot.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype.visitLogicalExpression):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitLogicalExpression):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/LogicalExpression.js: Added.
(LogicalExpression):
(LogicalExpression.prototype.get text):
(LogicalExpression.prototype.get left):
(LogicalExpression.prototype.get right):
(LogicalExpression.prototype.toString):
* WebGPUShadingLanguageRI/Parse.js:
(parseLeftLogicalExpression):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitLogicalExpression):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
2017-09-18 Ms2ger <Ms2ger@igalia.com>
Update my status.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2017-09-17 Filip Pizlo <fpizlo@apple.com>
Start working on WSL documentation
https://bugs.webkit.org/show_bug.cgi?id=177064
Reviewed by Mylex Maxfield.
This is a work in progress. I'd like to check it in and then keep adding to it.
* WebGPUShadingLanguageRI/WSL.md: Added.
2017-09-17 Myles C. Maxfield <mmaxfield@apple.com>
WSL needs to understand && and ||
https://bugs.webkit.org/show_bug.cgi?id=177062
Reviewed by Filip Pizlo.
Very similar to LogicalNot.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype.visitLogicalExpression):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitLogicalExpression):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/LogicalExpression.js: Added.
(LogicalExpression):
(LogicalExpression.prototype.get text):
(LogicalExpression.prototype.get left):
(LogicalExpression.prototype.get right):
(LogicalExpression.prototype.toString):
* WebGPUShadingLanguageRI/Parse.js:
(parseLeftLogicalExpression):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitLogicalExpression):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
2017-09-17 Myles C. Maxfield <mmaxfield@apple.com>
WSL needs float and double support
https://bugs.webkit.org/show_bug.cgi?id=177058
Reviewed by Filip Pizlo.
Use the existing int and uint types as a model. The types themselves are straighforward. Just like int and uint,
you can't pass a float as a double argument and vice-versa. This patch adds operator+, -, *, and / for floats
and doubles.
Float literals are more complicated. If your number has a "." character in it, it is treated as a float literal.
You can add a suffix of "f" or "d" to force the literal to pretend to be a float or a double. These literals are
able to masquerade as either floats or doubles (unlike an explicit type). However, these literals are not able
to masquerade as ints or uints. There's also a nice check that your float literal can actually fit in a float.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/DoubleLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.
(let.DoubleLiteral.createLiteral.createType):
* WebGPUShadingLanguageRI/DoubleLiteralType.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.
(let.DoubleLiteralType.createLiteralType.verifyAsArgument):
* WebGPUShadingLanguageRI/FloatLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.
(let.FloatLiteral.createLiteral.createType):
* WebGPUShadingLanguageRI/FloatLiteralType.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.
(let.FloatLiteralType.createLiteralType.verifyAsArgument):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/NativeType.js:
(NativeType):
(NativeType.prototype.get isFloating):
(NativeType.prototype.set isFloating):
(NativeType.prototype.get isFloat): Deleted.
(NativeType.prototype.set isFloat): Deleted.
* WebGPUShadingLanguageRI/Parse.js:
(parseTerm):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitGenericLiteral):
* WebGPUShadingLanguageRI/StandardLibrary.js:
(uint.operator):
(int.operator):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(makeFloat):
(makeDouble):
(checkNumber):
(checkFloat):
(checkDouble):
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.get isFloating):
(Type.prototype.get isFloat): Deleted.
2017-09-17 Michael Saboff <msaboff@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=177038
Add an option to run-jsc-stress-tests to limit tests variations to a basic set
Reviewed by JF Bastien.
Added the --basic option that runs defaults tests with the following modes, default, no-llint,
no-cjit-validate-phases, no-cjit-collect-continuously, dfg-eager and for FTL platforms: no-ftl,
ftl-eager-no-cjit and ftl-no-cjit-small-pool. This takes about half the time as running all
16 modes of a full run.
* Scripts/run-jsc-stress-tests:
2017-09-16 Tim Horton <timothy_horton@apple.com>
Fix the Tools build with CMake on macOS
https://bugs.webkit.org/show_bug.cgi?id=177030
Reviewed by Geoffrey Garen.
* TestWebKitAPI/CMakeLists.txt:
Add a workaround identical to what the gtest CMakeLists has.
2017-09-16 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bump fontconfig version to 2.12.4
https://bugs.webkit.org/show_bug.cgi?id=176997
Reviewed by Michael Catanzaro.
It's the latest stable version and we can get rid of the patches we have.
* WebKitTestRunner/gtk/fonts/fonts.conf: Remove hinting config we no longer need with newer FreeType and
deprecated <blank> that current fontconfig just ignores.
* gtk/jhbuild.modules:
* gtk/patches/fontconfig-2.11.1-add-autogen.patch: Removed.
* gtk/patches/fontconfig-Avoid-conflicts-with-integer-width-macros-from-TS-18661-1-2014.patch: Removed.
* gtk/patches/fontconfig-Fix-the-build-issue-with-gperf-3.1.patch: Removed.
* gtk/patches/fontconfig-fix-osx-cache.diff: Removed.
2017-09-15 Lucas Forschler <lforschler@apple.com>
Move run-webkit-archive from Tools/Scripts to Tools/BuildSlaveSupport
Reviewed by Alexey Proskuryakov.
* Scripts/run-webkit-archive: Removed.
2017-09-15 Lucas Forschler <lforschler@apple.com>
teach build.webkit.org to include run-webkit-archive in the root folder of uploaded macOS archives.
https://bugs.webkit.org/show_bug.cgi?id=176965
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/built-product-archive:
(addLauncherToArchive): Helper function to add the launcher script
(createZip): teach function about addLauncherToArchive
* BuildSlaveSupport/run-webkit-archive: Added.
(check_for_valid_platform): Add logic to ensure platform is Darwin
(find_dyld_framework_path): Find the dyld framework path
(run_safari_for_webkit_development): launch SafariForWebKitDevelopment
(set_dyld_framework_path): export the environment for dydl framework path
2017-09-15 Myles C. Maxfield <mmaxfield@apple.com>
[WSL] Small cleanup in Evaluator
https://bugs.webkit.org/show_bug.cgi?id=176971
Reviewed by Filip Pizlo.
Use the symbols for break and continue instead of the objects themselves.
No tests because there is no behavior change.
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitWhileLoop):
(Evaluator.prototype.visitDoWhileLoop):
(Evaluator.prototype.visitForLoop):
(Evaluator.prototype.visitBreak):
(Evaluator.prototype.visitContinue):
2017-09-15 Filip Pizlo <fpizlo@apple.com>
WSL Evaluator should only allocate EBuffers when dealing with intrinsics
https://bugs.webkit.org/show_bug.cgi?id=176973
Reviewed by Myles Maxfield.
Whether or not two temporary values share the same EBuffer is ultimately observable in WSL,
because you can do this:
thread int^ operator&[](thread int^ ptr, uint index)
{
g_ptr = ptr;
return ptr;
}
And then this is a thing:
42[0];
// g_ptr now points to 42's location
Normally this would have a lot of bad implications. But in WSL, if you did choose to do this,
you'd get a pointer to something well-defined: the EBuffer of 42's GenericLiteral. Each static
occurrence of a literal gets its own location, and the semantics of the language call for
42 to be stored into this location when `42` "executes". So, while the programmer could do all
kinds of strange things, at least the strangeness they would see is something we can spec.
But to do this, the interpreter needs to allocate EBuffers in the same way a compiler would.
It cannot allocate them during execution, except when interacting with intrinsics, which won't
know the difference.
In the process, I found places that needed to use AutoWrapper instead of TypeRef.wrap.
* WebGPUShadingLanguageRI/AutoWrapper.js:
(AutoWrapper.prototype.visitGenericLiteralType):
(AutoWrapper.prototype.visitNullType):
(AutoWrapper):
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.prototype.resolve):
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunction):
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/CreateLiteralType.js:
(createLiteralType.GenericLiteralType.prototype.commitUnification):
* WebGPUShadingLanguageRI/EBuffer.js:
(EBuffer):
(EBuffer.setCanAllocateEBuffers):
(EBuffer.disallowAllocation):
(EBuffer.allowAllocation):
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype.visitVariableDecl):
(EBufferBuilder.prototype.visitFuncDef):
(EBufferBuilder.prototype.visitFunctionLikeBlock):
(EBufferBuilder.prototype.visitCallExpression):
(EBufferBuilder.prototype.visitMakePtrExpression):
(EBufferBuilder.prototype.visitGenericLiteral):
(EBufferBuilder.prototype.visitNullLiteral):
(EBufferBuilder.prototype.visitBoolLiteral):
(EBufferBuilder.prototype.visitLogicalNot):
(EBufferBuilder):
* WebGPUShadingLanguageRI/EPtr.js:
(EPtr.box):
(EPtr.prototype.box):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype._snapshot):
(Evaluator.prototype.runFunc):
(Evaluator.prototype._runBody):
(Evaluator.prototype.visitFunctionLikeBlock):
(Evaluator.prototype.visitMakePtrExpression):
(Evaluator.prototype.visitGenericLiteral):
(Evaluator.prototype.visitNullLiteral):
(Evaluator.prototype.visitBoolLiteral):
(Evaluator.prototype.visitLogicalNot):
(Evaluator.prototype.visitCallExpression):
(Evaluator):
(Evaluator.prototype.runBody): Deleted.
* WebGPUShadingLanguageRI/Inliner.js:
(Inliner.prototype.visitCallExpression):
* WebGPUShadingLanguageRI/InstantiateImmediates.js:
(InstantiateImmediates.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitMakePtrExpression):
(Rewriter.prototype.visitGenericLiteral):
(Rewriter.prototype.visitNullLiteral):
(Rewriter.prototype.processDerivedCallData):
(Rewriter.prototype.visitFunctionLikeBlock):
(Rewriter.prototype.visitLogicalNot):
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.prototype.toString):
(TypeRef):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
2017-09-14 Filip Pizlo <fpizlo@apple.com>
Rationalize how WSL's operator&[] works
https://bugs.webkit.org/show_bug.cgi?id=176958
Reviewed by Myles Maxfield.
This makes operator&[] work with non-array-ref types. The way this works is that if you do base[index]
then we pattern match base's type and proceed accordingly:
If base's type is T^:
=> Reject
If base's type is T[]:
=> Accept
If base's type is T[c]:
=> Wrap it with a MakeArrayRefExpression and accept.
All other cases:
=> Wrap it with a MakePtrExpression and accept.
This makes it possible for operator&[] to work with lvalues. It also means that operator&[] gets to
"see" the temporary values we create via snapshot() in the interpreter. We'll have to fix that, and I've
filed bug 176973 for that. Once that's fixed, this will have well-defined behavior, though with the very
peculiar caveat that an expression like this:
totallyNotAnLValue()[42]
Could be used to get a pointer to a non-lvalue. But we can be extremely precise about what that means
and prohibit dangling pointers, which is kinda crazy.
In order to do this, I had to make MakeArrayRefExpression work, so I did that and added tests for it.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/ArrayRefType.js:
(ArrayRefType.prototype.unifyImpl):
(ArrayRefType.prototype.toString):
(ArrayRefType):
* WebGPUShadingLanguageRI/ArrayType.js:
(ArrayType):
(ArrayType.prototype.get numElementsValue):
(ArrayType.prototype.get size):
(ArrayType.prototype.populateDefaultValue):
(ArrayType.prototype.unifyImpl):
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/ConvertPtrToArrayRefExpression.js: Added.
(ConvertPtrToArrayRefExpression):
(ConvertPtrToArrayRefExpression.prototype.get lValue):
(ConvertPtrToArrayRefExpression.prototype.toString):
* WebGPUShadingLanguageRI/CreateLiteral.js:
(createLiteral.GenericLiteral.withType):
(createLiteral.GenericLiteral.prototype.get isLiteral):
(createLiteral.GenericLiteral.prototype.unifyImpl):
* WebGPUShadingLanguageRI/DotExpression.js:
(DotExpression.prototype.get addressSpace):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitMakeArrayRefExpression):
(Evaluator.prototype.visitConvertPtrToArrayRefExpression):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Added.
(MakeArrayRefExpression):
(MakeArrayRefExpression.prototype.get lValue):
(MakeArrayRefExpression.prototype.becomeConvertPtrToArrayRefExpression):
(MakeArrayRefExpression.prototype.toString):
* WebGPUShadingLanguageRI/MakePtrExpression.js:
(MakePtrExpression.prototype.toString):
(MakePtrExpression):
* WebGPUShadingLanguageRI/PtrType.js:
(PtrType.prototype.toString):
(PtrType):
* WebGPUShadingLanguageRI/ReferenceType.js:
(ReferenceType):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitArrayType):
(Rewriter.prototype.visitMakeArrayRefExpression):
(Rewriter.prototype.visitConvertPtrToArrayRefExpression):
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_buildArrayThenSumItUsingArrayReference):
(TEST_overrideSubscriptStruct):
(TEST_overrideSubscriptStructAndUsePointers):
(TEST_overrideSubscriptStructAndUsePointersIncorrectly):
(TEST_makeArrayRefFromPointer):
(TEST_makeArrayRefFromArrayRef):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
2017-09-14 Filip Pizlo <fpizlo@apple.com>
WSL should support ++, --, +=, and all of those things
https://bugs.webkit.org/show_bug.cgi?id=176975
Reviewed by Myles Maxfield.
This adds an internal AST construct called LetExpression, that allows us to anonymously capture
a value. This change uses LetExpression to implement prefix and suffix ++/-- and all of the
+=/-=/etc.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype.visitVariableDecl):
(EBufferBuilder.prototype.visitLetExpression):
(EBufferBuilder):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitLetExpression):
* WebGPUShadingLanguageRI/LetExpression.js: Added.
(LetExpression):
(LetExpression.prototype.get origin):
(LetExpression.prototype.get name):
(LetExpression.prototype.toString):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/Parse.js:
(isCallExpression):
(finishParsingPostIncrement):
(parsePossibleSuffix):
(finishParsingPreIncrement):
(parsePreIncrement):
(parsePossiblePrefix):
(parsePossibleAssignment):
(parsePostIncrement):
(parseEffectfulExpression):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitFunctionLikeBlock):
(Rewriter.prototype.visitLetExpression):
(Rewriter):
* WebGPUShadingLanguageRI/StandardLibrary.js:
(int.operator):
(uint.operator):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_prefixPlusPlus):
(TEST_prefixPlusPlusResult):
(TEST_postfixPlusPlus):
(TEST_postfixPlusPlusResult):
(TEST_prefixMinusMinus):
(TEST_prefixMinusMinusResult):
(TEST_postfixMinusMinus):
(TEST_postfixMinusMinusResult):
(TEST_plusEquals):
(TEST_plusEqualsResult):
(TEST_minusEquals):
(TEST_minusEqualsResult):
(TEST_timesEquals):
(TEST_timesEqualsResult):
(TEST_divideEquals):
(TEST_divideEqualsResult):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
2017-09-15 Brent Fulgham <bfulgham@apple.com>
Provide mechanism to immediately end tests
https://bugs.webkit.org/show_bug.cgi?id=176364
<rdar://problem/34254780>
Reviewed by Alex Christensen.
WebKitTestRunner does not output state if the top loading frame has not been removed. This prevents some
tests that attempt to exercise failed load state from working properly.
This change adds a new 'forceImmediateCompletion' handler for DumpRenderTree and WebKitTestRunner so
that we can properly test these conditions.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::forceImmediateCompletion): Added.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::forceImmediateCompletion): Ditto.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::forceImmediateCompletion): Ditto.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-09-15 Youenn Fablet <youenn@apple.com>
Add an URL method to remove both query string and fragment identifier
https://bugs.webkit.org/show_bug.cgi?id=176911
Reviewed by Alex Christensen.
Adding unit test for new URL method as well as modified setQuery and setFragmentIdentifier.
* TestWebKitAPI/Tests/WebCore/URL.cpp:
(TestWebKitAPI::createURL):
(TestWebKitAPI::TEST_F):
2017-09-14 Yousuke Kimoto <yousuke.kimoto@sony.com>
[WinCairo] Add an option to build WebKitLegacy and WebKit
https://bugs.webkit.org/show_bug.cgi?id=176891
Since TestWebKitAPI and MiniBrowser/win are used for WebKitLegacy,
those subdirectories are ignored for WebKit build.
Reviewed by Alex Christensen.
* CMakeLists.txt:
2017-09-14 Lucas Forschler <lforschler@apple.com>
Create a launcher for webkit-archives
https://bugs.webkit.org/show_bug.cgi?id=176964
Reviewed by Aakash Jain.
* Scripts/run-webkit-archive: Added.
(find_dyld_framework_path):
(run_safari_for_webkit_development):
(set_dyld_framework_path):
(main):
2017-09-14 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
https://bugs.webkit.org/show_bug.cgi?id=176889
<rdar://problem/29270035>
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[PrintDelegate _webView:printFrame:]):
(-[PrintDelegate _webViewHeaderHeight:]):
(-[PrintDelegate _webViewFooterHeight:]):
(-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
(-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
(callbacksEqual):
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView hostWindow]):
2017-09-14 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r222033.
This change caused API test WebKit.PrintFrame to time out.
Reverted changeset:
"Add WKUIDelegatePrivate equivalent of WKPageUIClient's
drawHeader, drawFooter, headerHeight, and footerHeight"
https://bugs.webkit.org/show_bug.cgi?id=176889
http://trac.webkit.org/changeset/222033
2017-09-14 Youenn Fablet <youenn@apple.com>
Allow WTF::map to take function as parameter
https://bugs.webkit.org/show_bug.cgi?id=176909
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::multiplyByTwo):
(TestWebKitAPI::TEST):
(TestWebKitAPI::multiplyByTwoMoveOnly):
2017-09-14 Filip Pizlo <fpizlo@apple.com>
WSL IntLiteralType should become int32 if unified with a type variable
https://bugs.webkit.org/show_bug.cgi?id=176707
Reviewed by Myles Maxfield.
This makes it so that this works:
T foo<T>(T x) { return x; }
foo(42); // T becomes int32
Previously, it did not work because IntLiteralType did not recognize TypeVariable as a number. Also,
TypeVariable would try to evaluate protocol inheritance of IntLiteralType, which would not go well. One
of the tests that this patch adds didn't just fail; it gave such an absurd 7-line type error that I felt
like I was using SML.
This fixes the problem by introducing what I think is a super deterministic way of handling literals and
type variables:
Before verifying a unification context, we now give all literals a chance to perform an extra
unification step. This is a two-phase process. This ensures that the unification performed by one
literal does not throw off the logic of some other literal. For example, if we do:
void foo<T>(T, T) { }
foo(42, 42u);
Then we want to always fail to compile, rather than sometimes succeeding. So, we first ask each literal
if it thinks that it needs to do extra unification. Both of the literals will report that they want to
in this case, because they will notice that they got unified with either at type variable or a literal,
which isn't specific enough. Then after they all register to do extra unification, they will both try to
unify with their preferred types (int32 for 42, uint32 for 42u). The first one will succeed, and the
second will give an error.
Without the special two-phase arrangement, it was possible to either get a type error or not depending
on the order - for example foo(42, 42u) might fail while foo(42u, 42) succeeds. It was definitely not
decidable, at least not unless you mandate the unification order as part of the type system spec. I
think that would have been nuts.
Both IntLiteral and UintLiteral are now "flexible"; the uint one will reject non-int or signed int
types and will prefer uint, but otherwise it's the same logic. This means that this will be valid:
uint8 x = 5u;
But this is still wrong:
int x = 5u;
To make this easy, I turned IntLiteral and UintLiteral (and IntLiteralType and UintLiteralType) into
factory-built generic types (see createLiteral() and createLiteralType()). Because visitors use the
constructor's declared name (GenericLiteral and GenericLiteralType in this case), it means that we can
share a ton of code between the different literals. I love that ES6 lets you do that.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/CreateLiteral.js: Added.
(createLiteral.GenericLiteral):
(createLiteral.GenericLiteral.prototype.get value):
(createLiteral.GenericLiteral.prototype.get isConstexpr):
(createLiteral.GenericLiteral.prototype.toString):
(createLiteral):
* WebGPUShadingLanguageRI/CreateLiteralType.js: Added.
(createLiteralType.GenericLiteralType):
(createLiteralType.GenericLiteralType.prototype.get origin):
(createLiteralType.GenericLiteralType.prototype.get value):
(createLiteralType.GenericLiteralType.prototype.get isPrimitive):
(createLiteralType.GenericLiteralType.prototype.get isUnifiable):
(createLiteralType.GenericLiteralType.prototype.get isLiteral):
(createLiteralType.GenericLiteralType.prototype.typeVariableUnify):
(createLiteralType.GenericLiteralType.prototype.unifyImpl):
(createLiteralType.GenericLiteralType.prototype.prepareToVerify):
(createLiteralType.GenericLiteralType.prototype.verifyAsArgument):
(createLiteralType.GenericLiteralType.prototype.verifyAsParameter):
(createLiteralType.GenericLiteralType.prototype.conversionCost):
(createLiteralType.GenericLiteralType.prototype.commitUnification):
(createLiteralType.GenericLiteralType.prototype.toString):
(createLiteralType):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitIntLiteral): Deleted.
(Evaluator.prototype.visitUintLiteral): Deleted.
* WebGPUShadingLanguageRI/IntLiteral.js:
(let.IntLiteral.createLiteral.createType):
(IntLiteral): Deleted.
(IntLiteral.prototype.get value): Deleted.
(IntLiteral.prototype.get isConstexpr): Deleted.
(IntLiteral.prototype.toString): Deleted.
* WebGPUShadingLanguageRI/IntLiteralType.js:
(IntLiteralType): Deleted.
(IntLiteralType.prototype.get origin): Deleted.
(IntLiteralType.prototype.get value): Deleted.
(IntLiteralType.prototype.get isPrimitive): Deleted.
(IntLiteralType.prototype.get isUnifiable): Deleted.
(IntLiteralType.prototype.typeVariableUnify): Deleted.
(IntLiteralType.prototype.unifyImpl): Deleted.
(IntLiteralType.prototype.verifyAsArgument): Deleted.
(IntLiteralType.prototype.verifyAsParameter): Deleted.
(IntLiteralType.prototype.conversionCost): Deleted.
(IntLiteralType.prototype.commitUnification): Deleted.
(IntLiteralType.prototype.toString): Deleted.
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/LiteralTypeChecker.js:
(LiteralTypeChecker.prototype.visitIntLiteralType): Deleted.
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.prepareToVerify):
(Node.prototype.commitUnification):
(Node.prototype.get isLiteral):
* WebGPUShadingLanguageRI/NullType.js:
(NullType.prototype.get isLiteral):
(NullType.prototype.toString):
(NullType):
* WebGPUShadingLanguageRI/Parse.js:
(parseTerm):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitGenericLiteralType):
(Rewriter.prototype.visitIntLiteral): Deleted.
(Rewriter.prototype.visitIntLiteralType): Deleted.
(Rewriter.prototype.visitUintLiteral): Deleted.
(Rewriter.prototype.visitBoolLiteral): Deleted.
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(makeUint):
(checkUint):
(TEST_uintSimpleMath):
(TEST_equality):
(TEST_notEquality):
(TEST_intLiteralGeneric):
(TEST_intLiteralGenericWithProtocols):
(TEST_uintLiteralGeneric):
(TEST_uintLiteralGenericWithProtocols):
(TEST_intLiteralGenericSpecific):
(TEST_twoIntLiterals):
(TEST_unifyDifferentLiterals):
(makeUInt): Deleted.
(checkUInt): Deleted.
* WebGPUShadingLanguageRI/Type.js:
* WebGPUShadingLanguageRI/UintLiteral.js:
(let.UintLiteral.createLiteral.createType):
(UintLiteral): Deleted.
(UintLiteral.prototype.get value): Deleted.
(UintLiteral.prototype.get isConstexpr): Deleted.
(UintLiteral.prototype.toString): Deleted.
* WebGPUShadingLanguageRI/UintLiteralType.js: Added.
(let.UintLiteralType.createLiteralType.verifyAsArgument):
* WebGPUShadingLanguageRI/UnificationContext.js:
(UnificationContext.prototype.verify):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
2017-09-14 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r221868.
Rolling out this change while we investigate test262 failures.
Reverted changeset:
"Turn on exception scope verification for JSC tests."
https://bugs.webkit.org/show_bug.cgi?id=162351
http://trac.webkit.org/changeset/221868
2017-09-14 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
https://bugs.webkit.org/show_bug.cgi?id=176889
<rdar://problem/29270035>
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[PrintDelegate _webView:printFrame:]):
(-[PrintDelegate _webViewHeaderHeight:]):
(-[PrintDelegate _webViewFooterHeight:]):
(-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
(-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
(callbacksEqual):
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView hostWindow]):
2017-09-14 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] Add a switch to start the mini-browser in full-screen mode
https://bugs.webkit.org/show_bug.cgi?id=176904
Reviewed by Carlos Garcia Campos.
* MiniBrowser/gtk/main.c:
(main):
2017-09-14 Filip Pizlo <fpizlo@apple.com>
Unreviewed, fix a typo that was preventing a test from running.
* WebGPUShadingLanguageRI/Test.js:
2017-09-14 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Fail to build using internal jhbuild if libgtk3-dev is not installed in the system
https://bugs.webkit.org/show_bug.cgi?id=176778
Reviewed by Carlos Alberto Lopez Perez.
We are building gtk+ in the jhbuild with introspection disabled, but Gtk-3.gir is required to build the
WebKitGTK+ introspection. Also, if wayland-protocols is not installed, gtk+ is built without the wayland backend
and it's no possible to enable the wayland target in WebKitGTK+ either.
* gtk/jhbuild.modules: Do not disable introspection when building gtk+ and add wayland-protocols as a dependency.
2017-09-14 Maureen Daum <mdaum@apple.com>
Introduce the option to mark an HTML element as having AutoFill available.
https://bugs.webkit.org/show_bug.cgi?id=176710
Reviewed by Alex Christensen.
Add an API test that verifies after we mark a field as having AutoFill available,
Accessibility also considers it to have AutoFill available.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add AutoFillAvailable.mm
* TestWebKitAPI/Tests/WebKitCocoa/AutoFillAvailable.mm: Added.
Create an input element, mark it as having AutoFill available, then focus it so that
we can get the accessibility information for it. Ask accessibility whether it considers
the field to have AutoFill available, and pick the alert message based on that.
(-[AutoFillAvailable webProcessPlugIn:didCreateBrowserContextController:]):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
(-[AutoFillAvailableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
Verify that we get the alert message indicating that accessibility indeed considers
the input element as having AutoFill available after we explicitly marked it as so.
2017-09-13 John Wilander <wilander@apple.com>
Introduce Storage Access API (document parts) as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=175759
<rdar://problem/34414107>
Reviewed by Alex Christensen.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Turns the feature on for tests.
2017-09-13 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r221976.
The test introduced was flaky from point of addition.
Reverted changeset:
"Introduce Storage Access API (document parts) as an
experimental feature"
https://bugs.webkit.org/show_bug.cgi?id=175759
http://trac.webkit.org/changeset/221976
2017-09-13 Lucas Forschler <lforschler@apple.com>
Compress spindumps on client side before packaging into layout test results zip (mac & ios)
https://bugs.webkit.org/show_bug.cgi?id=176853
Reviewed by Aakash Jain.
* BuildSlaveSupport/test-result-archive:
(main):
(gzip_file): use gzip to compress a file, removing original
(compress_spindumps): find and compress spindumps matching a filter
(archive_test_results): refactor to snake_case
(archiveTestResults): Deleted.
2017-09-13 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's setIsResizable, getWindowFrame, and setWindowFrame
https://bugs.webkit.org/show_bug.cgi?id=176857
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[ModalDelegate _webViewRunModal:]):
(-[ModalDelegate _webView:setResizable:]):
(-[WindowFrameDelegate _webView:setWindowFrame:]):
(-[WindowFrameDelegate _webView:getWindowFrameWithCompletionHandler:]):
(-[WindowFrameDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
(-[ResizableDelegate _webView:setResizable:]):
(-[ResizableDelegate _webView:getIsResizableWithCompletionHandler:]):
(-[ResizableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2017-09-13 Youenn Fablet <youenn@apple.com>
Add a lambda-based map for Vectors
https://bugs.webkit.org/show_bug.cgi?id=176487
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2017-09-13 John Wilander <wilander@apple.com>
Introduce Storage Access API (document parts) as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=175759
<rdar://problem/33666847>
Reviewed by Alex Christensen.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Turns the feature on for tests.
2017-09-13 Per Arne Vollan <pvollan@apple.com>
[Win] DRT option --gc-between-tests is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=176849
Reviewed by Brent Fulgham.
Perform GC after the test if this option is enabled. This patch also set the initial value of the flag
to true, in order to catch GC related issues in the test in which they occur.
* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):
2017-09-12 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Support DataTransfer.getData and DataTransfer.setData when dragging or dropping
https://bugs.webkit.org/show_bug.cgi?id=176672
<rdar://problem/34353723>
Reviewed by Ryosuke Niwa.
Adds new tests and tweaks existing DataInteractionTests to cover the tweaks made in this patch.
SinglePlainTextURLTypeIdentifiers: Verify that inline presentation style is requested when dragging plaintext.
SinglePlainTextWordTypeIdentifiers: Verify that inline presentation style is requested when dragging a link.
ExternalSourceInlineTextToFileInput:
Verify that an item provider marked as preferring inline presentation does not trigger file uploads by
dragging a piece of inline text into a file input.
CanStartDragOnDivWithDraggableAttribute:
Verify that DataTransfer.setData and DataTransfer.getData work as expected by moving a draggable div.
The test harness writes the id of the draggable div via the DataTransfer, and upon drop, reads the id
back to figure out which element to append to the drop destination.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-09-12 Ryosuke Niwa <rniwa@webkit.org>
Dragging & dropping a file creates an attachment element even when it's disabled
https://bugs.webkit.org/show_bug.cgi?id=176769
Reviewed by Tim Horton.
Added a webkit-test-runner flag to enable attachment element via runtime flag since this feature is now hidden
behind a runtime-enabled flag which needs to be set at the time of global object initialization.
* DumpRenderTree/TestOptions.h:
(TestOptions): Added.
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
2017-09-11 Filip Pizlo <fpizlo@apple.com>
WSL should allow you to say "protocol Foo : Bar { ... }"
https://bugs.webkit.org/show_bug.cgi?id=176238
Reviewed by Mylex Maxfield.
This makes protocol "subtyping" work. It's not really subtyping. Protocol A inherits protocol B
if every signature in B can be resolved against some signature in A. Also, you can explicitly
subtype protocols using extends syntax ("protocol Foo : Bar, Baz { ... }").
Also makes the diagnostics when type variable constraints fail a _lot_ better. This will even
tell you diagnostics about why a function didn't match when protocols are not inheriting, and
then it will tell you why the inheritance failed.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/AutoWrapper.js:
(AutoWrapper.prototype.visitTypeVariable):
(AutoWrapper):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
(ConstexprTypeParameter.prototype.verifyAsArgument):
(ConstexprTypeParameter.prototype.verifyAsParameter):
* WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Added.
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.get typeParametersForCallResolution):
* WebGPUShadingLanguageRI/InferTypesForCall.js:
(inferTypesForCall):
* WebGPUShadingLanguageRI/IntLiteralType.js:
(IntLiteralType.prototype.verifyAsArgument):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProtocolDecl):
(NameResolver.prototype.visitProtocolRef): Deleted.
(NameResolver.prototype.visitProtocolFuncDecl): Deleted.
(NameResolver.prototype.visitTypeDef): Deleted.
(NameResolver.prototype.visitStructType): Deleted.
(NameResolver.prototype._resolveTypeArguments): Deleted.
(NameResolver.prototype.visitTypeRef): Deleted.
(NameResolver.prototype.visitReferenceType): Deleted.
(NameResolver.prototype.visitVariableDecl): Deleted.
(NameResolver.prototype.visitVariableRef): Deleted.
(NameResolver.prototype.visitReturn): Deleted.
(NameResolver.prototype.visitCallExpression): Deleted.
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.equals):
* WebGPUShadingLanguageRI/NullType.js:
(NullType.prototype.verifyAsArgument):
* WebGPUShadingLanguageRI/Parse.js:
(parseProtocolDecl):
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/ProtocolDecl.js:
(ProtocolDecl): Deleted.
(ProtocolDecl.prototype.add): Deleted.
(ProtocolDecl.prototype.get signatures): Deleted.
(ProtocolDecl.prototype.signaturesByName): Deleted.
(ProtocolDecl.prototype.get typeVariable): Deleted.
(ProtocolDecl.prototype.signaturesByNameWithTypeVariable): Deleted.
(ProtocolDecl.prototype.inherits): Deleted.
(ProtocolDecl.prototype.hasHeir): Deleted.
(ProtocolDecl.prototype.toString): Deleted.
* WebGPUShadingLanguageRI/ProtocolFuncDecl.js:
(ProtocolFuncDecl.prototype.get typeParametersForCallResolution):
(ProtocolFuncDecl):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_nullTypeVariableUnify):
(TEST_simpleProtocolExtends):
(TEST_protocolExtendsTwo):
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.inherits):
* WebGPUShadingLanguageRI/TypeDefResolver.js:
(TypeDefResolver.prototype.visitTypeRef):
(TypeDefResolver):
* WebGPUShadingLanguageRI/TypeVariable.js:
(TypeVariable.prototype.inherits):
(TypeVariable.prototype.verifyAsArgument):
(TypeVariable.prototype.verifyAsParameter):
* WebGPUShadingLanguageRI/UnificationContext.js:
(UnificationContext.prototype.verify):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
(Visitor.prototype.visitTypeRef): Deleted.
(Visitor.prototype.visitNativeType): Deleted.
(Visitor.prototype.visitNativeTypeInstance): Deleted.
(Visitor.prototype.visitTypeDef): Deleted.
(Visitor.prototype.visitStructType): Deleted.
(Visitor.prototype.visitTypeVariable): Deleted.
(Visitor.prototype.visitConstexprTypeParameter): Deleted.
(Visitor.prototype.visitField): Deleted.
(Visitor.prototype.visitElementalType): Deleted.
(Visitor.prototype.visitReferenceType): Deleted.
(Visitor.prototype.visitPtrType): Deleted.
(Visitor.prototype.visitArrayRefType): Deleted.
(Visitor.prototype.visitArrayType): Deleted.
(Visitor.prototype.visitVariableDecl): Deleted.
(Visitor.prototype.visitAssignment): Deleted.
(Visitor.prototype.visitDereferenceExpression): Deleted.
(Visitor.prototype.visitDotExpression): Deleted.
(Visitor.prototype.visitMakePtrExpression): Deleted.
(Visitor.prototype.visitVariableRef): Deleted.
(Visitor.prototype.visitIfStatement): Deleted.
(Visitor.prototype.visitWhileLoop): Deleted.
(Visitor.prototype.visitDoWhileLoop): Deleted.
(Visitor.prototype.visitForLoop): Deleted.
(Visitor.prototype.visitReturn): Deleted.
(Visitor.prototype.visitContinue): Deleted.
(Visitor.prototype.visitBreak): Deleted.
(Visitor.prototype.visitIntLiteral): Deleted.
(Visitor.prototype.visitIntLiteralType): Deleted.
(Visitor.prototype.visitUintLiteral): Deleted.
(Visitor.prototype.visitNullLiteral): Deleted.
(Visitor.prototype.visitBoolLiteral): Deleted.
(Visitor.prototype.visitNullType): Deleted.
(Visitor.prototype.visitCallExpression): Deleted.
(Visitor.prototype.visitLogicalNot): Deleted.
(Visitor.prototype.visitFunctionLikeBlock): Deleted.
* WebGPUShadingLanguageRI/WrapChecker.js:
(WrapChecker.prototype.visitTypeVariable):
(WrapChecker):
2017-09-12 Carlos Garcia Campos <cgarcia@igalia.com>
Remove duplicated test results from LayoutTest platform directories
https://bugs.webkit.org/show_bug.cgi?id=176686
Reviewed by Michael Catanzaro.
After several rebaselines we might end up with the same result in the platform directory than the common result
without noticing it. This patch adds a script to detect those cases and remove all duplicated results from the
repository.
* Scripts/check-for-duplicated-platform-test-results: Added.
(check_duplicate):
(check_duplicate.sha1):
(platform_list):
2017-09-12 Carlos Alberto Lopez Perez <clopez@igalia.com>
The EWS build system is forcing a non UTF-8 locale and breaks meson.
https://bugs.webkit.org/show_bug.cgi?id=176761
Reviewed by Michael Catanzaro.
On 2011 in order to disable GCC smartquotes (UTF-8 pretty quotes)
that were causing trouble with the commit-queue server, the tooling
for the EWS bots started to force an LC_ALL=C locale.
This was needed back then apparently because the commit-queue server
was unable to handle properly UTF-8 text.
6 years forward and none of the ports that commit-queue tests before
landing a patch use GCC, but Clang. So this should not be an issue anymore.
Forcing a non UTF-8 locale breaks the Meson build system (that the
GTK/WPE ports use for some dependencies of its JHBuild dependencies
local build system).
It has also the potential to break things in subtle ways that are
hard to debug and detect. So better stop doing this.
This patch also changes TERM=none to TERM=dumb that is the proper
way to disable VT100 codes (see bug 127922).
* Scripts/webkitpy/common/system/environment.py:
(Environment.to_dictionary):
(Environment.disable_jhbuild_VT100_output):
* Scripts/webkitpy/common/system/environment_unittest.py:
(EnvironmentTest.test_disable_jhbuild_VT100_output):
* Scripts/webkitpy/port/base.py:
(Port._build_driver):
(Port._build_image_diff):
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.test_build_driver):
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/steps/build.py:
(Build.build):
* Scripts/webkitpy/tool/steps/steps_unittest.py:
2017-09-12 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Run tests with G_DEBUG=fatal-criticals
https://bugs.webkit.org/show_bug.cgi?id=176755
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
2017-09-12 Alex Christensen <achristensen@webkit.org>
Fix build after r221922.
https://bugs.webkit.org/show_bug.cgi?id=176728
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[ModalDelegate _webViewRunModal:]):
(-[ModalDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(TEST):
svn-apply inserted the test too early in the file :(
Shift it down to where all the used static variables are declared.
2017-09-12 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's runModal
https://bugs.webkit.org/show_bug.cgi?id=176728
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[ModalDelegate _webViewRunModal:]):
(-[ModalDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(TEST):
2017-09-12 Daniel Bates <dabates@apple.com>
REGRESSION (r215784): The title of right-to-left pages are empty
https://bugs.webkit.org/show_bug.cgi?id=176746
<rdar://problem/34211419>
Reviewed by Brent Fulgham.
Add unit test to ensure we do not regress StringWithDirection.truncateFromEnd().
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/StringWithDirection.cpp: Added.
(TestWebKitAPI::TEST):
2017-09-12 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's decidePolicyForNotificationPermissionRequest
https://bugs.webkit.org/show_bug.cgi?id=176768
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[NotificationDelegate initWithAllowNotifications:]):
(-[NotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[NotificationDelegate _webView:requestNotificationPermissionForSecurityOrigin:decisionHandler:]):
(TEST):
2017-09-12 Brent Fulgham <bfulgham@apple.com>
Show punycode to user if a URL mixes Armenian Seh or Vo with other scripts
https://bugs.webkit.org/show_bug.cgi?id=176578
<rdar://problem/33906231>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2017-09-12 Carlos Garcia Campos <cgarcia@igalia.com>
[Freetype] Doesn't support coloured fonts
https://bugs.webkit.org/show_bug.cgi?id=156579
Reviewed by Michael Catanzaro.
Bump webkitgtk-test-fonts to 0.0.6 version that includes the EmijoOne font.
* gtk/jhbuild.modules:
* wpe/jhbuild.modules:
2017-09-11 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Support DataTransfer.setDragImage when starting a drag on iOS
https://bugs.webkit.org/show_bug.cgi?id=176721
<rdar://problem/34373660>
Reviewed by Tim Horton.
In DataInteractionSimulator, ask the UIDragInteractionDelegate (WKContentView) for targeted drag previews after
retrieving UIDragItems during a lift. Remember these previews after the drag and drop simulation is complete, so
API tests (currently, just DragLiftPreviewDataTransferSetDragImage) can verify that the generated drag previews
are as expected.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/DataTransfer-setDragImage.html: Added.
Adds a new test harness containing 5 draggable elements, each generating a drag image using different codepaths.
DragLiftPreviewDataTransferSetDragImage uses this page to check that the frame of the targeted drag preview in
each scenario is as expected.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkCGRectIsEqualToCGRectWithLogging):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _resetSimulatedState]):
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator liftPreviews]):
2017-09-11 Tim Horton <timothy_horton@apple.com>
REGRESSION (r221272): WKWebView gets stuck zoomed in if the web process crashes
https://bugs.webkit.org/show_bug.cgi?id=176767
<rdar://problem/34196874>
Reviewed by Dan Bernstein.
* TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
(TEST):
Add a test ensuring that override layout size persists through Web
Content process crash.
2017-09-11 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS WK2] Support tapping to add items to the current drag session in web content
https://bugs.webkit.org/show_bug.cgi?id=176421
<rdar://problem/31144674>
Reviewed by Tim Horton.
Adds a new drag and drop test that begins a drag on a text selection, adds an image and a link, and then drops
into a contenteditable area. This verifies that the text, link and image are inserted into the editable area
upon drop.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-09-11 Lucas Forschler <lforschler@apple.com>
bisect-builds: add --list option
https://bugs.webkit.org/show_bug.cgi?id=174836
Reviewed by Aakash Jain & Stephanie Lewis.
* Scripts/bisect-builds:
(parse_args): add --list option
(minified_platforms): update supported platform list (add ios simulator)
(print_list_and_exit): helper function to print list and exit
2017-09-11 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS WK2] ExternalSourceDataTransferItemGetAsEntry tests produce inconsistent results on test automation bots
https://bugs.webkit.org/show_bug.cgi?id=176736
Reviewed by Andy Estes and Megan Gardner.
The test output dumped when dropping a file in DataTransferItem-getAsEntry.html should adhere to some deterministic order.
Currently, this is not enforced, so on some systems, these tests fail due to expected test output being out of order. To
fix this, simply have the test harness alphabetically sort the output before writing to the textarea.
* TestWebKitAPI/Tests/WebKitCocoa/DataTransferItem-getAsEntry.html:
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-09-11 Ryosuke Niwa <rniwa@webkit.org>
webkitbot should recognize commands even when colon is omitted
https://bugs.webkit.org/show_bug.cgi?id=176680
<rdar://problem/29933898>
Reviewed by Daniel Bates.
Recognize the IRC command even when : and , were not present.
Unfortunately, there is no unit test for this code at the moment.
* Scripts/webkitpy/common/net/irc/ircbot.py:
(IRCBot.on_pubmsg):
2017-09-11 Lucas Forschler <lforschler@apple.com>
bisect-builds doesn't work due to missing requests module
https://bugs.webkit.org/show_bug.cgi?id=175709
Reviewed by Ryosuke Niwa.
* Scripts/bisect-builds: use urllib2 instead of the requests module.
(get_s3_location_for_revision):
(main):
2017-09-11 Filip Pizlo <fpizlo@apple.com>
WSL Substitution should probably wrap type variables of substituted types rather than just wrapping the whole type
https://bugs.webkit.org/show_bug.cgi?id=176677
Reviewed by Mylex Maxfield.
This adds a checker that verifies that all type references and variable references are wrapped.
Then this fixes errors found by that checker by making Substitution auto-wrap replacements rather than
manually wrapping the outer type (for types) and cloning (for values).
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/AutoWrapper.js: Added.
(AutoWrapper.prototype.visitVariableRef):
(AutoWrapper.prototype.visitTypeRef):
(AutoWrapper.prototype.visitConstexprTypeParameter):
(AutoWrapper.prototype.visitFuncParameter):
(AutoWrapper.prototype.visitVariableDecl):
(AutoWrapper.prototype.visitStructType):
(AutoWrapper.prototype.visitNativeType):
(AutoWrapper):
* WebGPUShadingLanguageRI/CheckWrapped.js:
(checkExpressionWrapped):
(checkProgramWrapped):
(checkWrapped): Deleted.
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/ExpressionFinder.js: Added.
(ExpressionFinder):
(ExpressionFinder.prototype.visitFunc):
(ExpressionFinder.prototype.visitFuncParameter):
(ExpressionFinder.prototype.visitConstexprTypeParameter):
(ExpressionFinder.prototype.visitAssignment):
(ExpressionFinder.prototype.visitCallExpression):
(ExpressionFinder.prototype.visitReturn):
(ExpressionFinder.prototype.visitWhileLoop):
(ExpressionFinder.prototype.visitDoWhileLoop):
(ExpressionFinder.prototype.visitIfStatement):
(ExpressionFinder.prototype.visitForLoop):
(ExpressionFinder.prototype.visitVariableDecl):
* WebGPUShadingLanguageRI/NativeFuncInstance.js:
(NativeFuncInstance):
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.substituteToUnification):
(Node):
(Node.prototype.clone): Deleted.
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/StructLayoutBuilder.js:
(StructLayoutBuilder.prototype.visitReferenceType):
(StructLayoutBuilder.prototype.visitField):
(StructLayoutBuilder):
* WebGPUShadingLanguageRI/Substitution.js:
(Substitution):
(Substitution.prototype.visitTypeRef):
(Substitution.prototype.visitVariableRef):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_chainConstexpr):
(TEST_chainGeneric):
(TEST_chainStruct):
(TEST_chainStructInvalid):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitNativeTypeInstance):
* WebGPUShadingLanguageRI/WrapChecker.js:
(WrapChecker.prototype._foundUnwrapped.originString):
(WrapChecker.prototype._foundUnwrapped):
(WrapChecker):
2017-09-11 Ryan Haddad <ryanhaddad@apple.com>
Fix multiple master.cfg unit test failures.
https://bugs.webkit.org/show_bug.cgi?id=176745
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(TestFactory.__init__): Add missing ':'.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Update expected results for Windows and iOS build steps.
2017-09-11 Jonathan Bedard <jbedard@apple.com>
Older versions should adopt newer version's expectations on mac
https://bugs.webkit.org/show_bug.cgi?id=176699
<rdar://problem/34367907>
Reviewed by Alexey Proskuryakov.
Before:
mac-elcapitan-wk2
mac-elcapitan
mac-wk2
mac
wk2
After:
mac-elcapitan-wk2
mac-elcapitan
mac-sierra-wk2
mac-sierra
mac-wk2
mac
wk2
* Scripts/webkitpy/port/mac.py:
(MacPort.default_baseline_search_path): Use VERSION_FALLBACK_ORDER to have old
versions inherit expectations from newer versions.
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_layout_test_searchpath_with_apple_additions): Check new behavior
with older versions inheriting expectations from newer versions.
2017-09-11 Ryan Haddad <ryanhaddad@apple.com>
Skip JSC test wsl-tests.yaml/Test.js
https://bugs.webkit.org/show_bug.cgi?id=176727
Unreviewed test gardening.
* WebGPUShadingLanguageRI/wsl-tests.yaml:
2017-09-11 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's decidePolicyForGeolocationPermissionRequest
https://bugs.webkit.org/show_bug.cgi?id=176642
<rdar://problem/29270035>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[GeolocationDelegate initWithAllowGeolocation:]):
(-[GeolocationDelegate _webView:requestGeolocationPermissionForFrame:decisionHandler:]):
(-[GeolocationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2017-09-11 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Elements in the DOM with the `draggable` attribute should be draggable
https://bugs.webkit.org/show_bug.cgi?id=176664
<rdar://problem/32596156>
Reviewed by Tim Horton.
Adds a new API test checking that elements marked as drag sources via the `draggable` attribute can be dragged
with a non-null drag preview. Additionally, refactor the drag and drop simulator to not plumb drag/drop
interaction delegate calls through to the WKContentView via -_simulate*-prefixed testing SPI, but rather
by grabbing the WKWebView's drag and drop interaction delegates (i.e. the WKContentView) and calling delegate
methods directly. This avoids requiring boilerplate plumbing on WKWebView and WKContentView for each of the drag
and drop delegate methods, so these have been removed from WKWebView and WKContentView.
Additionally, renames MockDataOperationSession and MockDataInteractionSession to MockDragSession and
MockDropSession, respectively, and adjusts their ivars on DataInteractionSimulator to match.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/custom-draggable-div.html: Added.
Add a new test harness covering dragging and dropping elements with the draggable attribute, using DataTransfer
API (setData and getData) as well.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[WKWebView dropInteractionDelegate]):
(-[WKWebView dragInteractionDelegate]):
(-[WKWebView dropInteraction]):
(-[WKWebView dragInteraction]):
Add testing utilities to ask a WKWebView for information about its drag/drop interactions and delegates. In this
case, this will return the WKWebView's WKContentView.
(-[DataInteractionSimulator _resetSimulatedState]):
(-[DataInteractionSimulator simulateAllTouchesCanceled:]):
(-[DataInteractionSimulator runFrom:to:additionalItemRequestLocations:]):
(-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
(-[DataInteractionSimulator _sendQueuedAdditionalItemRequest]):
(-[DataInteractionSimulator _advanceProgress]):
When beginning a drag session, ask the delegate for targeted lift previews and verify that these are non-null.
This check would fail prior to the tweak in DragDropInteractionState in this patch.
(-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
(-[MockDataOperationSession initWithProviders:location:window:allowMove:]): Deleted.
(-[MockDataOperationSession session]): Deleted.
(-[MockDataOperationSession isLocal]): Deleted.
(-[MockDataOperationSession progress]): Deleted.
(-[MockDataOperationSession setProgressIndicatorStyle:]): Deleted.
(-[MockDataOperationSession progressIndicatorStyle]): Deleted.
(-[MockDataOperationSession operationMask]): Deleted.
(-[MockDataOperationSession localDragSession]): Deleted.
(-[MockDataOperationSession hasItemsConformingToTypeIdentifier:]): Deleted.
(-[MockDataOperationSession canCreateItemsOfClass:]): Deleted.
(-[MockDataOperationSession loadObjectsOfClass:completion:]): Deleted.
(-[MockDataInteractionSession initWithWindow:allowMove:]): Deleted.
(-[MockDataInteractionSession localOperationMask]): Deleted.
(-[MockDataInteractionSession externalOperationMask]): Deleted.
Replace various places where we called -_simulate* methods on WKWebView with calls to the
UIDragInteractionDelegate or UIDropInteractionDelegate (the WKContentView) instead. Also, adjust for some
mechanical renaming of drag and drop sessions.
(-[MockDataInteractionSession session]): Deleted.
* TestWebKitAPI/ios/UIKitSPI.h:
2017-09-11 Joseph Pecoraro <pecoraro@apple.com>
Make the WPT entry point for LayoutTests/http/wpt more discoverable
https://bugs.webkit.org/show_bug.cgi?id=176494
Reviewed by Youenn Fablet.
* Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
(run_server):
Output a tip for how to access the http/wpt tests.
2017-09-11 Mark Lam <mark.lam@apple.com>
Turn on exception scope verification for JSC tests.
https://bugs.webkit.org/show_bug.cgi?id=162351
<rdar://problem/29563911>
Reviewed by Saam Barati.
Added the option to --validateExceptionChecks=true option to BASE_OPTIONS in
run-jsc-stress-tests. This turns on exception scope verification on JSC test
runs (which currently does not include testapi).
Some stats on time to run JSC stress and mozilla tests:
1. Release build w/o --validateExceptionChecks=true: real 16m22.544s, user 156m24.080s, sys 123m3.649s
2. Debug build w/o --validateExceptionChecks=true: real 78m34.206s, user 1661m57.008s, sys 73m21.177s
3. Debug build w/ --validateExceptionChecks=true: real 77m41.106s, user 1656m13.924s, sys 73m42.309s
4. Debug build w/ --validateExceptionChecks=true --dumpSimulatedThrows=true: real 92m56.918s, user 2012m56.441s, sys 75m14.174s
The stats shows that (2) and (3) has effectively no time difference. Hence, the
cost of enabling --validateExceptionChecks=true is not significant.
It would be nice to enable --dumpSimulatedThrows=true as well, but (4) is about
21% slower than (3). To avoid making debug test runs a lot slower, we'll leave
--dumpSimulatedThrows=true off. We can manually add that when we see a regression
and need to debug the issue. Otherwise, we wont pay the price for it.
* Scripts/run-jsc-stress-tests:
2017-09-11 Myles C. Maxfield <mmaxfield@apple.com>
WSL should support for loops
https://bugs.webkit.org/show_bug.cgi?id=176682
Reviewed by Filip Pizlo.
Follows the pattern of the existing infrastructure of while loops.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitForLoop):
* WebGPUShadingLanguageRI/ForLoop.js: Copied from Tools/WebGPUShadingLanguageRI/LoopChecker.js.
(ForLoop):
(ForLoop.prototype.get origin):
(ForLoop.prototype.get initialization):
(ForLoop.prototype.get condition):
(ForLoop.prototype.get increment):
(ForLoop.prototype.get body):
(ForLoop.prototype.toString):
* WebGPUShadingLanguageRI/LoopChecker.js:
(LoopChecker.prototype.visitForLoop):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitForLoop):
* WebGPUShadingLanguageRI/Parse.js:
(parseFor):
* WebGPUShadingLanguageRI/ReturnChecker.js:
(ReturnChecker.prototype._isBoolCastFromLiteralTrue):
(ReturnChecker.prototype.visitWhileLoop):
(ReturnChecker.prototype.visitDoWhileLoop):
(ReturnChecker.prototype.visitForLoop):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitForLoop):
(Rewriter):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_forLoop):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitForLoop):
2017-09-11 Robin Morisset <rmorisset@apple.com>
Just added myself to the contributors.json file as a committer
Unreviewed
2017-09-10 Filip Pizlo <fpizlo@apple.com>
IntLiteral should prefer int32 during overload resolution
https://bugs.webkit.org/show_bug.cgi?id=176675
Reviewed by Myles Maxfield.
This makes intLiteralType prefer to resolve to int over other types.
This also adds tests that if you pass intLiteral to T, then you can make it work by saying
int(intLiteral).
* WebGPUShadingLanguageRI/IntLiteralType.js:
(IntLiteralType):
(IntLiteralType.prototype.conversionCost):
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.conversionCost):
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
(resolveOverloadImpl):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitIntLiteralType):
* WebGPUShadingLanguageRI/Test.js:
(TEST_intOverloadResolution):
(TEST_intOverloadResolutionReverseOrder):
(TEST_intOverloadResolutionGeneric):
(TEST_intLiteralGeneric):
* WebGPUShadingLanguageRI/UnificationContext.js:
(UnificationContext.prototype.get conversionCost):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitIntLiteralType):
2017-09-10 Filip Pizlo <fpizlo@apple.com>
WSL should be able to handle a simple constexpr type parameter
https://bugs.webkit.org/show_bug.cgi?id=176676
Reviewed by Myles Maxfield.
This adds a test that uses a constexpr type parameter, and then fixed enough bugs to get this to work.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.prototype.resolve):
* WebGPUShadingLanguageRI/CheckWrapped.js: Added.
(checkWrapped):
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitCallExpression):
(Evaluator):
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.substituteToUnification):
(Node.prototype.clone):
(Node):
* WebGPUShadingLanguageRI/Substitution.js:
(Substitution):
(Substitution.prototype.visitVariableRef):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_simpleConstexpr):
* WebGPUShadingLanguageRI/WrapChecker.js: Added.
(WrapChecker):
(WrapChecker.prototype.visitVariableRef):
(WrapChecker.prototype.visitTypeRef):
(WrapChecker.prototype.visitIntLiteral):
(WrapChecker.prototype._foundUnwrapped):
(WrapChecker.visitConstexprTypeParameter):
(WrapChecker.prototype.visitFuncParameter):
(WrapChecker.prototype.visitVariableDecl):
(WrapChecker.prototype.visitStructType):
(WrapChecker.prototype.visitNativeType):
2017-09-11 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE] Bump freetype version to 2.8.0
https://bugs.webkit.org/show_bug.cgi?id=176501
Reviewed by Michael Catanzaro.
Bump freetype on WPE like r221670 did on GTK.
* wpe/jhbuild.modules:
* wpe/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Removed.
2017-09-10 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION: [GTK] Generated HTML API documentation is missing descriptions
https://bugs.webkit.org/show_bug.cgi?id=176667
Reviewed by Michael Catanzaro.
This is happening since we moved the implementation files to glib dirs. The generate-gtkdoc script assumes that
header and implementation files are always in the same directory. To reduce the input we pass to gtk-doc we
ignore cpp files for which there isn't a public header. The code to do this check doesn't consider cpp files in
a different directory than the header file. It also assumes that header and cpp files have the same filename
except for the extension, which is true in all cases but WebKitWebView that we have two files WebKitWebView.cpp
and WebKitWebViewGtk.cpp.
* gtk/generate-gtkdoc:
(files_to_ignore): Check also cpp files with the Gtk suffix.
(files_to_ignore.add_file_if_exists): Check if a file with the given name exists in any of the source dirs.
2017-09-10 Myles C. Maxfield <mmaxfield@apple.com>
WSL should support while loops
https://bugs.webkit.org/show_bug.cgi?id=176581
Reviewed by Filip Pizlo.
There are a few interesting pieces to this patch:
1. Because the evaluator is just a node-based descent through the tree, the implementation of break
and continue are just "throw".
2. The ReturnChecker now has to return a three-state enum because of nested blocks. The outer block
cares about if the inner block has "break" as opposed to it having no returns nor breaks/continues.
3. ReturnChecker will treat "while (true)" the same as { }, but will not descend deeper for things
like "while (3 == 3)".
4. This patch also adds a few more boolean conditional functions like operator<().
5. I added another pass which makes sure there are no bare break/return keywords outside of loops.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Break.js: Copied from Tools/WebGPUShadingLanguageRI/CheckUnreachableCode.js.
(Break):
(Break.prototype.get origin):
(Break.prototype.toString):
* WebGPUShadingLanguageRI/CheckLoops.js: Copied from Tools/WebGPUShadingLanguageRI/CheckReturns.js.
(checkLoops):
* WebGPUShadingLanguageRI/CheckReturns.js:
(checkReturns):
* WebGPUShadingLanguageRI/CheckUnreachableCode.js:
(checkUnreachableCode):
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/Continue.js: Copied from Tools/WebGPUShadingLanguageRI/CheckReturns.js.
(Continue):
(Continue.prototype.get origin):
(Continue.prototype.toString):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitWhileLoop):
(Evaluator.prototype.visitBreak):
(Evaluator.prototype.visitContinue):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/LoopChecker.js: Copied from Tools/WebGPUShadingLanguageRI/ReturnChecker.js.
(LoopChecker):
(LoopChecker.prototype.visitFuncDef):
(LoopChecker.prototype.visitWhileLoop):
(LoopChecker.prototype.visitBreak):
(LoopChecker.prototype.visitContinue):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitWhileLoop):
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.visit):
* WebGPUShadingLanguageRI/Parse.js:
(parsePossibleRelationalInequality):
(parseBreak):
(parseContinue):
(parseWhile):
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/ReturnChecker.js:
(ReturnChecker):
(ReturnChecker.prototype.visitFuncDef):
(ReturnChecker.prototype.visitBlock):
(ReturnChecker.prototype.visitIfStatement):
(ReturnChecker.prototype.visitWhileLoop):
(ReturnChecker.prototype.visitReturn):
(ReturnChecker.prototype.visitBreak):
(ReturnChecker.prototype.visitContinue):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitContinue):
(Rewriter.prototype.visitBreak):
(Rewriter.prototype.visitWhileLoop):
(Rewriter):
* WebGPUShadingLanguageRI/StandardLibraryPrologue.js:
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_returnIf):
(TEST_simpleWhile):
* WebGPUShadingLanguageRI/UnreachableCodeChecker.js:
(UnreachableCodeChecker):
(UnreachableCodeChecker.prototype.visitBlock):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitWhileLoop):
(Visitor.prototype.visitContinue):
(Visitor.prototype.visitBreak):
* WebGPUShadingLanguageRI/WhileLoop.js: Copied from Tools/WebGPUShadingLanguageRI/CheckReturns.js.
(WhileLoop):
(WhileLoop.prototype.get origin):
(WhileLoop.prototype.get conditional):
(WhileLoop.prototype.get body):
(WhileLoop.prototype.toString):
2017-09-07 Filip Pizlo <fpizlo@apple.com>
WSL overload resolution should not be cascading
https://bugs.webkit.org/show_bug.cgi?id=176333
Reviewed by Myles Maxfield.
This removes the cascading nature of overload resolution that WSL used to have, and replaces it with
something C++-like. If there are multiple overload candidates that match the callsite, then we resolve
them against each other. Anytime a function cannot be resolved onto another function, it is removed,
since this means that this function is in some way more general than the other one, and we are just
looking for the most specific function.
If this process ends with only one function being selected, then we succeed, else we fail.
Also changed the syntax for defining generic casts to:
operator<T> Thingy<T>(things)
Also fixed parsing of cast expressions. It's now possible to say a cast expression in WSL.
The removal of cascading causes some problems. For example, the following two operators in our standard
library are ambiguous for bool(bool):
operator<T> T(T)
operator<T:Equatable> bool(T)
I think that what we really want is to say that the following operators are restricted to the standard
library:
operator<T> T()
operator<T> T(T)
It should not be possible to ever overload these.
These changes are mostly tested by existing tests and the changes in the standard library, which has to
be parsed for every test.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/ArrayRefType.js:
(ArrayRefType.prototype.unifyImpl):
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression):
(CallExpression.prototype.get isCast):
(CallExpression.prototype.get returnType):
(CallExpression.prototype.resolve):
(CallExpression.prototype.becomeCast):
(CallExpression.prototype.setCastData):
(CallExpression.prototype.toString):
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitLogicalNot):
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.get returnTypeForOverloadResolution):
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef):
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique.FindTypeVariable.prototype.visitTypeVariable):
(FuncInstantiator.prototype.getUnique.FindTypeVariable):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
* WebGPUShadingLanguageRI/FunctionLikeBlock.js:
(FunctionLikeBlock.prototype.toString):
(FunctionLikeBlock):
* WebGPUShadingLanguageRI/InferTypesForCall.js: Added.
(inferTypesForCall):
* WebGPUShadingLanguageRI/Inline.js:
(resolveInlinedFunction):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer):
(Lexer.prototype.next):
* WebGPUShadingLanguageRI/NameContext.js:
(NameContext):
(NameContext.prototype.mapFor):
(NameContext.prototype.add):
(NameContext.prototype.get let):
(NameContext.prototype.Symbol.iterator):
(NameContext.get currentStatement): Deleted.
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProgram):
(NameResolver.prototype.determinePossibleOverloads):
(NameResolver.prototype.visitProtocolFuncDecl):
(NameResolver.prototype.visitCallExpression):
(NameResolver):
* WebGPUShadingLanguageRI/NativeFunc.js:
(NativeFunc):
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.visit):
* WebGPUShadingLanguageRI/Parse.js:
(parsePossiblePrefix):
(parseFuncDecl):
(parseNativeFunc):
(parseNative):
(parsePreferredFuncDef):
(parse):
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/Program.js:
(Program.prototype.resolveFuncOverload): Deleted.
(Program.prototype.get nameContext): Deleted.
* WebGPUShadingLanguageRI/ProtocolDecl.js:
(ProtocolDecl.prototype.inherits):
(ProtocolDecl.prototype.hasHeir):
* WebGPUShadingLanguageRI/PtrType.js:
(PtrType.prototype.unifyImpl):
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
(resolveOverloadImpl):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitProtocolFuncDecl):
(Rewriter.prototype.processDerivedCallData):
(Rewriter.prototype.visitCastExpression): Deleted.
* WebGPUShadingLanguageRI/StandardLibrary.js: Added.
(preferred.operator.T.T):
(operator.T.Equatable.bool):
* WebGPUShadingLanguageRI/StandardLibraryEpilogue.js: Removed.
* WebGPUShadingLanguageRI/StandardLibraryPrologue.js: Removed.
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(doLex):
(checkUInt):
(checkBool):
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.prototype.toString):
(TypeRef):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitCallExpression):
(Visitor.prototype.visitCastExpression): Deleted.
2017-09-10 Brady Eidson <beidson@apple.com>
Try to avoid creating the default WKWebsiteDataStore until its actually needed.
<rdar://problem/33164453> and https://bugs.webkit.org/show_bug.cgi?id=176551
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2017-09-10 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Improve Ctrl+W and Ctrl+Q shortcuts in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=176619
Reviewed by Carlos Garcia Campos.
There are two different problems here. First, Ctrl+W is closing the entire window. That made
sense when I implemented the shortcut a couple years ago, but now MiniBrowser supports tabs
and it should really close only one single tab. Fix that.
Next, the keyboard shortcuts are not using webkit_web_view_try_close() and so are bypassing
onbeforeunload handlers, which are respected when closing with the mouse. Fix that too.
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowTryCloseCurrentWebView):
(browserWindowTryClose):
(browser_window_init):
2017-09-07 Myles C. Maxfield <mmaxfield@apple.com>
Add "if" statements to WSL
https://bugs.webkit.org/show_bug.cgi?id=176294
Reviewed by Filip Pizlo.
Rolling back in after skipping Test.js on debug.
Fairly straightforward implementation. ReturnChecker only returns true iff there is an else block,
and both the if body and the else body recursively return true.
In order to accept both syntaxes:
if (foo)
bar;
... and ...
if (foo) {
bar;
}
This patch lets parseStatement() call parseBlock(). This means that the following is valid:
int x = 7;
if (foo) {
int x = 8;
// x is 8 here!
}
// x is 7 here!
This production means that these blocks don't require "if" statements, so you can just have:
int foo() {
int x = 7;
{
int x = 8;
// x is 8 here!
}
// x is 7 here!
}
However, this patch doesn't touch the following use-case:
if (int x = bar()) {
// use x here
}
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitIfStatement):
* WebGPUShadingLanguageRI/IfStatement.js: Copied from Tools/WebGPUShadingLanguageRI/TypeDef.js.
(IfStatement):
(IfStatement.prototype.get origin):
(IfStatement.prototype.get conditional):
(IfStatement.prototype.get body):
(IfStatement.prototype.get elseBody):
(IfStatement.prototype.toString):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitIfStatement):
* WebGPUShadingLanguageRI/Parse.js:
(parseTypeParameters):
(parseIfStatement):
(parseStatement):
* WebGPUShadingLanguageRI/ReturnChecker.js:
(ReturnChecker.prototype.visitIfStatement):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitIfStatement):
(Rewriter):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_variableShadowing):
(TEST_ifStatement):
(TEST_ifElseStatement):
(TEST_ifElseIfStatement):
(TEST_ifElseIfElseStatement):
(TEST_returnIf):
(TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
* WebGPUShadingLanguageRI/TypeDef.js:
(TypeDef.prototype.toString):
(TypeDef):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitIfStatement):
2017-09-09 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Unreviewed, fix typo forwad -> forward
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowUpdateNavigationActions):
(backForwardlistChanged):
(browserWindowSwitchTab):
(backForwadlistChanged): Deleted.
2017-09-09 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r221801.
This change introduced a webkitpy test failure.
Reverted changeset:
"bisect-builds doesn't work due to missing requests module"
https://bugs.webkit.org/show_bug.cgi?id=175709
http://trac.webkit.org/changeset/221801
2017-09-09 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r221776.
This change caused wsl-tests.yaml/Test.js to time out on Debug
JSC bots.
Reverted changeset:
"Add "if" statements to WSL"
https://bugs.webkit.org/show_bug.cgi?id=176294
http://trac.webkit.org/changeset/221776
2017-09-09 Michael Catanzaro <mcatanzaro@igalia.com>
MiniBrowser closes tab instead of window on close signal
https://bugs.webkit.org/show_bug.cgi?id=176587
Reviewed by Carlos Garcia Campos.
This has been broken since we added support for multiple tabs. We need to run try_close for
every open tab, not just the current one. If there are no onbeforeonload handlers then all
tabs will close; if there are some, then they'll be respected, but the remaining tabs will
be closed.
Note that we cannot simply iterate through the tabs of the GtkNotebook, as we'd be deleting
tabs as we go, so save all the tabs into a separate list and then try to close each in turn.
* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowTryClose):
(browserWindowDeleteEvent):
2017-09-09 Zan Dobersek <zdobersek@igalia.com>
Unreviewed WPE build fix.
* TestWebKitAPI/PlatformWPE.cmake:
Link WebCore archives into the TestWebCore binary as a group.
2017-09-08 Lucas Forschler <lforschler@apple.com>
bisect-builds doesn't work due to missing requests module
https://bugs.webkit.org/show_bug.cgi?id=175709
Reviewed by Ryosuke Niwa.
* Scripts/bisect-builds: update import to webkitpy.thirdparty.autoinstalled
* Scripts/webkitpy/thirdparty/__init__.py: add logic to install requests module.
(AutoinstallImportHook.find_module):
(AutoinstallImportHook):
(AutoinstallImportHook._install_requests):
* Scripts/webkitpy/thirdparty/__init___unittest.py:
(ThirdpartyTest.test_imports):
2017-09-08 Lucas Forschler <lforschler@apple.com>
Test commit to verify trac sync is working.
2017-09-08 Lucas Forschler <lforschler@apple.com>
Test commit to verify git sync is working.
2017-09-08 Lucas Forschler <lforschler@apple.com>
bisect-builds should not print out extracting command
https://bugs.webkit.org/show_bug.cgi?id=175632
Reviewed by Alexey Proskuryakov.
* Scripts/bisect-builds:
(extract_archive):
2017-09-07 Joseph Pecoraro <pecoraro@apple.com>
WebKit should claim that it can show responses for a broader range of JSON MIMETypes
https://bugs.webkit.org/show_bug.cgi?id=176252
<rdar://problem/34212885>
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm: Added.
(-[WKNavigationResponseTestNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[WKNavigationResponseTestNavigationDelegate webView:didCommitNavigation:]):
(-[WKNavigationResponseTestSchemeHandler webView:startURLSchemeTask:]):
(-[WKNavigationResponseTestSchemeHandler webView:stopURLSchemeTask:]):
(TEST):
Test for canShowMIMEType with multiple JSON mime types and a garbage mime type.
Previously canShowMIMEType would have been YES for "application/json" but
NO for "application/vnd.api+json". Now it shows YES for both.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/MIMETypeRegistry.cpp: Added.
(TestWebKitAPI::TEST):
Tests for MIMETypeRegistry's dynamic JSON mime type detection.
2017-09-07 Matthew Stewart <matthew_r_stewart@apple.com>
Add Live PLT implemented with WebDriver
https://bugs.webkit.org/show_bug.cgi?id=176436
Reviewed by Stephanie Lewis.
Adds a new PLT that runs on live websites.
* Scripts/run-webdriver-plt.py: Added.
(parse_args):
(start):
(make_suites):
(main):
* Scripts/webkitpy/webdriver_plt/__init__.py: Added.
* Scripts/webkitpy/webdriver_plt/liveplt.py: Added.
(PageLoadTest):
(PageLoadTest.__init__):
(PageLoadTest.start):
(PageLoadTest.run_suite):
(PageLoadTest._get_driver_for_browser):
(PageLoadTest._setup_browser_window):
(PageLoadTest.run_one_test):
(PageLoadTest.get_results):
* Scripts/webkitpy/webdriver_plt/pltresults.py: Added.
(PLTResults):
(PLTResults.__init__):
(PLTResults.__add__):
(PLTResults.add_timing_result):
(PLTResults.mean):
(PLTResults.geometric_mean):
(PLTResults.mean_coef_variance):
(PLTResults.print_results):
(PLTResults.print_url_results):
(PLTResults._format_time):
* Scripts/webkitpy/webdriver_plt/suites/__init__.py: Added.
* Scripts/webkitpy/webdriver_plt/suites/arabic.suite: Added.
* Scripts/webkitpy/webdriver_plt/suites/cjk.suite: Added.
* Scripts/webkitpy/webdriver_plt/suites/news.suite: Added.
* Scripts/webkitpy/webdriver_plt/suites/search.suite: Added.
* Scripts/webkitpy/webdriver_plt/suites/shopping.suite: Added.
* Scripts/webkitpy/webdriver_plt/suites/social.suite: Added.
* Scripts/webkitpy/webdriver_plt/suites/suite.py: Added.
(Suite):
(Suite.__init__):
(Suite.get_available_suites):
* Scripts/webkitpy/webdriver_plt/urlresults.py: Added.
(URLResults):
(URLResults.__init__):
(URLResults.__add__):
(URLResults.mean):
(URLResults.coef_variance):
(URLResults.print_results):
(URLResults._format_time):
2017-09-07 Myles C. Maxfield <mmaxfield@apple.com>
Add "if" statements to WSL
https://bugs.webkit.org/show_bug.cgi?id=176294
Reviewed by Filip Pizlo.
Fairly straightforward implementation. ReturnChecker only returns true iff there is an else block,
and both the if body and the else body recursively return true.
In order to accept both syntaxes:
if (foo)
bar;
... and ...
if (foo) {
bar;
}
This patch lets parseStatement() call parseBlock(). This means that the following is valid:
int x = 7;
if (foo) {
int x = 8;
// x is 8 here!
}
// x is 7 here!
This production means that these blocks don't require "if" statements, so you can just have:
int foo() {
int x = 7;
{
int x = 8;
// x is 8 here!
}
// x is 7 here!
}
However, this patch doesn't touch the following use-case:
if (int x = bar()) {
// use x here
}
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitIfStatement):
* WebGPUShadingLanguageRI/IfStatement.js: Copied from Tools/WebGPUShadingLanguageRI/TypeDef.js.
(IfStatement):
(IfStatement.prototype.get origin):
(IfStatement.prototype.get conditional):
(IfStatement.prototype.get body):
(IfStatement.prototype.get elseBody):
(IfStatement.prototype.toString):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitIfStatement):
* WebGPUShadingLanguageRI/Parse.js:
(parseTypeParameters):
(parseIfStatement):
(parseStatement):
* WebGPUShadingLanguageRI/ReturnChecker.js:
(ReturnChecker.prototype.visitIfStatement):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitIfStatement):
(Rewriter):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_variableShadowing):
(TEST_ifStatement):
(TEST_ifElseStatement):
(TEST_ifElseIfStatement):
(TEST_ifElseIfElseStatement):
(TEST_returnIf):
(TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
* WebGPUShadingLanguageRI/TypeDef.js:
(TypeDef.prototype.toString):
(TypeDef):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitIfStatement):
2017-09-07 Lucas Forschler <lforschler@apple.com>
Test commit after server upgrade from subversion 1.9.5 to 1.9.7
2017-09-07 Chris Dumez <cdumez@apple.com>
[WK2] Add C API to retrieve the originating page of a WKDownload
https://bugs.webkit.org/show_bug.cgi?id=176557
<rdar://problem/34314776>
Reviewed by Alex Christensen.
Add layout test coverage for both the ObjC and C API.
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
(TestWebKitAPI::decideDestinationWithSuggestedFilename):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[RedirectedDownloadDelegate _downloadDidStart:]):
(TEST):
2017-09-07 Filip Pizlo <fpizlo@apple.com>
WSL Node.prototype.visit should probably do memoization
https://bugs.webkit.org/show_bug.cgi?id=176286
Reviewed by Mark Lam.
Visitors can sometimes revisit the same thing. For example, we may visit a FuncDef because it belongs
to Program and we may visit it again because a CallExpression resolved to it. That's just plain silly.
Our tests don't currently do this, so it's not a performance problem, yet. Also, we usually avoid that
kind of repetitive visiting inside the visitor implementations. But as far as I can tell, this is an
emergent property rather than a deliberate design.
This change just makes the policy super explicit. If you visit something more than once with the same
visitor, you get the same answer back. This is achieved by means of a memo table inside each visitor.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/FuncInstantiator.js:
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.visit):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor):
* WebGPUShadingLanguageRI/VisitorBase.js: Added.
(VisitorBase):
2017-09-07 Wenson Hsieh <wenson_hsieh@apple.com>
[Directory Upload] Extend drag and drop support to iOS
https://bugs.webkit.org/show_bug.cgi?id=176492
<rdar://problem/34291584>
Reviewed by Tim Horton.
Adds two new iOS drag and drop unit tests, which both exercise the DataTransferItem.webKitGetAsEntry codepath
upon drop. (...)GetFolderAsEntry creates a new folder in the temporary directory and uses it to generate an item
provider. This item provider is then dropped over a custom drop handling element, which writes information about
the exposed FileSystemEntries into a textarea. (...)ExternalSourceDataTransferItemGetPlainTextFileAsEntry does
something similar, except that it only drops a plain text file instead.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/DataTransferItem-getAsEntry.html: Added.
Introduce a new test page that dumps information about DataTransferItems' file system entries upon drop.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(runTestWithTemporaryTextFile):
(runTestWithTemporaryFolder):
Introduce helpers to set up and tear down temporary files and folders over the duration of a test.
(TestWebKitAPI::setUpTestWebViewForDataTransferItems):
(TestWebKitAPI::TEST):
2017-09-07 Filip Pizlo <fpizlo@apple.com>
WSL should check recursion
https://bugs.webkit.org/show_bug.cgi?id=176553
Reviewed by Michael Saboff and Mark Lam.
This adds a recursion checker. Previously, we would only check for recursion during inlining, but that
generally only happens when we call the function.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CheckRecursion.js: Added.
(checkRecursion):
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/RecursionChecker.js: Added.
(RecursionChecker):
(RecursionChecker.prototype.visitFuncDef):
(RecursionChecker.prototype.visitCallExpression):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_simpleRecursion):
2017-09-07 Chris Dumez <cdumez@apple.com>
[WK2] Notify client when downloads are redirected
https://bugs.webkit.org/show_bug.cgi?id=176481
<rdar://problem/34309065>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]):
(-[RedirectedDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
(-[RedirectedDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[RedirectedDownloadDelegate _downloadDidFinish:]):
(TEST):
Add API test coverage.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::downloadDidReceiveServerRedirectToURL):
* WebKitTestRunner/TestController.h:
Add layout test infrastructure.
2017-09-07 Per Arne Vollan <pvollan@apple.com>
[Win] fast/canvas/2d.getPath.modification.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=176534
Reviewed by Alex Christensen.
We need to enable Inspector additions at runtime in order to expose the getPath function.
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
2017-09-07 Filip Pizlo <fpizlo@apple.com>
WSL tests should run in run-javascriptcore-tests
https://bugs.webkit.org/show_bug.cgi?id=176550
Reviewed by Keith Miller.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* WebGPUShadingLanguageRI/wsl-tests.yaml: Added.
2017-09-07 Lucas Forschler <lforschler@apple.com>
bisect-builds started failing with invalid json
https://bugs.webkit.org/show_bug.cgi?id=176478
Once we hit 1000 items in our dynamoDB, we ran into an upper limit on the AWS API Gateway looping mechanism.
This prevented us from doing a body mapping template to reformat the json. This fix is to simply return the raw json,
and adjust the json parsing in our code. The AWS rest API has been fixed, and updated to v2.
This change is for the script which operates against the endpoint.
Reviewed by Aakash Jain.
* Scripts/bisect-builds:
(get_sorted_revisions):
2017-09-07 Filip Pizlo <fpizlo@apple.com>
[WSL] Rationalize how protocol inheritance deals with type parameters
https://bugs.webkit.org/show_bug.cgi?id=176334
Reviewed by Mark Lam.
This adds a bunch of tests for structs, protocols, and functions interacting in interesting
ways. The most complex of these tests triggers the case where the protocol contains a function
with one type parameter and the real function has more than one. This should give a WTypeError,
and now it does.
* WebGPUShadingLanguageRI/ProtocolDecl.js:
(ProtocolDecl.prototype.hasHeir): Fix the handling of a mismatch of number of type parameters by actually passing the type parameters and then correctly handling the error.
* WebGPUShadingLanguageRI/Test.js: Add a bunch of tests for this case and a lot of other protocol cases.
(TEST_protocolMonoSigPolyDef):
(TEST_protocolPolySigPolyDef):
(TEST_protocolDoublePolySigDoublePolyDef):
(TEST_protocolDoublePolySigDoublePolyDefExplicit):
(TEST_protocolMonoPolySigDoublePolyDefExplicit):
* WebGPUShadingLanguageRI/TypeVariable.js:
(TypeVariable.prototype.get origin): This wasn't implemented before, which made error reporting harder.
2017-09-07 Per Arne Vollan <pvollan@apple.com>
[Win] Dashboard test is failing.
https://bugs.webkit.org/show_bug.cgi?id=176527
Reviewed by Brent Fulgham.
Skip test on Windows since WebKitTestRunner is required, but not built on Windows.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(TestFactory.__init__):
2017-09-07 Adrian Perez de Castro <aperez@igalia.com>
[WPE][CMake] Add "dist" and "distcheck" targets
https://bugs.webkit.org/show_bug.cgi?id=176448
Reviewed by Carlos Garcia Campos.
Add "dist" and "distcheck" CMake targets, which create release tarballs.
These are available only when configuring with -DDEVELOPER_MODE=TRUE.
* wpe/manifest.txt.in: Added.
2017-09-07 Per Arne Vollan <pvollan@apple.com>
[Win] Enable DatatransferItems in DRT.
https://bugs.webkit.org/show_bug.cgi?id=176424
Reviewed by Brent Fulgham.
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
2017-09-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bump libxml2 version to 1.9.5
https://bugs.webkit.org/show_bug.cgi?id=176502
Reviewed by Carlos Alberto Lopez Perez.
It has been released very recently, but it fixes the issues that prevented us from upgrading to 1.9.4.
* gtk/jhbuild.modules:
2017-09-06 Joseph Pecoraro <pecoraro@apple.com>
Remove new-run-webkit-httpd as it appears to be old
https://bugs.webkit.org/show_bug.cgi?id=176493
Reviewed by Alexey Proskuryakov.
* Scripts/new-run-webkit-httpd: Removed.
2017-09-06 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's pageDidScroll
https://bugs.webkit.org/show_bug.cgi?id=176482
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[DidScrollDelegate _webViewDidScroll:]):
(TEST):
2017-09-06 Eric Carlson <eric.carlson@apple.com>
Require LoggingHelper overrides to provide identifier
https://bugs.webkit.org/show_bug.cgi?id=176477
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::TEST_F):
2017-09-06 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange
https://bugs.webkit.org/show_bug.cgi?id=176474
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]):
(TEST):
2017-09-06 Alex Christensen <achristensen@webkit.org>
Unreviewed, rolling out r221694.
broke build
Reverted changeset:
"Add WKUIDelegatePrivate equivalent of WKPageUIClient's
pinnedStateDidChange"
https://bugs.webkit.org/show_bug.cgi?id=176474
http://trac.webkit.org/changeset/221694
2017-09-06 Per Arne Vollan <pvollan@apple.com>
[Win] test-webkitpy test timeout_context_unittest is failing.
https://bugs.webkit.org/show_bug.cgi?id=176471
Reviewed by Brent Fulgham.
This assert failure is possibly caused by different time resolution on
various platforms.
* Scripts/webkitpy/common/timeout_context_unittest.py:
(TimeoutContextTests.test_timeout_data):
2017-09-06 Aakash Jain <aakash_jain@apple.com>
status-bubbles turn orange after checking relevance of patch
https://bugs.webkit.org/show_bug.cgi?id=176457
Reviewed by Alexey Proskuryakov.
* QueueStatusServer/handlers/statusbubble.py: Added "Checked relevance of patch" as a progress_statuses.
2017-09-06 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange
https://bugs.webkit.org/show_bug.cgi?id=176474
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]):
(TEST):
2017-09-06 Filip Pizlo <fpizlo@apple.com>
WSL: Inliner doesn't allow double-negation
https://bugs.webkit.org/show_bug.cgi?id=176440
Reviewed by Mylex Maxfield.
The problem was that we were visiting the operands to calls while inside doVisit. This is too strict
since it rejects nested calls like foo(foo(x)). The solution is to visit the operands to calls before
entering doVisit.
This also fixes some other issues in the parser that made the Inliner's error really strange.
* WebGPUShadingLanguageRI/Func.js:
(Func):
* WebGPUShadingLanguageRI/Inliner.js:
(Inliner.prototype.visitCallExpression):
(Inliner):
* WebGPUShadingLanguageRI/Parse.js:
(parseOperatorFuncDefValues):
(parseNonOperatorFuncDefValues):
(parseGenericFuncDefValues):
(parseFuncDecl):
* WebGPUShadingLanguageRI/Test.js:
* WebGPUShadingLanguageRI/VisitingSet.js:
(VisitingSet.prototype.doVisit):
(VisitingSet):
2017-09-06 Myles C. Maxfield <mmaxfield@apple.com>
WSL should support the bool type
https://bugs.webkit.org/show_bug.cgi?id=176285
Reviewed by Filip Pizlo.
I forgot to commit a couple files.
* WebGPUShadingLanguageRI/StandardLibraryEpilogue.js: Added.
(const.standardLibraryEpilogue.operator.bool.T.Equatable):
* WebGPUShadingLanguageRI/StandardLibraryPrologue.js: Added.
(operator.T.T):
2017-09-06 Myles C. Maxfield <mmaxfield@apple.com>
WSL should correctly handle the interaction between casting operators and complex types
https://bugs.webkit.org/show_bug.cgi?id=176316
Reviewed by Filip Pizlo.
This allows the standard library to include all identity cast operators for all exsting
and yet-to-exist types. The standard library now has a function with the signature:
operator T<><T>(T). This means "for all T, define a cast operator from T to T<>." The
duplicate <>s lets us say things like operator OutputVector<T><T>(InputVector<T> x).
For testing, this patch also adds the ability to cast an arbitrary Equatable type to bool,
by comparing the value to the default value for that type.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CastExpression.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFuncInstance.js.
(CastExpression):
(CastExpression.prototype.get functionName):
(CastExpression.prototype.get returnType):
(CastExpression.prototype.toString):
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.toDeclString):
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
(FuncInstantiator.prototype.getUnique.Instantiate):
(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):
* WebGPUShadingLanguageRI/Inliner.js:
(Inliner.prototype.visitCastExpression):
(Inliner):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/NativeFunc.js:
* WebGPUShadingLanguageRI/NativeFuncInstance.js:
(NativeFuncInstance):
* WebGPUShadingLanguageRI/Parse.js:
(parsePossiblePrefix):
(parseFuncDecl):
(parseOperatorFuncDefValues): Deleted.
(parseNonOperatorFuncDefValues): Deleted.
(parseGenericFuncDefValues): Deleted.
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/Program.js:
(Program.prototype.resolveFuncOverload):
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
(resolveOverloadImpl):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.processDerivedCallData):
(Rewriter.prototype.visitCastExpression):
(Rewriter.prototype.visitCallExpression):
* WebGPUShadingLanguageRI/StandardLibrary.js: Removed.
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
* WebGPUShadingLanguageRI/TypeDefResolver.js:
(TypeDefResolver):
(TypeDefResolver.prototype.visitFuncDef): Deleted.
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitCastExpression):
2017-09-06 Daniel Bates <dabates@apple.com>
Copy WebKit Permalink may generate wrong URL with SVN checkout
https://bugs.webkit.org/show_bug.cgi?id=176427
Reviewed by Darin Adler.
Fixes an issue where Copy WebKit Permalink would generate an incorrect URL for
any file not in the top-level directory of the repository when using an SVN
checkout of WebKit.
Copy WebKit Permalink changes directories to the containing directory D of the
active Xcode document F before running "svn info <path to F>". Currently we use
the value of "Path" from the output of "svn info" when generating the permalink.
This path is relative to D. But we want the path to F relative to the top-level
checkout directory. We need to explicitly compute this.
* CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow:
2017-09-06 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bump freetype version to 2.8.0
https://bugs.webkit.org/show_bug.cgi?id=176351
Reviewed by Carlos Alberto Lopez Perez.
Remove the patch we were using since it was reverted upstream.
* gtk/jhbuild.modules:
* gtk/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Removed.
2017-09-06 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com>
[Win] Tools/TestWebKitAPI/Tests/WTF/PriorityQueue.cpp fails to compile with MSVC 2015
https://bugs.webkit.org/show_bug.cgi?id=176442
Reviewed by Keith Miller.
* TestWebKitAPI/Tests/WTF/PriorityQueue.cpp:
(TEST):
2017-09-05 Darin Adler <darin@apple.com>
Fix a few minor problems found while working toward removing unneeded calls to updateStyle
https://bugs.webkit.org/show_bug.cgi?id=176279
Reviewed by Antti Koivisto.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setSelectedChild const): Handle null here. The old code instead
would trigger an Objective-C exception unnecessarily.
2017-09-05 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS WK2] Add plumbing for WKContentView to ask the web process for additional drag items
https://bugs.webkit.org/show_bug.cgi?id=176348
Work towards <rdar://problem/31144674>
Reviewed by Tim Horton.
Introduces new test infrastructure to simulate tapping to add additional items to the current drag session. We
add -[DataInteractionSimulator runFrom:to:additionalItemRequestLocations:], for which the last argument is a
dictionary mapping progress (a double between 0 and 1) to NSValues representing the location from which the drag
and drop simulation will request an additional drag item. During the simulated drag and drop, when the progress
value exceeds a value in the map of remaining additional item request locations, we halt drag simulation
progress for that runloop and instead request additional items from the location specified.
The only (useful) passing test we can create using the new machinery is one that verifies that preventDefault()
on dragstart works as expected, preventing additional items from being added. While this trivially passes now,
since the web-process-side of the additional items flow is not yet implemented, it should continue to pass after
the web process portion is implemented.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/selected-text-image-link-and-editable.html: Added.
Add a new test page that contains some non-editable text, an image, a link, and a rich text editable area.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[MockDragDropSession addItems:]):
Convenience method to add additional mock drag items to a drag or drop session.
(-[DataInteractionSimulator _resetSimulatedState]):
(-[DataInteractionSimulator runFrom:to:]):
Converted into a convenience wrapper around the latter version, passing in nil for the additional item request
locations dictionary.
(-[DataInteractionSimulator runFrom:to:additionalItemRequestLocations:]):
(-[DataInteractionSimulator _enqueuePendingAdditionalItemRequestLocations]):
(-[DataInteractionSimulator _sendQueuedAdditionalItemRequest]):
New helper methods to detect when and where additional items should be "added", and subsequently simulate adding
drag items at these given locations.
(-[DataInteractionSimulator _advanceProgress]):
2017-09-05 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's mouseDidMoveOverElement
https://bugs.webkit.org/show_bug.cgi?id=176428
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[MouseMoveOverElementDelegate _webView:mouseDidMoveOverElement:withFlags:userInfo:]):
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView mouseMoveToPoint:withFlags:]):
2017-09-05 Matthew Stewart <matthew_r_stewart@apple.com>
Benchmark Runner WebDriver maximize window on browser launch
https://bugs.webkit.org/show_bug.cgi?id=175702
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
(LinuxBrowserDriver.launch_webdriver): added driver.maximize_window()
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver._launch_webdriver): added driver.maximize_window()
* Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
(WebDriverBenchmarkRunner._run_one_test): added driver.quit()
2017-09-05 Matthew Stewart <matthew_r_stewart@apple.com>
Fix Benchmark Runner selenium autoinstall imports
https://bugs.webkit.org/show_bug.cgi?id=175727
Reviewed by Stephanie Lewis.
This fixes run-benchmark taking a long time to start with WebDriver.
Inside webdriver's __init__.py file, it imports many other modules.
So if we try to directly import autoinstalled.selenium.webdriver, it
will re-run the autoinstall __init__.py for each new imported module
that contains ".selenium"
TODO: fix this inside the autoinstall code, to only do one install per
import.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:
(LinuxChromeDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:
(LinuxFirefoxDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver.launch_driver):
(OSXChromeCanaryDriver.launch_driver):
(create_chrome_options):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxDriver.launch_driver):
(OSXFirefoxNightlyDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
(WebDriverBenchmarkRunner._run_one_test):
2017-09-05 Aakash Jain <aakash_jain@apple.com>
EWS should report when a step succeeds
https://bugs.webkit.org/show_bug.cgi?id=176332
<rdar://problem/25224607>
Reviewed by Sam Weinig.
Most of the EWSes report only if a step fails, but do not report when a step succeed. For e.g.: If a build succeeds,
EWS does not report it. Information about a step passing is sometimes very valuable, especially when waiting for a
patch to complete processing. Sometimes, patch authors know that their changes are not covered by any tests. Having EWS
display that build was successful and it is currently running tests is valuable.
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.command_passed): Update the EWS status server when a command pass. This is
similar to what is done in Commit Queue and Style Queue.
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(EarlyWarningSystemTest._default_expected_logs): Updated unit-tests appropriately.
2017-09-05 Myles C. Maxfield <mmaxfield@apple.com>
WSL should support the bool type
https://bugs.webkit.org/show_bug.cgi?id=176285
Reviewed by Filip Pizlo.
Very similar to the int and uint types. This patch also adds support for a logical negation expression "!x".
This patch also reverts the ability of the program author to create their own "operator!()", and instead
adds the ability of the program author to create their own "operator bool()". The code is generic, so
programmers can make two arbitrary types Foo and Bar, and implement a "operator Bar(Foo)." The logical
negation expression is a built-in, and requires its argument be a bool.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/BoolLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFunc.js.
(BoolLiteral):
(BoolLiteral.prototype.get value):
(BoolLiteral.prototype.get isConstexpr):
(BoolLiteral.prototype.toString):
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitBoolLiteral):
(Evaluator.prototype.visitLogicalNot):
* WebGPUShadingLanguageRI/Func.js:
(Func):
(Func.prototype.get isCast):
(Func.prototype.toDeclString):
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef):
(FuncDef.prototype.get body):
(FuncDef.prototype.rewrite):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/LogicalNot.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFunc.js.
(LogicalNot):
(LogicalNot.prototype.get operand):
(LogicalNot.prototype.toString):
* WebGPUShadingLanguageRI/NativeFunc.js:
(NativeFunc):
* WebGPUShadingLanguageRI/Parse.js:
(parseTerm):
(parsePossiblePrefix):
(parsePossibleRelationalEquality):
(parseFuncName):
(parseOperatorFuncDefValues):
(parseNonOperatorFuncDefValues):
(parseGenericFuncDefValues):
(parseFuncDecl):
(parseProtocolFuncDecl):
(parseFuncDef):
(parseNative):
(parse):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitBoolLiteral):
(Rewriter.prototype.visitLogicalNot):
(Rewriter):
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(makeUInt):
(makeBool):
(checkUInt):
(checkBool):
(TEST_literalBool):
(TEST_identityBool):
(TEST_intSimpleMath):
(TEST_uintSimpleMath):
(TEST_equality):
(TEST_logicalNegation):
(TEST_notEquality):
(TEST_equalityTypeFailure):
(TEST_add1): Deleted.
* WebGPUShadingLanguageRI/TypeDefResolver.js:
(TypeDefResolver.prototype.visitFuncDef):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitBoolLiteral):
(Visitor.prototype.visitLogicalNot):
2017-09-05 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r221603.
This caused accessibility/mac/select-element-selection-with-
optgroups.html to consistently timeout on macOS
Reverted changeset:
"Fix a few minor problems found while working toward removing
unneeded calls to updateStyle"
https://bugs.webkit.org/show_bug.cgi?id=176279
http://trac.webkit.org/changeset/221603
2017-09-05 Youenn Fablet <youenn@apple.com>
WebKitTestRunner should set the cache storage directory path
https://bugs.webkit.org/show_bug.cgi?id=176373
Reviewed by Chris Dumez.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generateContextConfiguration const):
2017-09-05 Joseph Pecoraro <pecoraro@apple.com>
test262: Completion values for control flow do not match the spec
https://bugs.webkit.org/show_bug.cgi?id=171265
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests:
Include a :failDueToOutdatedOrBadTest to mark failures with justification.
2017-09-05 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's unavailablePluginButtonClicked
https://bugs.webkit.org/show_bug.cgi?id=176274
<rdar://problem/29270035>
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[PluginDelegate _webView:unavailablePluginButtonClickedWithReason:pluginInfo:]):
(TEST):
2017-09-05 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Wrong use of PLUGIN_ARCHITECTURE(X11) in several places
https://bugs.webkit.org/show_bug.cgi?id=176329
Reviewed by Michael Catanzaro.
* CMakeLists.txt: Build TestNetscapePlugIn when NETSCAPE_PLUGIN_API is enabled and only link to X11 libraries
when building the X11 target.
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
* DumpRenderTree/TestNetscapePlugIn/Tests/unix/CallInvalidateRectWithNullNPPArgument.cpp: Renamed from Tools/DumpRenderTree/TestNetscapePlugIn/Tests/x11/CallInvalidateRectWithNullNPPArgument.cpp.
* DumpRenderTree/TestNetscapePlugIn/main.cpp:
(NP_Initialize):
(NPP_HandleEvent):
(NPP_GetValue):
2017-09-04 Eric Carlson <eric.carlson@apple.com>
Switch HTMLMediaElement to release logging
https://bugs.webkit.org/show_bug.cgi?id=176065
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::LogObserver::level const):
2017-09-03 Darin Adler <darin@apple.com>
Fix a few minor problems found while working toward removing unneeded calls to updateStyle
https://bugs.webkit.org/show_bug.cgi?id=176279
Reviewed by Antti Koivisto.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setSelectedChild const): Handle null here. The old code instead
would trigger an Objective-C exception unnecessarily.
2017-09-04 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Refactor drag and drop logic in WKContentView in preparation for supporting multiple drag items in a drag session
https://bugs.webkit.org/show_bug.cgi?id=176264
<rdar://problem/31144674>
Reviewed by Darin Adler.
Adds two new iOS drag and drop tests to check that the clientX and clientY attributes of mouse events propagated
to the page during drop are correct. Each test drags from an image element and drops into three custom-drop-
handling elements; `dragenter`, `dragover`, and `drop` event listeners on the body then use the clientX and
clientY event attributes to hit-test for drop target elements. The first test is suffixed with "-Basic"; the
second test, suffixed with "-WithScrollOffset", makes the document scrollable to check that clientY is correct
when scrolled.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/drop-targets.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::testDragAndDropOntoTargetElements):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView stringByEvaluatingJavaScript:]):
Log a warning message when an API test fails due to JavaScript evaluation in TestWKWebView.
2017-09-03 Filip Pizlo <fpizlo@apple.com>
WSL IntLiteral should have variable type so that it can unify with things like uint
https://bugs.webkit.org/show_bug.cgi?id=176209
Reviewed by Mylex Maxfield.
This introduces IntLiteralType, which can unify with any number type that can represent the
int literal.
This means that all of the following are legal:
double x = 0; // 0 unifies with double
double y = x + 5; // should resolve to double+double
double z = array[0]; // 0 unifies with uint
We can do similar things with float literals, so that you don't have to suffix "f" all the
time.
I think that this is very different from what C does. C just supports implicit type
conversions. That's why "double x = 0" works in C. We don't do type conversions. Instead, we
let each literal unify itself with one type.
Also updated Test.html so that it runs again and is better at printing things.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/IntLiteral.js:
(IntLiteral):
(IntLiteral.prototype.toString):
* WebGPUShadingLanguageRI/IntLiteralType.js: Added.
(IntLiteralType):
(IntLiteralType.prototype.get origin):
(IntLiteralType.prototype.get value):
(IntLiteralType.prototype.get isPrimitive):
(IntLiteralType.prototype.get isUnifiable):
(IntLiteralType.prototype.typeVariableUnify):
(IntLiteralType.prototype.unifyImpl):
(IntLiteralType.prototype.verifyAsArgument):
(IntLiteralType.prototype.verifyAsParameter):
(IntLiteralType.prototype.commitUnification):
(IntLiteralType.prototype.toString):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.):
(Intrinsics):
* WebGPUShadingLanguageRI/LiteralTypeChecker.js:
(LiteralTypeChecker.prototype.visitIntLiteralType):
(LiteralTypeChecker):
* WebGPUShadingLanguageRI/NativeType.js:
(NativeType):
(NativeType.prototype.get isNumber):
(NativeType.prototype.set isNumber):
(NativeType.prototype.get isInt):
(NativeType.prototype.set isInt):
(NativeType.prototype.get isFloat):
(NativeType.prototype.set isFloat):
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitIntLiteral):
(Rewriter.prototype.visitIntLiteralType):
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(this.window.this.print):
(doPrep):
(doLex):
(checkNumber):
(checkInt):
(TEST_nameResolutionFailure):
(TEST_threadArrayLoadIntLiteral):
(TEST_deviceArrayStoreIntLiteral):
(TEST_returnIntLiteralDouble):
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.get isNumber):
(Type.prototype.get isInt):
(Type.prototype.get isFloat):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitIntLiteral):
(Visitor.prototype.visitIntLiteralType):
2017-09-03 Filip Pizlo <fpizlo@apple.com>
Add more tests for null behavior in WSL
https://bugs.webkit.org/show_bug.cgi?id=176318
Reviewed by Myles Maxfield.
This adds more tests for the unification behavior of null. In the process, I found a couple
small bugs and fixed them.
* WebGPUShadingLanguageRI/Checker.js:
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
* WebGPUShadingLanguageRI/Substitution.js:
(Substitution.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/Test.js:
(TEST_passNullAndNotNullFullPoly):
(TEST_passNullAndNotNullFullPolyReverse):
(TEST_nullTypeVariableUnify.recurse):
(TEST_nullTypeVariableUnify.everyOrder):
(TEST_nullTypeVariableUnify.everyPair):
(TEST_nullTypeVariableUnify):
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.wrap):
* WebGPUShadingLanguageRI/TypeVariable.js:
(TypeVariable.prototype.verifyAsArgument):
2017-09-04 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r221494 and r221500.
https://bugs.webkit.org/show_bug.cgi?id=176258
This caused the windows build to fail. (Requested by mlewis13
on #webkit).
Reverted changesets:
"Switch HTMLMediaElement to release logging"
https://bugs.webkit.org/show_bug.cgi?id=176065
http://trac.webkit.org/changeset/221494
"Switch HTMLMediaElement to release logging"
https://bugs.webkit.org/show_bug.cgi?id=176065
http://trac.webkit.org/changeset/221500
2017-09-03 Darin Adler <darin@apple.com>
REGRESSION (r220052): [Sierra] API test VideoControlsManager.VideoControlsManagerFullSizeVideoInWideMainFrame is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=175329
Reviewed by Wenson Hsieh.
These tests rely on using setTimeout to wait a run loop iteration for the
video controls to appear. With changes to how loading occurs, it can now
take two run loop iterations. The concept here is inherently a bit flaky
and racy -- end users will not be able to tell how many run loop cycles it
takes for controls to come up, and websites can't tell either -- but for now
changing the tests to wait one more run loop should get rid of the flakiness.
* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm: Re-enable test.
* TestWebKitAPI/Tests/WebKitCocoa/full-size-autoplaying-video-with-audio.html: Add a
second setTimeout and a comment.
* TestWebKitAPI/Tests/WebKitCocoa/skinny-autoplaying-video-with-audio.html: Ditto.
* TestWebKitAPI/Tests/WebKitCocoa/wide-autoplaying-video-with-audio.html: Ditto.
2017-09-03 Sam Weinig <sam@webkit.org>
Make webkit-patch post --no-review enable EWS just like webkit-patch post-commits --no-review
https://bugs.webkit.org/show_bug.cgi?id=176321
Reviewed by Darin Adler.
* Scripts/webkitpy/tool/commands/upload.py:
Add the SubmitToEWS step to Post command
2017-09-03 Chris Dumez <cdumez@apple.com>
Have getFileMetadata() return a std::optional<FileMetadata>
https://bugs.webkit.org/show_bug.cgi?id=176293
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2017-09-02 Filip Pizlo <fpizlo@apple.com>
WSL should support structs
https://bugs.webkit.org/show_bug.cgi?id=176290
Reviewed by Mylex Maxfield.
This adds parsing of struct types and makes them work.
This required adding a struct layout phase, which in turn required being a bit more careful
about how we instantiate functions and types. We cannot have any instantiation TypeRefs left
once we're doing struct layout.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunction):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/DotExpression.js: Added.
(DotExpression):
(DotExpression.prototype.get struct):
(DotExpression.prototype.get fieldName):
(DotExpression.prototype.get isLValue):
(DotExpression.prototype.toString):
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype._createEPtr):
* WebGPUShadingLanguageRI/EPtr.js:
(EPtr.prototype.copyFrom): Deleted.
(EPtr.prototype.toString): Deleted.
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitAssignment):
(Evaluator.prototype.visitDotExpression):
* WebGPUShadingLanguageRI/Field.js:
(Field):
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef.prototype.rewrite):
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):
* WebGPUShadingLanguageRI/Inline.js:
(inline):
(_inlineFunction):
(resolveInlinedFunction):
* WebGPUShadingLanguageRI/Inliner.js:
(Inliner.prototype.visitDotExpression):
* WebGPUShadingLanguageRI/InstantiateImmediates.js:
(InstantiateImmediates.prototype.visitTypeRef):
(InstantiateImmediates.prototype.visitVariableDecl):
(InstantiateImmediates):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype._resolveTypeArguments):
(NameResolver.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.visit):
* WebGPUShadingLanguageRI/OverloadResolutionFailure.js: Added.
(OverloadResolutionFailure):
(OverloadResolutionFailure.prototype.get func):
(OverloadResolutionFailure.prototype.get reason):
(OverloadResolutionFailure.prototype.toString):
* WebGPUShadingLanguageRI/Parse.js:
(parsePossibleSuffix):
(parseField):
(parseStructType):
(parse):
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
(resolveOverloadImpl):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitDotExpression):
(Rewriter.prototype.visitVariableRef):
* WebGPUShadingLanguageRI/StructLayoutBuilder.js: Added.
(StructLayoutBuilder):
(StructLayoutBuilder.prototype.visitStructType):
(StructLayoutBuilder.prototype.get offset):
(StructLayoutBuilder.prototype.visitField):
(StructLayoutBuilder.prototype.visitVariableRef):
(StructLayoutBuilder.prototype.visitVariableDecl):
* WebGPUShadingLanguageRI/StructType.js:
(StructType.prototype.add):
(StructType.prototype.instantiate):
(StructType.prototype.populateDefaultValue):
* WebGPUShadingLanguageRI/Substitution.js:
(Substitution.prototype.visitTypeRef):
(Substitution.prototype.visitVariableRef):
(Substitution):
* WebGPUShadingLanguageRI/Test.js:
(TEST_genericStructInstance):
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.inherits):
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.instantiate):
* WebGPUShadingLanguageRI/VariableRef.js:
(VariableRef.wrap):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitTypeRef):
(Visitor.prototype.visitDotExpression):
(Visitor.prototype.visitVariableRef):
2017-09-02 Filip Pizlo <fpizlo@apple.com>
WSL NullType should be a special type variable so it can unify with any pointer type
https://bugs.webkit.org/show_bug.cgi?id=176235
Reviewed by Myles Maxfield.
Null is just a type variable that plays by weird rules:
- Other type variables don't recognize it, so if it's unified with T, it fails.
- It behaves like a type variable for pointer and array reference types.
- It arises only in argument (RHS) position.
- Once Checker finds it to be equals to something, we need to remember what that was.
I refactored some of the type system code to allow for the possibility of type variables being
unified during equals() tests. It turns out that we were playing fast and loose here; I needed
to beef up UnificationContext.prototype.verify. I added tests for this.
I added an equalsWithCommit() that triggers commitUnification(), which allows NullType to
remember what type it got unified with.
NullLiteral then just instantiates its own NullType, which is what Checker uses as the type of
the NullLiteral. Everything else just works.
This adds a bunch of tests to make sure we generate type errors in various weird cases while
also accepting a number of safe cases.
I also added a way to run the tests in-browser.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/ArrayRefType.js:
(ArrayRefType.prototype.get isArrayRef):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
(ConstexprTypeParameter.prototype.typeVariableUnify):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitDereferenceExpression):
(Evaluator.prototype.visitNullLiteral):
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.toString):
(Func):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/NativeFunc.js:
(NativeFunc.prototype.toDeclString):
(NativeFunc):
(NativeFunc.prototype.toString): Deleted.
* WebGPUShadingLanguageRI/NativeFuncInstance.js:
(NativeFuncInstance.prototype.toDeclString):
(NativeFuncInstance):
(NativeFuncInstance.prototype.toString): Deleted.
* WebGPUShadingLanguageRI/Node.js:
(Node.unify):
(Node.prototype._typeVariableUnifyImpl):
(Node.prototype.equals):
* WebGPUShadingLanguageRI/NullLiteral.js: Added.
(NullLiteral):
(NullLiteral.prototype.toString):
* WebGPUShadingLanguageRI/NullType.js:
(NullType):
(NullType.prototype.get isPrimitive):
(NullType.prototype.get isUnifiable):
(NullType.prototype.typeVariableUnify):
(NullType.prototype.unifyImpl):
(NullType.prototype.verifyAsArgument):
(NullType.prototype.verifyAsParameter):
(NullType.prototype.toString):
* WebGPUShadingLanguageRI/Parse.js:
(parseTerm):
(parseType.getAddressSpace):
(parseType):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitNullLiteral):
* WebGPUShadingLanguageRI/Test.html: Added.
* WebGPUShadingLanguageRI/Test.js:
(this.window.this.print):
(TEST_doubleGenericCallsSingleGeneric):
(TEST_dereferenceDefaultNull):
(TEST_dereferenceDefaultNullArrayRef):
(doTest):
(let.s.in.this.s.startsWith.string_appeared_here.s.match): Deleted.
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.get isArrayRef):
* WebGPUShadingLanguageRI/TypeVariable.js:
(TypeVariable.prototype.typeVariableUnify):
* WebGPUShadingLanguageRI/UnificationContext.js:
(UnificationContext.prototype.verify):
(UnificationContext):
(UnificationContext.prototype.isUnunified): Deleted.
* WebGPUShadingLanguageRI/VariableRef.js:
(VariableRef.prototype.get unifyNode):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitNullLiteral):
2017-09-03 Sam Weinig <sam@webkit.org>
Remove CanvasProxy
https://bugs.webkit.org/show_bug.cgi?id=176288
Reviewed by Yusuke Suzuki.
CanvasProxy does not appear to be in any current HTML spec
and was disabled and unimplemented in our tree. Time to
get rid of it.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-09-01 Filip Pizlo <fpizlo@apple.com>
WSL should check unreachable code and no returns
https://bugs.webkit.org/show_bug.cgi?id=176262
Reviewed by Myles Maxfield.
This adds phases to check whether non-void functions return and whether there is any code after
a return in any block. Added tests for simple versions of both of those things. We cannot add
more complex versions until we support control flow statements.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CheckReturns.js: Added.
(checkReturns):
* WebGPUShadingLanguageRI/CheckUnreachableCode.js: Added.
(checkUnreachableCode):
* WebGPUShadingLanguageRI/Parse.js:
(parseReturn):
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/ReturnChecker.js: Added.
(ReturnChecker.prototype.visitFuncDef):
(ReturnChecker.prototype.visitBlock):
(ReturnChecker.prototype.visitReturn):
(ReturnChecker):
* WebGPUShadingLanguageRI/Test.js:
(TEST_simpleNoReturn):
* WebGPUShadingLanguageRI/UnreachableCodeChecker.js: Added.
(UnreachableCodeChecker.prototype.visitBlock):
(UnreachableCodeChecker):
2017-09-01 Filip Pizlo <fpizlo@apple.com>
WSL should use & for getting a ^ and @ for getting a []
https://bugs.webkit.org/show_bug.cgi?id=176245
Reviewed by Myles Maxfield.
Using \ as an operator was a bad decision since that's an escape character in so many contexts.
Henceforth, & is for making pointers, for example:
thread int^ foo() { int x; return &x; }
And @ is for making array references, for example:
thread int[] foo() { int[42] x; return @x; }
Having separate operators makes it easy to have pointers to fixed-size arrays:
thread int[42]^ foo() { int[42] x; return &x; }
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/MakePtrExpression.js:
(MakePtrExpression.prototype.toString):
(MakePtrExpression):
* WebGPUShadingLanguageRI/Parse.js:
(parsePossibleSuffix):
(parsePossiblePrefix):
(parseFuncName):
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/Test.js:
(TEST_simpleMakePtr):
2017-09-01 Myles C. Maxfield <mmaxfield@apple.com>
WSL's lexer will never emit keyword tokens
https://bugs.webkit.org/show_bug.cgi?id=176248
Reviewed by Filip Pizlo.
Because all tokens are also identified as idents, we need to handle them together.
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/Test.js:
(doLex):
(checkLexerToken):
(TEST_lexerKeyword):
2017-09-01 Alex Christensen <achristensen@webkit.org>
Rename WebKit2 API tests after directory rename
https://bugs.webkit.org/show_bug.cgi?id=176250
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/Lots of files...
Renamed WebKit2 to WebKit and WebKit1 to WebKitLegacy.
2017-09-01 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's toolbarsAreVisible
https://bugs.webkit.org/show_bug.cgi?id=176246
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[ToolbarDelegate _webView:getToolbarsAreVisibleWithCompletionHandler:]):
(-[ToolbarDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2017-09-01 Eric Carlson <eric.carlson@apple.com>
Switch HTMLMediaElement to release logging
https://bugs.webkit.org/show_bug.cgi?id=176065
Unreviewed build fix.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
2017-09-01 Filip Pizlo <fpizlo@apple.com>
WSL should have more tests of type checking failures
https://bugs.webkit.org/show_bug.cgi?id=176244
Reviewed by Myles Maxfield.
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/Test.js:
(TEST_typeMismatchReturn):
2017-09-01 Filip Pizlo <fpizlo@apple.com>
WSL should be be able to call a function declared in a protocol from a generic function
https://bugs.webkit.org/show_bug.cgi?id=176242
Reviewed by Myles Maxfield.
It turns out that we need to know when a function is resolved to a protocol signature, so we
need to have a type for this. This introduces ProtocolFuncDecl.
Also, this introduces parsing of protocol decls.
When instantiating a function, we need to rewrite its CallExpressions if they were previously
resolved to a PrtococolFuncDecl instead of a FuncDef or NativeFunc. In that case, we need to
rerun the resolution on the program. That resolution is guaranteed to succeed if the type
system works correctly.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.prototype.resolve):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype._createEPtr):
* WebGPUShadingLanguageRI/Func.js:
(Func):
(Func.prototype.get origin):
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef):
(FuncDef.prototype.get origin): Deleted.
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
* WebGPUShadingLanguageRI/NativeFunc.js:
(NativeFunc):
(NativeFunc.prototype.get origin): Deleted.
* WebGPUShadingLanguageRI/NativeFuncInstance.js:
(NativeFuncInstance):
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.substitute):
* WebGPUShadingLanguageRI/Parse.js:
(parseProtocolFuncDecl):
(parseProtocolDecl):
(parse):
* WebGPUShadingLanguageRI/Program.js:
(Program):
(Program.prototype.get protocols):
(Program.prototype.add):
* WebGPUShadingLanguageRI/ProtocolDecl.js:
(ProtocolDecl.prototype.add):
(ProtocolDecl.prototype.hasHeir):
(ProtocolDecl.prototype.addSignature): Deleted.
* WebGPUShadingLanguageRI/ProtocolFuncDecl.js: Added.
(ProtocolFuncDecl):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitStructType):
(Rewriter.prototype.visitTypeVariable):
(Rewriter.prototype.visitProtocolFuncDecl):
(Rewriter.prototype.visitCallExpression):
* WebGPUShadingLanguageRI/StructType.js:
(StructType.prototype.instantiate):
* WebGPUShadingLanguageRI/Substitution.js:
(Substitution):
(Substitution.mapping): Deleted.
* WebGPUShadingLanguageRI/Test.js:
(TEST_simpleGeneric):
(TEST_simpleAssignment):
(TEST_simpleDefault):
(TEST_simpleDereference):
(TEST_dereferenceStore):
(TEST_simpleMakePtr):
(TEST_threadArrayLoad):
(TEST_deviceArrayLoad):
(TEST_threadArrayStore):
(TEST_deviceArrayStore):
(TEST_simpleProtocol):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolFuncDecl):
2017-09-01 Eric Carlson <eric.carlson@apple.com>
Switch HTMLMediaElement to release logging
https://bugs.webkit.org/show_bug.cgi?id=176065
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::LogObserver::level const):
2017-09-01 Ross Kirsling <ross.kirsling@sony.com>
download-latest-github-release.py should have friendlier output for non-404 errors
https://bugs.webkit.org/show_bug.cgi?id=176201
Reviewed by Brent Fulgham.
* Scripts/download-latest-github-release.py:
2017-09-01 Filip Pizlo <fpizlo@apple.com>
[WSL] Add tests for storing to arrays
https://bugs.webkit.org/show_bug.cgi?id=176237
Reviewed by Myles Maxfield.
Storing to arrays works now.
* WebGPUShadingLanguageRI/ArrayType.js:
(ArrayType):
* WebGPUShadingLanguageRI/Test.js:
(TEST_threadArrayStore):
(TEST_deviceArrayStore):
2017-09-01 Alex Christensen <achristensen@webkit.org>
Replace WKUIDelegatePrivate's isPlayingMediaDidChange with KVO _isPlayingAudio on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=176212
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[AudioObserver observeValueForKeyPath:ofObject:change:context:]):
(TEST):
(-[MediaDelegate _webView:isPlayingMediaDidChange:]): Deleted.
2017-09-01 Filip Pizlo <fpizlo@apple.com>
WSL Rewriter should be an identity on things that aren't inside function bodies
https://bugs.webkit.org/show_bug.cgi?id=176208
Reviewed by Myles Maxfield.
Previously, if the Rewriter encountered a FunctionDef, StructType, NativeType, etc., then it
would either crash or try to rewrite them. That's unfortunate because we use the Rewriter to
rewrite struct and function bodies. If a function calls another function, then rewriting the
caller should not mean also rewriting the callee. Previously we "fixed" this by religiously
wrapping references to types with TypeDef and doing other such hacks. But that's subtly wrong.
It only worked because Rewriter wasn't rewriting TypeRef.type. I think that Rewriter has to
rewrite that in the long run because it may refer to another TypeRef, and it may be an
instantiation that is using types that themselves need to be rewritten.
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/NullType.js:
(NullType):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitFuncDef):
(Rewriter.prototype.visitNativeFunc):
(Rewriter.prototype.visitNativeFuncInstance):
(Rewriter.prototype.visitNativeType):
(Rewriter.prototype.visitTypeDef):
(Rewriter.prototype.visitStructType):
(Rewriter.prototype.visitTypeVariable):
(Rewriter.prototype.visitConstexprTypeParameter):
(Rewriter.prototype.visitNativeTypeInstance):
(Rewriter.prototype.visitTypeRef):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitNativeTypeInstance):
2017-09-01 Alex Christensen <achristensen@webkit.org>
Disable ObjC WebGL policy SPI on iOS
https://bugs.webkit.org/show_bug.cgi?id=176233
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:
2017-08-31 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Improve the way unit test are run and the results reported
https://bugs.webkit.org/show_bug.cgi?id=176104
Reviewed by Carlos Alberto Lopez Perez.
There are several issues with the way unit tests are run by run-gtk-tests and also with the way results are
reported:
- The results summary only mentions the test binaries, not the actual test cases, so you always have to scroll
up to find the actual test cases failing.
- The number of reported failures is the number of test binaries that failed, so if a new test case fails for
the same binary in a new revision, we won't notice it just looking at the number of failures.
- We show detailed information about skipped test in the results summary, which is just noise.
- In the case of glib tests, when a test case times out, we finish the test suite, instead of continuing with the
rest of the test cases like we do for normal failures or crashes. If a new test case fails after a test case that
timed out we will not notice it until we fix or skip the test cases timing out.
- In the case of glib tests, the timeout is applied to the whole suite, instead of per test case, we have a hack
to make it longer only for that. It has worked so far, but it doesn't scale, and it's an ugly hack.
- It's not currently possible to detect flaky tests, because again, we know the binaries/suites that failed but
not the actual test cases.
This patch fixes all these issues and makes it possible to add support for flaky tests in a follow up patch.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunGtkAPITests.commandComplete): Update the RunGtkAPITests step to parse the new output.
* Scripts/run-gtk-tests:
(TestRunner._start_timeout): Helper to start the timeout if needed.
(TestRunner._start_timeout._alarm_handler): Raise timeout exception.
(TestRunner._stop_timeout): Helper to stop the timeout if needed.
(TestRunner._waitpid): Merged waitpid and return_code_from_exit_status.
(TestRunner._run_test_glib): Do not double the timeout anymore, we now start/stop the timeout for every test
case. Return a dictionary where keys are test cases and values the results only in case of failures.
(TestRunner._run_test_glib.parse_line): Update the parser to also detect test cases and the results.
(TestRunner._run_test_glib.parse_line.set_test_result): Helper to set the result of a test case.
(TestRunner._run_google_test): Return a dictionary where key is the test case and value is the result only in
case of failure.
(TestRunner._run_google_test_suite): Updated now that _run_google_test returns a dictionary.
(TestRunner.run_tests): Handle the results dictionary and show the results with information about test cases
failing and grouped by test binaries.
2017-08-31 Filip Pizlo <fpizlo@apple.com>
WSL should support loading from arrays
https://bugs.webkit.org/show_bug.cgi?id=176207
Reviewed by Saam Barati.
Getting a test that loads from arrays to work required doing a lot of things:
- a[i] now parses to ^(operator\[](a, i)).
- added operator\[] for four array reference types.
- to make thread|threadgroup|device T[] work, you need T:primitive.
- so this adds the magical primitive protocol.
This required a little bit of rejuggling in the name resolver and type checker. The main thing
is that to prevent the rewriter from copying the types referenced by some function, you need to
make sure that when you add a reference to a type, you wrap it in a TypeRef. This doesn't
completely feel right, but I'm sure we'll figure out the balance eventually. See bug 176208.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/EArrayRef.js: Added.
(EArrayRef):
(EArrayRef.prototype.get ptr):
(EArrayRef.prototype.get length):
(EArrayRef.prototype.toString):
* WebGPUShadingLanguageRI/EPtr.js:
(EPtr.prototype.plus):
(EPtr.prototype.toString):
(EPtr):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitUintLiteral):
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
(FuncInstantiator.prototype.getUnique.Instantiate):
(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer.prototype.next):
(Lexer):
* WebGPUShadingLanguageRI/NameContext.js:
(NameContext.prototype.recognizeIntrinsics):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProtocolRef):
* WebGPUShadingLanguageRI/NativeFuncInstance.js:
(NativeFuncInstance.prototype.get isNative):
* WebGPUShadingLanguageRI/Parse.js:
(parseTerm):
(parseTypeDef):
(parseNative):
(parsePossibleSuffix):
(parse):
* WebGPUShadingLanguageRI/ProtocolDecl.js:
(ProtocolDecl):
* WebGPUShadingLanguageRI/ProtocolRef.js:
(ProtocolRef.prototype.get isPrimitive):
(ProtocolRef):
* WebGPUShadingLanguageRI/PtrType.js:
(PtrType.prototype.populateDefaultValue): Deleted.
* WebGPUShadingLanguageRI/ReferenceType.js:
(ReferenceType.prototype.populateDefaultValue):
(ReferenceType):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitUintLiteral):
(Rewriter.prototype.visitFunc): Deleted.
(Rewriter.prototype.visitTypeVariable): Deleted.
(Rewriter.prototype.visitConstexprTypeParameter): Deleted.
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/Test.js:
(TEST_threadArrayLoad):
(TEST_deviceArrayLoad):
* WebGPUShadingLanguageRI/TypeRef.js:
(TypeRef.prototype.get instantiatedType):
* WebGPUShadingLanguageRI/TypeVariable.js:
(TypeVariable.prototype.toString):
(TypeVariable):
* WebGPUShadingLanguageRI/UintLiteral.js: Added.
(UintLiteral):
(UintLiteral.prototype.get value):
(UintLiteral.prototype.get isConstexpr):
(UintLiteral.prototype.toString):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitNativeFuncInstance):
(Visitor.prototype.visitTypeVariable):
(Visitor.prototype.visitPtrType):
(Visitor.prototype.visitArrayRefType):
(Visitor.prototype.visitUintLiteral):
* WebGPUShadingLanguageRI/WTrapError.js: Added.
(WTrapError):
2017-08-31 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's isPlayingAudioDidChange
https://bugs.webkit.org/show_bug.cgi?id=176203
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[MediaDelegate _webView:isPlayingMediaDidChange:]):
(-[MediaDelegate webView:didFinishNavigation:]):
(TEST):
2017-08-31 Alex Christensen <achristensen@webkit.org>
Add ObjC SPI corresponding to WKPageLoaderClient's webGLLoadPolicy and resolveWebGLLoadPolicy
https://bugs.webkit.org/show_bug.cgi?id=175779
<rdar://problem/22367975>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm: Added.
(-[WebGLTestDelegate webView:startURLSchemeTask:]):
(-[WebGLTestDelegate webView:stopURLSchemeTask:]):
(-[WebGLTestDelegate _webView:webGLLoadPolicyForURL:decisionHandler:]):
(-[WebGLTestDelegate _webView:resolveWebGLLoadPolicyForURL:decisionHandler:]):
(-[WebGLTestDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(urlsEqual):
(runTest):
(TEST):
2017-08-31 Don Olmstead <don.olmstead@sony.com>
[CMake] Make USE_CF conditional within Windows
https://bugs.webkit.org/show_bug.cgi?id=176173
Reviewed by Alex Christensen.
* DumpRenderTree/config.h:
* MiniBrowser/win/CMakeLists.txt:
* MiniBrowser/win/stdafx.h:
* TestWebKitAPI/PlatformWin.cmake:
2017-08-31 Filip Pizlo <fpizlo@apple.com>
WSL should support makeptr (\)
https://bugs.webkit.org/show_bug.cgi?id=176197
Reviewed by Saam Barati.
This required introducing some sanity about how pointers are carried around in the evaluator.
It turns out that we need to be careful about when a pointer to an rvalue is dereferenced. It
should be dereferenced basically immediately. If it cannot be, then we need to snapshot the
value. To do that, we need to know the types of things in a few more places. That's what this
change accomplishes.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunction):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/DereferenceExpression.js:
(DereferenceExpression.prototype.get isLValue):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype._snapshot):
(Evaluator.prototype.runBody):
(Evaluator.prototype.visitFunctionLikeBlock):
(Evaluator.prototype.visitDereferenceExpression):
(Evaluator.prototype.visitMakePtrExpression):
(Evaluator.prototype.visitCommaExpression):
(Evaluator.prototype.visitCallExpression):
(Evaluator):
(Evaluator.prototype._dereference): Deleted.
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
(FuncInstantiator.prototype.getUnique.Instantiate):
(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):
* WebGPUShadingLanguageRI/FunctionLikeBlock.js:
(FunctionLikeBlock):
(FunctionLikeBlock.prototype.get returnType):
(FunctionLikeBlock.prototype.toString):
* WebGPUShadingLanguageRI/Inliner.js:
(Inliner.prototype.visitCallExpression):
(Inliner):
* WebGPUShadingLanguageRI/MakePtrExpression.js: Added.
(MakePtrExpression):
(MakePtrExpression.prototype.get lValue):
(MakePtrExpression.prototype.toString):
* WebGPUShadingLanguageRI/NativeFuncInstance.js: Added.
(NativeFuncInstance):
(NativeFuncInstance.prototype.get func):
(NativeFuncInstance.prototype.toString):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitMakePtrExpression):
(Rewriter.prototype.visitCallExpression):
* WebGPUShadingLanguageRI/Test.js:
(TEST_dereferenceStore):
(TEST_simpleMakePtr):
* WebGPUShadingLanguageRI/Value.js:
(Value.prototype.get isLValue):
(Value):
* WebGPUShadingLanguageRI/VariableRef.js:
(VariableRef.prototype.get isLValue):
(VariableRef.prototype.get addressSpace):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitMakePtrExpression):
(Visitor.prototype.visitCallExpression):
2017-08-31 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r221445.
This change broke Sierra Release builds.
Reverted changeset:
"Switch HTMLMediaElement to release logging"
https://bugs.webkit.org/show_bug.cgi?id=176065
http://trac.webkit.org/changeset/221445
2017-08-31 Filip Pizlo <fpizlo@apple.com>
WSL should support dereference (^)
https://bugs.webkit.org/show_bug.cgi?id=176192
Reviewed by Myles Maxfield.
This implements DereferenceExpression.
It also renames Evaluator.prototype.visitFunctionBody, because that name confusingly implies
that there is a class named FunctionBody. It's now called runBody.
I made the check to see if a type is a pointer type be the isPtr method, so that we can have
other pointer types that are implemented via something other than PtrType. We might want it if
for example we wanted a pointer type that is generic over address space.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunction):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/DereferenceExpression.js: Added.
(DereferenceExpression):
(DereferenceExpression.prototype.get ptr):
(DereferenceExpression.prototype.toString):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitFunctionLikeBlock):
(Evaluator.prototype._dereference):
(Evaluator.prototype.visitDereferenceExpression):
(Evaluator.prototype.visitFunctionBody): Deleted.
* WebGPUShadingLanguageRI/PtrType.js:
(PtrType.prototype.get isPtr):
(PtrType.prototype.populateDefaultValue):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitAssignment):
(Rewriter.prototype.visitDereferenceExpression):
* WebGPUShadingLanguageRI/Test.js:
(TEST_simpleDereference):
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.get isPtr):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitDereferenceExpression):
2017-08-31 Filip Pizlo <fpizlo@apple.com>
There should only be one callFunction API in WSL
https://bugs.webkit.org/show_bug.cgi?id=176189
Reviewed by Saam Barati.
This removes the need for callFunctionByRef, which was weird. It's now the case the TypedValue
is always a tuple of type and ePtr, and TypedValue has a super simple API for boxing and
unboxing single-cell values like ints.
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunction):
(callFunctionByRef): Deleted.
* WebGPUShadingLanguageRI/Test.js:
(makeInt):
* WebGPUShadingLanguageRI/TypedValue.js:
(TypedValue):
(TypedValue.prototype.get type):
(TypedValue.prototype.get ePtr):
(TypedValue.box):
(TypedValue.prototype.get value):
(TypedValue.prototype.toString):
2017-08-31 Filip Pizlo <fpizlo@apple.com>
WSL EPtr does not need to carry around the type
https://bugs.webkit.org/show_bug.cgi?id=176188
Reviewed by Saam Barati.
To validate that the interpreter is modeling a statically typed execution environment, it's
really best if values don't know their types at all. A pointer is just a pointer (i.e a buffer
and offset in our world), and it's the job of the AST node that uses it to figure out what its
type should be.
I think this makes the code simpler overall.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunctionByRef):
(callFunction):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype._createEPtr):
* WebGPUShadingLanguageRI/EPtr.js:
(EPtr):
(EPtr.box):
(EPtr.prototype.copyFrom):
(EPtr.prototype.toString):
* WebGPUShadingLanguageRI/EValue.js: Removed.
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitFunctionLikeBlock):
(Evaluator.prototype.visitVariableDecl):
(Evaluator.prototype.visitAssignment):
(Evaluator.prototype.visitIntLiteral):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitAssignment):
* WebGPUShadingLanguageRI/StructType.js:
(StructType.prototype.instantiate):
* WebGPUShadingLanguageRI/Test.js:
(checkInt):
2017-08-31 Filip Pizlo <fpizlo@apple.com>
WSL doesn't need to wrap primitives like ints and floats in specialized classes like EInt and EFloat
https://bugs.webkit.org/show_bug.cgi?id=176184
Reviewed by Saam Barati.
The only use for EInt and EFloat was that users of the interpreter want to be able to reason
about values that know their type. But for the actual interpreter, it makes most sense for
EBuffer to hold values directly - for example, ints in the case of values of type int. Then,
all of the logic of doing math on those things can be implemented in Intrinsics.js.
So, this removes EInt and EFloat but introduces a new TypedValue class that is used only on the
boundary of the interpreter. You can either use the interpreter by speaking its internal
language (EPtr to an EBuffer that has the values) or by using the simple API (which uses
TypedValue as a trade-off between power and convenience).
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunction):
* WebGPUShadingLanguageRI/EFloat.js: Removed.
* WebGPUShadingLanguageRI/EInt.js: Removed.
* WebGPUShadingLanguageRI/EPtr.js:
(EPtr.box):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitIntLiteral):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics):
* WebGPUShadingLanguageRI/Test.js:
(makeInt):
(checkInt):
(TEST_add1):
(TEST_simpleGeneric):
(TEST_simpleAssignment):
(TEST_simpleDefault):
* WebGPUShadingLanguageRI/TypedValue.js: Added.
(TypedValue):
(TypedValue.prototype.toString):
2017-08-31 David Quesada <david_quesada@apple.com>
WKNavigationDelegatePrivate client redirect SPI needs to be able to detect redirects scheduled before the document finishes loading
https://bugs.webkit.org/show_bug.cgi?id=176128
rdar://problem/34068476
Reviewed by Brady Eidson.
Removed API test for the deleted WKNavigationDelegatePrivate method,
and added two new tests for the two new methods.
* TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(-[ClientRedirectNavigationDelegate _webView:willPerformClientRedirectToURL:delay:]):
(-[ClientRedirectNavigationDelegate _webViewDidCancelClientRedirect:]):
(-[ClientRedirectNavigationDelegate webView:didFinishNavigation:]):
(TEST):
2017-08-31 Filip Pizlo <fpizlo@apple.com>
WSL should handle variable assignments and variable declarations
https://bugs.webkit.org/show_bug.cgi?id=176180
Reviewed by Saam Barati.
Just fills in VariableDecl and Assignment logic so that we can test variables.
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype._createEPtrForNode):
(EBufferBuilder.prototype.visitFuncParameter):
(EBufferBuilder.prototype.visitVariableDecl):
(EBufferBuilder):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitVariableDecl):
(Evaluator.prototype.visitAssignment):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitVariableDecl):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitFuncParameter):
(Rewriter.prototype.visitVariableDecl):
* WebGPUShadingLanguageRI/Test.js:
(makeInt):
(TEST_add1):
(TEST_simpleGeneric):
(TEST_simpleAssignment):
(TEST_simpleDefault):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitVariableDecl):
2017-08-31 Chris Dumez <cdumez@apple.com>
getFileMetadata() does not work as expected for symbolic links
https://bugs.webkit.org/show_bug.cgi?id=176143
Reviewed by Andreas Kling.
Add API test coverage.
* TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2017-08-31 Filip Pizlo <fpizlo@apple.com>
WSL parser should pass the token as the origin to the AST
https://bugs.webkit.org/show_bug.cgi?id=176177
Reviewed by Keith Miller.
Parse.js was sometimes passing token.origin as the origin, but that's just the filename
component of the origin. This fixes the problem and adds a test. The test previously failed
because instead of reporting the origin of the type error as "<test>:1", it reported undefined.
* WebGPUShadingLanguageRI/Parse.js:
(parseProtocolRef):
(consumeEndOfTypeArgs):
(parseTypeParameters):
(parseTerm):
(parseTypeArguments):
(parseType):
(parseTypeDef):
(parseNative):
(parseLeftOperatorCall):
(parsePossibleSuffix):
(parsePossiblePrefix):
(parsePossibleRelationalEquality):
(parseLeftLogicalExpression):
(parsePossibleTernaryConditional):
(parsePossibleAssignment):
(genericParseCommaExpression):
(parseReturn):
(parseVariableDecls):
(parseBlock):
* WebGPUShadingLanguageRI/Test.js:
(checkFail):
(TEST_nameResolutionFailure):
2017-08-31 Keith Miller <keith_miller@apple.com>
Add a filter argument to WSL test suite.
https://bugs.webkit.org/show_bug.cgi?id=176176
Reviewed by Filip Pizlo.
* WebGPUShadingLanguageRI/Test.js:
(this.string_appeared_here.i.switch):
(let.s.in.this.s.startsWith.string_appeared_here.s.match):
(let.s.in.this.s.startsWith): Deleted.
2017-08-30 Filip Pizlo <fpizlo@apple.com>
WSL should be able to run a program that uses generics
https://bugs.webkit.org/show_bug.cgi?id=176152
Reviewed by Keith Miller.
This fixes the WSL parser and type checker to the point that we can:
- Parse a function call!
- Type check a generic function call with an inferred type parameter.
- Instantiate a generic function.
- Inline a function call.
- Evaluate an inlined function call.
This also changes the test suite so that it's a little nicer to add new tests. Functions whose
names start with "TEST_" are tests.
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/EBufferBuilder.js:
(EBufferBuilder.prototype.visitFuncParameter):
(EBufferBuilder):
* WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitFunctionLikeBlock):
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef.prototype.toString):
(FuncDef):
* WebGPUShadingLanguageRI/FuncInstantiator.js:
(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):
* WebGPUShadingLanguageRI/Inliner.js:
(Inliner.prototype.visitCallExpression):
(Inliner):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer):
* WebGPUShadingLanguageRI/NameContext.js:
(NameContext):
(NameContext.prototype.add):
(NameContext.prototype.get let):
(NameContext.prototype.defineAll):
(NameContext.get intrinsics): Deleted.
(NameContext.set program): Deleted.
(NameContext.get program): Deleted.
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProgram):
* WebGPUShadingLanguageRI/Parse.js:
(parseTerm):
(parsePossibleSuffix):
(genericParseCommaExpression):
(parseReturn):
* WebGPUShadingLanguageRI/Program.js:
(Program.prototype.resolveFuncOverload):
* WebGPUShadingLanguageRI/ProtocolDecl.js:
(ProtocolDecl.prototype.inherits):
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
(resolveOverloadImpl):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitFuncParameter):
(Rewriter.prototype.visitCallExpression):
(Rewriter.prototype._map): Deleted.
* WebGPUShadingLanguageRI/Test.js:
(checkInt):
(TEST_add1):
(TEST_simpleGeneric):
(let.s.in.this.s.startsWith):
(load): Deleted.
* WebGPUShadingLanguageRI/TypeVariable.js:
(TypeVariable.prototype.typeVariableUnify):
* WebGPUShadingLanguageRI/UnificationContext.js:
(UnificationContext.prototype.union):
2017-08-30 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's didClickAutoFillButton
https://bugs.webkit.org/show_bug.cgi?id=176139
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ClickAutoFillButton.mm: Added.
(didClickAutoFillButton):
(-[ClickAutoFillButton webProcessPlugIn:didCreateBrowserContextController:]):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[AutoFillDelegate _webView:didClickAutoFillButtonWithUserInfo:]):
(-[AutoFillDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2017-08-31 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Several InputMethodFilter tests are failing and crashing
https://bugs.webkit.org/show_bug.cgi?id=176158
Reviewed by Carlos Alberto Lopez Perez.
This started to happen after the GTK+ upgrade from 3.16 to 3.22 in the internal jhbuild. Now, GtkIMContext
doesn't emit the preedit signals when using the compose key (GDK_KEY_Multi_key). The composition results are
committed directly when they are ready. The test InputMethodFilterComposeKey was failing because it expected
preedit events that no longer happen. Tests InputMethodFilterContextFocusOutDuringOngoingComposition and
InputMethodFilterContextMouseClickDuringOngoingComposition were crashing because InputMethodFilter::confirmCurrentComposition()
accessed the WebPageProxy unconditionally, that is not available in testing mode. I wonder how this ever
worked. Other tests results have also been updated because logHandleKeyboardEventWithCompositionResultsForTesting()
now uses hexadecimal numbers for the key codes, for consistency with all other event logs.
* TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp:
(TestWebKitAPI::TestInputMethodFilter::TestInputMethodFilter):
(TestWebKitAPI::TEST):
(TestWebKitAPI::verifyCanceledComposition): Deleted.
2017-08-31 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][Wayland] Crash when gdk_keymap_get_entries_for_keyval returns TRUE but n_keys=0
https://bugs.webkit.org/show_bug.cgi?id=176154
Reviewed by Carlos Alberto Lopez Perez.
Also check the n_keys > 0 when using gdk_keymap_get_entries_for_keyval().
* TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp:
(TestWebKitAPI::TestInputMethodFilter::sendKeyEventToFilter):
* TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp: Remove duplicated code and use WebViewTest::keyStroke instead.
* TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
(WebViewTest::keyStroke):
* TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
(TestWebKitAPI::doKeyStroke):
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::keyDown):
2017-08-31 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ test /webkit2/WebKitAutomationSession/request-session.
It fails when comparing the browser version if micro version is 0 (or if both micro and minor are 0 too).
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: Use a helper method to convert major, minor, micro
numbers into a version string, using the same approach as WebKitAutomationSession.
2017-08-30 Dan Bernstein <mitz@apple.com>
[iOS] REGRESSION (r218144) -[WKContentView targetForAction:withSender:] returns the content view for actions implemented only by the WKWebView, causing a crash
https://bugs.webkit.org/show_bug.cgi?id=176077
<rdar://problem/34145200>
Reviewed by Sam Weinig.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewTargetForAction.mm: Added.
(-[TestWKContentViewTargetForActionView testAction:]):
(TEST):
* TestWebKitAPI/ios/UIKitSPI.h:
2017-08-30 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] install-dependencies script should install CUPS headers
https://bugs.webkit.org/show_bug.cgi?id=176129
Reviewed by Michael Catanzaro.
When building GTK+ on the JHBuild, it will enable the CUPS print
backend if the CUPS headers are installed. Having a print backend
on GTK+ is needed for the print-related API tests.
* gtk/install-dependencies:
2017-08-30 Filip Pizlo <fpizlo@apple.com>
Rename ArrayLang to WebGPU Shading Language, or WSL for short, pronounced "whistle"
https://bugs.webkit.org/show_bug.cgi?id=176117
Reviewed by Myles Maxfield.
Renamed ArrayLangRI to WebGPUShadingLanguageRI.
Renamed ALSyntaxError/ALTypeError to WSyntaxError/WTypeError.
Renamed all references to "ArrayLang" in the code to "WSL".
* ArrayLangRI: Removed.
* ArrayLangRI/ALSyntaxError.js: Removed.
* ArrayLangRI/ALTypeError.js: Removed.
* ArrayLangRI/AddressSpace.js: Removed.
* ArrayLangRI/All.js: Removed.
* ArrayLangRI/ArrayRefType.js: Removed.
* ArrayLangRI/ArrayType.js: Removed.
* ArrayLangRI/Assignment.js: Removed.
* ArrayLangRI/Block.js: Removed.
* ArrayLangRI/CallAssignment.js: Removed.
* ArrayLangRI/CallExpression.js: Removed.
* ArrayLangRI/CallFunction.js: Removed.
* ArrayLangRI/Check.js: Removed.
* ArrayLangRI/Checker.js: Removed.
* ArrayLangRI/CommaExpression.js: Removed.
* ArrayLangRI/ConstexprTypeParameter.js: Removed.
* ArrayLangRI/EBuffer.js: Removed.
* ArrayLangRI/EBufferBuilder.js: Removed.
* ArrayLangRI/EFloat.js: Removed.
* ArrayLangRI/EInt.js: Removed.
* ArrayLangRI/EPtr.js: Removed.
* ArrayLangRI/EValue.js: Removed.
* ArrayLangRI/EvaluationCommon.js: Removed.
* ArrayLangRI/Evaluator.js: Removed.
* ArrayLangRI/Expression.js: Removed.
* ArrayLangRI/Field.js: Removed.
* ArrayLangRI/Func.js: Removed.
* ArrayLangRI/FuncDef.js: Removed.
* ArrayLangRI/FuncInstantiator.js: Removed.
* ArrayLangRI/FuncParameter.js: Removed.
* ArrayLangRI/FunctionLikeBlock.js: Removed.
* ArrayLangRI/Inline.js: Removed.
* ArrayLangRI/Inliner.js: Removed.
* ArrayLangRI/InstantiateImmediates.js: Removed.
* ArrayLangRI/IntLiteral.js: Removed.
* ArrayLangRI/Intrinsics.js: Removed.
* ArrayLangRI/Lexer.js: Removed.
* ArrayLangRI/LexerToken.js: Removed.
* ArrayLangRI/NameContext.js: Removed.
* ArrayLangRI/NameResolver.js: Removed.
* ArrayLangRI/NativeFunc.js: Removed.
* ArrayLangRI/NativeType.js: Removed.
* ArrayLangRI/NativeTypeInstance.js: Removed.
* ArrayLangRI/Node.js: Removed.
* ArrayLangRI/NullType.js: Removed.
* ArrayLangRI/Parse.js: Removed.
* ArrayLangRI/Prepare.js: Removed.
* ArrayLangRI/Program.js: Removed.
* ArrayLangRI/Protocol.js: Removed.
* ArrayLangRI/ProtocolDecl.js: Removed.
* ArrayLangRI/ProtocolRef.js: Removed.
* ArrayLangRI/PtrType.js: Removed.
* ArrayLangRI/ReferenceType.js: Removed.
* ArrayLangRI/ResolveNames.js: Removed.
* ArrayLangRI/ResolveOverloadImpl.js: Removed.
* ArrayLangRI/ResolveTypeDefs.js: Removed.
* ArrayLangRI/Return.js: Removed.
* ArrayLangRI/ReturnException.js: Removed.
* ArrayLangRI/Rewriter.js: Removed.
* ArrayLangRI/StandardLibrary.js: Removed.
* ArrayLangRI/StructType.js: Removed.
* ArrayLangRI/Substitution.js: Removed.
* ArrayLangRI/SuffixCallAssignment.js: Removed.
* ArrayLangRI/Test.js: Removed.
* ArrayLangRI/Type.js: Removed.
* ArrayLangRI/TypeDef.js: Removed.
* ArrayLangRI/TypeDefResolver.js: Removed.
* ArrayLangRI/TypeOrVariableRef.js: Removed.
* ArrayLangRI/TypeRef.js: Removed.
* ArrayLangRI/TypeVariable.js: Removed.
* ArrayLangRI/UnificationContext.js: Removed.
* ArrayLangRI/Value.js: Removed.
* ArrayLangRI/VariableDecl.js: Removed.
* ArrayLangRI/VariableRef.js: Removed.
* ArrayLangRI/VisitingSet.js: Removed.
* ArrayLangRI/Visitor.js: Removed.
* WebGPUShadingLanguageRI: Copied from Tools/ArrayLangRI.
* WebGPUShadingLanguageRI/ALSyntaxError.js: Removed.
* WebGPUShadingLanguageRI/ALTypeError.js: Removed.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/CallFunction.js:
(callFunctionByRef):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.prototype.add):
(Intrinsics):
* WebGPUShadingLanguageRI/Lexer.js:
(Lexer):
* WebGPUShadingLanguageRI/NameContext.js:
(NameContext.prototype.add):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype._resolveTypeArguments):
(NameResolver.prototype.visitTypeRef):
(NameResolver.prototype.visitVariableRef):
* WebGPUShadingLanguageRI/Parse.js:
* WebGPUShadingLanguageRI/StandardLibrary.js:
* WebGPUShadingLanguageRI/StructType.js:
(StructType.prototype.add):
(StructType.prototype.instantiate):
* WebGPUShadingLanguageRI/TypeDefResolver.js:
(TypeDefResolver.prototype.visitTypeRef):
(TypeDefResolver):
* WebGPUShadingLanguageRI/VisitingSet.js:
(VisitingSet.prototype.doVisit):
(VisitingSet):
* WebGPUShadingLanguageRI/WSyntaxError.js: Copied from Tools/ArrayLangRI/ALSyntaxError.js.
(ALSyntaxError): Deleted.
* WebGPUShadingLanguageRI/WTypeError.js: Copied from Tools/ArrayLangRI/ALTypeError.js.
(ALTypeError): Deleted.
2017-08-30 Eric Carlson <eric.carlson@apple.com>
Add Logger observer and helper class
https://bugs.webkit.org/show_bug.cgi?id=176106
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::LoggingTest::LoggingTest):
(TestWebKitAPI::LoggingTest::Logger::create):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::LogObserver::log):
(TestWebKitAPI::LogObserver::channel const):
2017-08-29 Filip Pizlo <fpizlo@apple.com>
Initial reference implementation scaffolding for ArrayLang
https://bugs.webkit.org/show_bug.cgi?id=175925
Reviewed by Myles Maxfield.
This introduces a very rough scaffolding for an AST walk interpreter and type checker for an
experimental shader language we are calling ArrayLang for now.
The idea is to have a strong core type system that includes generics and memory-safe pointers
and array references. Everything has deterministic semantics right up to the limit of what is
portably possible.
This language will support generics. This will be valid:
protocol Addable { Addable operator+(Addable, Addable); }
T add<T:Addable>(T a, T b) { return a + b; }
This language will support pointers and array references. This will be valid:
thread int^ foo() { int x; return \x; }
Each variable behaves as if it was declared "static", with one copy per type instantiation.
Functions cannot recurse and there is no stack.
Currently, this just tests that the following function can be parsed, checked, and called:
int foo(int x) { return x + 1; }
* ArrayLangRI: Added.
* ArrayLangRI/ALSyntaxError.js: Added.
(ALSyntaxError):
* ArrayLangRI/ALTypeError.js: Added.
(ALTypeError):
* ArrayLangRI/AddressSpace.js: Added.
(isAddressSpace):
(validateAddressSpace):
* ArrayLangRI/All.js: Added.
* ArrayLangRI/ArrayRefType.js: Added.
(ArrayRefType.prototype.unifyImpl):
(ArrayRefType.prototype.toString):
(ArrayRefType):
* ArrayLangRI/ArrayType.js: Added.
(ArrayType):
(ArrayType.prototype.get origin):
(ArrayType.prototype.get elementType):
(ArrayType.prototype.get numElements):
(ArrayType.prototype.get isPrimitive):
(ArrayType.prototype.toString):
(ArrayType.prototype.get size):
(ArrayType.prototype.unifyImpl):
* ArrayLangRI/Assignment.js: Added.
(Assignment):
(Assignment.prototype.get lhs):
(Assignment.prototype.get rhs):
(Assignment.prototype.toString):
* ArrayLangRI/Block.js: Added.
(Block):
(Block.prototype.get origin):
(Block.prototype.add):
(Block.prototype.get statements):
(Block.prototype.toString):
* ArrayLangRI/CallAssignment.js: Added.
(CallAssignment):
(CallAssignment.prototype.get name):
(CallAssignment.prototype.get lhs):
(CallAssignment.prototype.get rhs):
(CallAssignment.prototype.toString):
* ArrayLangRI/CallExpression.js: Added.
(CallExpression):
(CallExpression.prototype.get name):
(CallExpression.prototype.get typeArguments):
(CallExpression.prototype.get argumentList):
(CallExpression.prototype.toString):
* ArrayLangRI/CallFunction.js: Added.
(callFunctionByRef):
(callFunction):
* ArrayLangRI/Check.js: Added.
(check):
* ArrayLangRI/Checker.js: Added.
(Checker):
(Checker.prototype.visitProgram):
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitTypeRef):
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitVariableRef):
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable):
(Checker.prototype.visitProtocolDecl.set throw):
* ArrayLangRI/CommaExpression.js: Added.
(CommaExpression):
(CommaExpression.prototype.get list):
(CommaExpression.prototype.toString):
* ArrayLangRI/ConstexprTypeParameter.js: Added.
(ConstexprTypeParameter):
(ConstexprTypeParameter.prototype.get name):
(ConstexprTypeParameter.prototype.get type):
(ConstexprTypeParameter.prototype.get isConstexpr):
(ConstexprTypeParameter.prototype.get isUnifiable):
(ConstexprTypeParameter.prototype.typeVariableUnify):
(ConstexprTypeParameter.prototype.unifyImpl):
(ConstexprTypeParameter.prototype.verifyAsArgument):
(ConstexprTypeParameter.prototype.verifyAsParameter):
(ConstexprTypeParameter.prototype.toString):
* ArrayLangRI/EBuffer.js: Added.
(EBuffer):
(EBuffer.get index):
* ArrayLangRI/EBufferBuilder.js: Added.
(EBufferBuilder):
(EBufferBuilder.prototype._createEPtr):
(EBufferBuilder.prototype.visitFuncParameter):
* ArrayLangRI/EFloat.js: Added.
(EFloat):
(EFloat.prototype.get value):
(EFloat.prototype.add):
(EFloat.prototype.toString):
* ArrayLangRI/EInt.js: Added.
(EInt):
(EInt.prototype.get value):
(EInt.prototype.add):
(EInt.prototype.toString):
* ArrayLangRI/EPtr.js: Added.
(EPtr):
(EPtr.box):
(EPtr.prototype.get buffer):
(EPtr.prototype.get offset):
(EPtr.prototype.loadValue):
(EPtr.prototype.copyFrom):
(EPtr.prototype.toString):
* ArrayLangRI/EValue.js: Added.
(EValue):
(EValue.prototype.get type):
* ArrayLangRI/EvaluationCommon.js: Added.
* ArrayLangRI/Evaluator.js: Added.
(Evaluator):
(Evaluator.prototype.visitFunctionBody):
(Evaluator.prototype.visitFunctionLikeBlock):
(Evaluator.prototype.visitReturn):
(Evaluator.prototype.visitCommaExpression):
(Evaluator.prototype.visitVariableRef):
(Evaluator.prototype.visitIntLiteral):
(Evaluator.prototype.visitCallExpression):
* ArrayLangRI/Expression.js: Added.
(Expression):
(Expression.prototype.get origin):
* ArrayLangRI/Field.js: Added.
(Field):
(Field.prototype.get origin):
(Field.prototype.get name):
(Field.prototype.get type):
(Field.prototype.toString):
* ArrayLangRI/Func.js: Added.
(Func):
(Func.prototype.get name):
(Func.prototype.get returnType):
(Func.prototype.get typeParameters):
(Func.prototype.get parameters):
(Func.prototype.get parameterTypes):
(Func.prototype.get kind):
(Func.prototype.toString):
* ArrayLangRI/FuncDef.js: Added.
(FuncDef):
(FuncDef.prototype.get origin):
(FuncDef.prototype.toString):
* ArrayLangRI/FuncInstantiator.js: Added.
(FuncInstantiator):
(FuncInstantiator.prototype.getUnique):
* ArrayLangRI/FuncParameter.js: Added.
(FuncParameter):
(FuncParameter.prototype.get origin):
(FuncParameter.prototype.get name):
(FuncParameter.prototype.get type):
(FuncParameter.prototype.toString):
* ArrayLangRI/FuncSignature.js: Added.
* ArrayLangRI/FunctionLikeBlock.js: Added.
(FunctionLikeBlock):
(FunctionLikeBlock.prototype.get origin):
(FunctionLikeBlock.prototype.get argumentList):
(FunctionLikeBlock.prototype.get parameters):
(FunctionLikeBlock.prototype.get body):
(FunctionLikeBlock.prototype.toString):
* ArrayLangRI/Inline.js: Added.
(inline):
(_inlineFunction):
(resolveInlinedFunction):
* ArrayLangRI/Inliner.js: Added.
(Inliner):
(Inliner.prototype.visitCallExpression):
* ArrayLangRI/InstantiateImmediates.js: Added.
(InstantiateImmediates.prototype.visitTypeRef):
(InstantiateImmediates.prototype.visitReferenceType):
(InstantiateImmediates.prototype.visitStructType):
(InstantiateImmediates.prototype.visitNativeType):
(InstantiateImmediates.prototype.visitTypeVariable):
(InstantiateImmediates):
* ArrayLangRI/IntLiteral.js: Added.
(IntLiteral):
(IntLiteral.prototype.get value):
(IntLiteral.prototype.get isConstexpr):
(IntLiteral.prototype.toString):
* ArrayLangRI/Intrinsics.js: Added.
(Intrinsics):
(Intrinsics.prototype.add):
* ArrayLangRI/Lexer.js: Added.
(Lexer):
(Lexer.prototype.get lineNumber):
(Lexer.prototype.get origin):
(Lexer.prototype.get originString):
(Lexer.prototype.lineNumberForIndex):
(Lexer.prototype.get state):
(Lexer.prototype.set state):
(Lexer.prototype.next):
* ArrayLangRI/LexerToken.js: Added.
(LexerToken):
(LexerToken.prototype.get kind):
(LexerToken.prototype.get text):
(LexerToken.prototype.get origin):
(LexerToken.prototype.get index):
(LexerToken.prototype.get lineNumber):
(LexerToken.prototype.get originString):
(LexerToken.prototype.toString):
* ArrayLangRI/NameContext.js: Added.
(isWildcardKind):
(NameContext):
(NameContext.prototype.mapFor):
(NameContext.prototype.add):
(NameContext.get currentStatement):
(NameContext.get intrinsics):
(NameContext.set program):
(NameContext.get program):
(NameContext.prototype.get let):
* ArrayLangRI/NameResolver.js: Added.
(NameResolver):
(NameResolver.prototype.visitProgram):
(NameResolver.prototype._visitTypeParametersAndBuildNameContext):
(NameResolver.prototype.visitFunc):
(NameResolver.prototype.visitFuncDef):
(NameResolver.prototype.visitBlock):
(NameResolver.prototype.visitProtocolDecl):
(NameResolver.prototype.visitTypeDef):
(NameResolver.prototype.visitStructType):
(NameResolver.prototype._resolveTypeArguments):
(NameResolver.prototype.visitTypeRef):
(NameResolver.prototype.visitReferenceType):
(NameResolver.prototype.visitVariableRef):
(NameResolver.prototype.visitReturn):
(NameResolver.prototype.visitCallExpression):
* ArrayLangRI/NativeFunc.js: Added.
(NativeFunc):
(NativeFunc.prototype.get origin):
(NativeFunc.prototype.get isNative):
(NativeFunc.prototype.toString):
* ArrayLangRI/NativeType.js: Added.
(NativeType):
(NativeType.prototype.get origin):
(NativeType.prototype.get name):
(NativeType.prototype.get isPrimitive):
(NativeType.prototype.get typeParameters):
(NativeType.prototype.get isNative):
(NativeType.prototype.instantiate):
(NativeType.prototype.toString):
* ArrayLangRI/NativeTypeInstance.js: Added.
(NativeTypeInstance):
(NativeTypeInstance.prototype.get type):
(NativeTypeInstance.prototype.get typeArguments):
(NativeTypeInstance.prototype.get isPrimitive):
(NativeTypeInstance.prototype.get isNative):
(NativeTypeInstance.prototype.unifyImpl):
(NativeTypeInstance.prototype.toString):
* ArrayLangRI/Node.js: Added.
(Node.prototype.visit):
(Node.unify):
(Node.prototype.unifyImpl):
(Node.prototype.typeVariableUnify):
(Node.prototype.get unifyNode):
(Node.prototype.get isUnifiable):
(Node.prototype.get isNative):
(Node.prototype.equals):
(Node.prototype.substitute):
(Node.prototype.substituteToUnification):
(Node):
* ArrayLangRI/NullType.js: Added.
(NullType):
* ArrayLangRI/Parse.js: Added.
(genericConsume):
(consume):
(genericTest):
(test):
(tryConsumeKind):
(parseProtocolRef):
(consumeEndOfTypeArgs):
(parseTypeParameters):
(parseTerm):
(parseConstexpr):
(parseTypeArguments):
(parseType.getAddressSpace):
(parseType):
(parseTypeDef):
(parseNative):
(genericParseLeft):
(parseLeftOperatorCall):
(parsePossibleSuffix):
(parsePossiblePrefix):
(parsePossibleProduct):
(parsePossibleSum):
(parsePossibleShift):
(parsePossibleRelationalInequality):
(parsePossibleRelationalEquality):
(parsePossibleBitwiseXor):
(parsePossibleBitwiseOr):
(parseLeftLogicalExpression):
(parsePossibleLogicalOr):
(parsePossibleTernaryConditional):
(parsePossibleAssignment):
(parseAssignment):
(parseEffectfulExpression):
(genericParseCommaExpression):
(parseCommaExpression):
(parseExpression):
(parseEffectfulStatement):
(parseReturn):
(parseVariableDecls):
(parseStatement):
(parseBlock):
(parseParameter):
(parseFuncName):
(parseFuncDef):
(parse):
* ArrayLangRI/Prepare.js: Added.
(prepare):
* ArrayLangRI/Program.js: Added.
(Program):
(Program.prototype.get topLevelStatements):
(Program.prototype.get functions):
(Program.prototype.get types):
(Program.prototype.get funcInstantiator):
(Program.prototype.add):
(Program.prototype.resolveFuncOverload):
(Program.prototype.get nameContext):
(Program.prototype.toString):
* ArrayLangRI/Protocol.js: Added.
(Protocol):
(Protocol.prototype.get origin):
(Protocol.prototype.get name):
(Protocol.prototype.get kind):
(Protocol.prototype.toString):
* ArrayLangRI/ProtocolDecl.js: Added.
(ProtocolDecl):
(ProtocolDecl.prototype.addSignature):
(ProtocolDecl.prototype.get signatures):
(ProtocolDecl.prototype.signaturesByName):
(ProtocolDecl.prototype.get typeVariable):
(ProtocolDecl.prototype.signaturesByNameWithTypeVariable):
(ProtocolDecl.prototype.inherits):
(ProtocolDecl.prototype.hasHeir):
(ProtocolDecl.prototype.toString):
* ArrayLangRI/ProtocolRef.js: Added.
(ProtocolRef):
(ProtocolRef.prototype.inherits):
(ProtocolRef.prototype.hasHeir):
* ArrayLangRI/PtrType.js: Added.
(PtrType.prototype.unifyImpl):
(PtrType.prototype.toString):
(PtrType):
* ArrayLangRI/ReferenceType.js: Added.
(ReferenceType):
(ReferenceType.prototype.get origin):
(ReferenceType.prototype.get addressSpace):
(ReferenceType.prototype.get elementType):
(ReferenceType.prototype.get isPrimitive):
(ReferenceType.prototype.get size):
* ArrayLangRI/ResolveNames.js: Added.
(resolveNames):
* ArrayLangRI/ResolveOverloadImpl.js: Added.
(resolveOverloadImpl):
* ArrayLangRI/ResolveTypeDefs.js: Added.
(resolveTypeDefs):
* ArrayLangRI/Return.js: Added.
(Return):
(Return.prototype.get origin):
(Return.prototype.get value):
(Return.prototype.toString):
* ArrayLangRI/ReturnException.js: Added.
(ReturnException):
(ReturnException.prototype.get value):
* ArrayLangRI/Rewriter.js: Added.
(Rewriter):
(Rewriter.prototype._map):
(Rewriter.prototype._getMapping):
(Rewriter.prototype.visitFunc):
(Rewriter.prototype.visitFuncParameter):
(Rewriter.prototype.visitBlock):
(Rewriter.prototype.visitCommaExpression):
(Rewriter.prototype.visitProtocolRef):
(Rewriter.prototype.visitTypeRef):
(Rewriter.prototype.visitTypeVariable):
(Rewriter.prototype.visitConstexprTypeParameter):
(Rewriter.prototype.visitField):
(Rewriter.prototype.visitReferenceType):
(Rewriter.visitPtrType):
(Rewriter.prototype.visitArrayRefType):
(Rewriter.prototype.visitArrayType):
(Rewriter.prototype.visitAssignment):
(Rewriter.prototype.visitVariableRef):
(Rewriter.prototype.visitReturn):
(Rewriter.prototype.visitIntLiteral):
(Rewriter.prototype.visitCallExpression):
(Rewriter.prototype.visitFunctionLikeBlock):
* ArrayLangRI/StandardLibrary.js: Added.
* ArrayLangRI/StructType.js: Added.
(StructType):
(StructType.prototype.add):
(StructType.prototype.get name):
(StructType.prototype.get typeParameters):
(StructType.prototype.get fieldNames):
(StructType.prototype.fieldByName):
(StructType.prototype.get fields):
(StructType.prototype.get fieldMap):
(StructType.prototype.get isPrimitive):
(StructType.prototype.instantiate):
(StructType.prototype.toString):
* ArrayLangRI/Substitution.js: Added.
(Substitution):
(Substitution.mapping):
(Substitution.prototype.visitTypeRef):
(Substitution.prototype.visitVariableRef):
* ArrayLangRI/SuffixCallAssignment.js: Added.
(SuffixCallAssignment):
(SuffixCallAssignment.prototype.get name):
(SuffixCallAssignment.prototype.get lhs):
(SuffixCallAssignment.prototype.toString):
* ArrayLangRI/Test.js: Added.
(load):
* ArrayLangRI/Type.js: Added.
(Type.prototype.get typeParameters):
(Type.prototype.get kind):
(Type.prototype.inherits):
(Type.prototype.get instantiatedType):
(Type):
* ArrayLangRI/TypeDef.js: Added.
(TypeDef):
(TypeDef.prototype.get origin):
(TypeDef.prototype.get name):
(TypeDef.prototype.get typeParameters):
(TypeDef.prototype.get type):
* ArrayLangRI/TypeDefResolver.js: Added.
(TypeDefResolver):
(TypeDefResolver.prototype.visitTypeRef):
* ArrayLangRI/TypeOrVariableRef.js: Added.
(TypeOrVariableRef):
(TypeOrVariableRef.prototype.get origin):
(TypeOrVariableRef.prototype.get name):
(TypeOrVariableRef.prototype.toString):
* ArrayLangRI/TypeRef.js: Added.
(TypeRef):
(TypeRef.wrap):
(TypeRef.prototype.get origin):
(TypeRef.prototype.get name):
(TypeRef.prototype.get typeArguments):
(TypeRef.prototype.get isPrimitive):
(TypeRef.prototype.get instantiatedType):
(TypeRef.prototype.get unifyNode):
(TypeRef.prototype.populateDefaultValue):
(TypeRef.prototype.get size):
(TypeRef.prototype.setTypeAndArguments):
(TypeRef.prototype.unifyImpl):
(TypeRef.prototype.toString):
* ArrayLangRI/TypeVariable.js: Added.
(TypeVariable):
(TypeVariable.prototype.get name):
(TypeVariable.prototype.get protocol):
(TypeVariable.prototype.get isPrimitive):
(TypeVariable.prototype.get isUnifiable):
(TypeVariable.prototype.inherits):
(TypeVariable.prototype.typeVariableUnify):
(TypeVariable.prototype.unifyImpl):
(TypeVariable.prototype.verifyAsArgument):
(TypeVariable.prototype.verifyAsParameter):
(TypeVariable.prototype.toString):
* ArrayLangRI/UnificationContext.js: Added.
(UnificationContext):
(UnificationContext.prototype.union):
(UnificationContext.prototype.find):
(UnificationContext.prototype.get nodes):
(UnificationContext.prototype.verify):
(UnificationContext.prototype.isUnunified):
* ArrayLangRI/Value.js: Added.
(Value.prototype.get kind):
(Value.prototype.get isConstexpr):
(Value):
* ArrayLangRI/VariableDecl.js: Added.
(VariableDecl):
(VariableDecl.prototype.get origin):
(VariableDecl.prototype.get name):
(VariableDecl.prototype.get type):
(VariableDecl.prototype.get initializer):
(VariableDecl.prototype.toString):
* ArrayLangRI/VariableRef.js: Added.
(VariableRef):
(VariableRef.prototype.get name):
(VariableRef.prototype.get isConstexpr):
(VariableRef.prototype.get unifyNode):
(VariableRef.prototype.toString):
* ArrayLangRI/VisitingSet.js: Added.
(VisitingSet):
(VisitingSet.prototype.doVisit):
* ArrayLangRI/Visitor.js: Added.
(Visitor.prototype.visitProgram):
(Visitor.prototype.visitFunc):
(Visitor.prototype.visitFuncParameter):
(Visitor.prototype.visitFuncDef):
(Visitor.prototype.visitNativeFunc):
(Visitor.prototype.visitBlock):
(Visitor.prototype.visitCommaExpression):
(Visitor.prototype.visitProtocolRef):
(Visitor.prototype.visitProtocolDecl):
(Visitor.prototype.visitTypeRef):
(Visitor.prototype.visitNativeType):
(Visitor.prototype.visitTypeDef):
(Visitor.prototype.visitStructType):
(Visitor.prototype.visitTypeVariable):
(Visitor.prototype.visitConstexprTypeParameter):
(Visitor.prototype.visitField):
(Visitor.prototype.visitElementalType):
(Visitor.prototype.visitPtrType):
(Visitor.prototype.visitArrayRefType):
(Visitor.prototype.visitArrayType):
(Visitor.prototype.visitAssignment):
(Visitor.prototype.visitVariableRef):
(Visitor.prototype.visitReturn):
(Visitor.prototype.visitIntLiteral):
(Visitor.prototype.visitCallExpression):
(Visitor.prototype.visitFunctionLikeBlock):
(Visitor):
2017-08-30 Stephan Szabo <stephan.szabo@sony.com>
[Win][JSCOnly] Support running JSC tests for win-cairo from windows command prompt
https://bugs.webkit.org/show_bug.cgi?id=174985
Reviewed by Keith Miller.
* Scripts/run-javascriptcore-tests:
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
* Scripts/webkitruby/jsc-stress-test-writer-ruby.rb: Added.
2017-08-30 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Do not use autogen whenever possible in JHBuild modules
https://bugs.webkit.org/show_bug.cgi?id=176098
Reviewed by Carlos Alberto Lopez Perez.
* gtk/jhbuild.modules: Added autogen-sh="configure" attributes for many Autootools modules.
2017-08-30 Tomas Popela <tpopela@redhat.com>
[GTK] Avoid building fontconfig documentation in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=176097
Reviewed by Carlos Alberto Lopez Perez.
Disable building fontconfig documentation in jhbuild as it needs the
docbook-utils-pdf package installed which depends on quite a few
packages (on Fedora it's 226 packages (mostly textlive) with installed
size of 274 MB). The documentation is not needed at all in jhbuild, so
disable it to save some bandwidth and disc space.
* gtk/install-dependencies: Pass --disable-docs to fontconfig.
* gtk/jhbuild.modules: Don't install docbook-utils-pdf on Fedora.
2017-08-30 Tomas Popela <tpopela@redhat.com>
Unreviewed, remove trailing space
* gtk/jhbuildrc:
2017-08-29 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r221064): [GTK] Editor not correctly working after r221064
https://bugs.webkit.org/show_bug.cgi?id=176052
Reviewed by Michael Catanzaro.
Run the test inside a window to ensure display updates happen.
* TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
(testWebViewEditorEditorStateTypingAttributes):
2017-08-29 Don Olmstead <don.olmstead@sony.com>
[CMake] Use find_package for zlib
https://bugs.webkit.org/show_bug.cgi?id=176075
Reviewed by Alex Christensen.
* TestWebKitAPI/PlatformWin.cmake:
2017-08-29 Brent Fulgham <bfulgham@apple.com>
ResourceLoadStatistics logic does not understand custom WebsiteData stores
https://bugs.webkit.org/show_bug.cgi?id=176037
<rdar://problem/33338238>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST): Update for ResourceLoadStatistics directories.
2017-08-29 Brady Eidson <beidson@apple.com>
Rename "potentionally trustworthy" to "potentially trustworthy"
https://bugs.webkit.org/show_bug.cgi?id=176081
Reviewed by Daniel Bates.
* TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
(TestWebKitAPI::TEST_F):
2017-08-29 Stephan Szabo <stephan.szabo@sony.com>
[Win][JSCOnly] Fix call for updating wincairo-libs in build-jsc
https://bugs.webkit.org/show_bug.cgi?id=176080
Reviewed by Brent Fulgham.
* Scripts/build-jsc:
2017-08-29 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Avoid using autogen for JHBuild modules, trying to fix the EWS
Unreviewed build fix.
This also makes the JHBuild process faster, because there are less
modules which will trigger slow, ancient Perl and M4 based tooling.
* wpe/jhbuild.modules:
2017-08-29 Don Olmstead <don.olmstead@sony.com>
[CMake] Use find_package for libxml2 and libxstl
https://bugs.webkit.org/show_bug.cgi?id=176042
Reviewed by Konstantin Tokarev.
* TestWebKitAPI/PlatformWin.cmake:
2017-08-29 Per Arne Vollan <pvollan@apple.com>
[Win] A WTF test is timing out in run-api-tests.
https://bugs.webkit.org/show_bug.cgi?id=176056
Reviewed by Brent Fulgham.
The test SynchronizedFixedQueue.ProduceOnly relies on that putting a thread to sleep for
1ms will wake it up before another thread which is put to sleep for 10ms. I believe this
is not neccessarily true on Windows where the thread scheduling does not have millisecond
accuracy. Fix the test timeout by adjusting the sleep time slightly.
* TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
(TestWebKitAPI::ToUpperConverter::startProducing):
2017-08-29 Eric Carlson <eric.carlson@apple.com>
Unreviewed, update my watchlist filters.
* Scripts/webkitpy/common/config/watchlist:
2017-08-29 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. REGRESSION(r221219): Fix unit tests using resources from WebKit directory.
The WebKit2 directory was renamed as WebKit in r221219, but neither run-gtk-tests script nor
Test::getResourcesDir() were updated to use the new name.
* Scripts/run-gtk-tests:
(TestRunner._setup_testing_environment):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::getResourcesDir):
2017-08-28 Eric Carlson <eric.carlson@apple.com>
Logger should use makeString instead of String::format
https://bugs.webkit.org/show_bug.cgi?id=176035
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::TEST_F): Update test.
2017-08-28 Michael Catanzaro <mcatanzaro@igalia.com>
[GStreamer] The glvideoflip GStreamer element isn't available. Video mirroring and rotation functionalities are thus disabled.
https://bugs.webkit.org/show_bug.cgi?id=175576
Reviewed by Carlos Alberto Lopez Perez.
Build graphene to enable the glvideoflip element.
* gstreamer/jhbuild.modules:
* gtk/jhbuild.modules:
* jhbuild/jhbuild-wrapper:
* wpe/jhbuild.modules:
2017-08-28 Ms2ger <Ms2ger@gmail.com>
Ensure that the alert function is called in TestWebExtensions.
https://bugs.webkit.org/show_bug.cgi?id=175880
Reviewed by Carlos Garcia Campos.
The test relied on a bug in the HTMLDocument JavaScript bindings: when calling
document.open() with three arguments, it would call any function set as the
"open" property on the window object, rather than just the real Window::open()
method. This bug was fixed by the removal of custom bindings for HTMLDocument
in r218437. As a result, the test no longer called alert(), which caused it to
fail.
Instead, call the window.open() function directly.
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebExtensionIsolatedWorld):
2017-08-27 Wenson Hsieh <wenson_hsieh@apple.com>
Picking an emoji via the emoji dialog (Ctrl+Cmd+Space) fires inconsistent beforeinput events.
https://bugs.webkit.org/show_bug.cgi?id=170955
<rdar://problem/31697653>
Reviewed by Ryosuke Niwa.
Replace UIScriptController.insertText with UIScriptController.replaceTextAtRange, and implement
replaceTextAtRange in WebKit1. See corresponding layout tests (input-event-insert-replacement.html and
before-input-prevent-insert-replacement.html) for more detail.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/AppKitTestSPI.h: Added.
Introduce an SPI header for private AppKit headers needed to support DumpRenderTree.
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::replaceTextAtRange):
(WTR::UIScriptController::insertText): Deleted.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::replaceTextAtRange):
(WTR::UIScriptController::insertText): Deleted.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::replaceTextAtRange):
(WTR::UIScriptController::insertText): Deleted.
Replace UIScriptController.insertText with UIScriptController.replaceTextAtRange, which better describes the
behavior of this function.
2017-08-27 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS WK2] Web process crashes after changing selection to the end of the document when speaking a selection
https://bugs.webkit.org/show_bug.cgi?id=176011
<rdar://problem/32614095>
Reviewed by Ryosuke Niwa.
Introduces AccessibilityTests, and adds three new tests that traverse selection-rect-finding codepaths when
speaking selected content. See WebKit and WebCore ChangeLogs for more detail.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm: Added.
(-[WKWebView rectsAtSelectionOffset:withText:]):
(checkCGRectValueAtIndex):
(TestWebKitAPI::TEST):
2017-08-25 Eric Carlson <eric.carlson@apple.com>
Add Logger::logAlways
https://bugs.webkit.org/show_bug.cgi?id=175996
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::TEST_F):
2017-08-25 Alex Christensen <achristensen@webkit.org>
Disable saveDataToFile API test.
https://bugs.webkit.org/show_bug.cgi?id=176000
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
The test was only working on High Sierra. It needs investigation on older operating systems.
2017-08-25 Alex Christensen <achristensen@webkit.org>
Rename TestWebKitAPI/Tests/WebKit2* to WebKit* following Source directory rename.
Rubber-stamped by Brady Eidson.
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsPlugin.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsProtocol.h: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/AllAhem.svg: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/AlwaysRevalidatedURLSchemes.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db-shm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db-wal: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegateProtocol.h: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandlePlugIn.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandleProtocol.h: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresource.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresourcePlugIn.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/CommandBackForward.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.h: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/CookieMessage.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/Copying.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestBlobURL.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURL.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURL2.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURLFrame.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/DuplicateCompletionHandlerCalls.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/EditorStateTests.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/EmptyGrandfatheredResourceLoadStatistics.plist: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/FixedLayoutSize.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenDelegate.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenDelegate.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenTopContentInset.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenTopContentInset.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/Geolocation.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/GeolocationGetCurrentPositionResult.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3-shm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3-wal: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexUpgrade.blob: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexUpgrade.sqlite3: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill-1.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-1.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-2.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-3.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence-1.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence-2.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-shm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-wal: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityRead.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityWrite.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/InitialWarmedProcessUsed.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/InteractionDeadlockAfterCrash.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LineBreaking.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LoadDataWithNilMIMEType.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LoadInvalidURLRequest.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.localstorage: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.localstorage-shm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageQuirkEnabled.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageQuirkTest.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/NSFileManagerExtras.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/NowPlayingControlsTests.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ObservedRenderingProgressEventsAfterCrash.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/OverrideContentSecurityPolicy.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/Preferences.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLNotChange.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.h: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistryPlugIn.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsPlugIn.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsProtocol.h: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ShouldOpenExternalURLsInNewWindowActions.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/ShrinkToFit.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/SnapshotStore.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobThenDelete.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobToBeDeleted.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorld.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorldPlugIn.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorldProtocol.h: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/UserInitiatedActionInNavigationAction.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/VisibleContentRect.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKContentViewEditingActions.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKNSNumber.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFView.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewResizeCrash.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewStablePresentationUpdateCallback.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-leaks.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDefaultNavigationDelegate.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDiagnosticLogging.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDoesNotLogDuringInitialization.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewGetContents.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewTextInput.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup-1.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup-2.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/apple.gif: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/attachment-element.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/autofocused-text-input.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/autoplaying-video-with-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/blinking-div.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-click.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-end.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/compressed-files.zip: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-target.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-textarea.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-in-iframe.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/div-and-large-image.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/double-click-does-not-select-trailing-space.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-change-selection-offscreen.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-clear-selection.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/duplicate-completion-handler-calls.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/editable-body.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/editor-state-test-harness.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/enormous-video-with-sound.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/enormous.svg: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/file-uploading.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/focus-inputs.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/full-size-autoplaying-video-with-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/gif-and-file-input.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-in-link-and-input.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-map.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/input-field-in-scrollable-document.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-input-field-focus-onload.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-video-hides-controls-after-seek-to-end.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-video-mutes-onplaying.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-video-offscreen.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-video-playing-scroll-away.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-video-seek-after-ending.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-video-seek-to-beginning-and-play-after-ending.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-video-test-now-playing.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.mp4: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-video-without-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-click-to-pause.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-scroll-to-video.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-paused-video-hides-controls.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-muted-video-hides-controls.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-video-keeps-controls.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-with-audio-autoplay.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-with-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/link-and-target-div.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/offscreen-iframe-of-media-document.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/open-multiple-external-url.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp-iframe.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp-iframe.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/password-protected.pages: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/play-audio-on-click.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/prevent-operation.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/prevent-start.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/rendered-image-excluding-overflow.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/rich-and-plain-text.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/silence-long.m4a: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/skinny-autoplaying-video-with-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/text-and-password-inputs.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/textarea-to-input.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/two-paragraph-contenteditable.html: Removed.
* TestWebKitAPI/Tests/WebKit2Cocoa/wide-autoplaying-video-with-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/AccessibilityTestServer.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/AutocleanupsTest.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/DOMClientRectTest.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/EditorTest.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestAutocleanups.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestDOMClientRect.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestDOMDOMWindow.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNodeFilter.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestDOMXPathNSResolver.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestEditor.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestOptionMenu.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitVersion.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme.mm: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing.mm: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextGroupTest.mm: Removed.
* TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextLoadDelegateTest.mm: Removed.
* TestWebKitAPI/Tests/WebKitCocoa: Copied from TestWebKitAPI/Tests/WebKit2Cocoa.
* TestWebKitAPI/Tests/WebKitGtk: Copied from TestWebKitAPI/Tests/WebKit2Gtk.
* TestWebKitAPI/Tests/WebKitObjC: Copied from TestWebKitAPI/Tests/WebKit2ObjC.
* TestWebKitAPI/glib/PlatformGTK.cmake:
2017-08-25 Alex Christensen <achristensen@webkit.org>
Rename TestWebKitAPI/Tests/WebKit2 to WebKit following Source directory rename.
Rubber-stamped by Brady Eidson.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit: Copied from TestWebKitAPI/Tests/WebKit2.
* TestWebKitAPI/Tests/WebKit2: Removed.
* TestWebKitAPI/Tests/WebKit2/18-characters.html: Removed.
* TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/Ahem.ttf: Removed.
* TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CanHandleRequest_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CloseFromWithinCreatePage.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CookieManager.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DeferredViewInWindowStateChange.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DidRemoveFrameFromHiearchyInPageCache.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/EnvironmentUtilitiesTest.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/EventModifiers.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/Find.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/FindMatches.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/FrameHandle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/Geolocation.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/GetUserMediaNavigation.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/InjectedBundleMakeAllShadowRootsOpen.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/InjectedBundleMakeAllShadowRootsOpen_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/LayoutMilestonesWithAllContentInFrame.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/LimitTitleSize.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/MenuTypesForMouseEvents.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/NavigationClientDefaultCrypto.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/NetworkProcessCrashWithPendingConnection.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/PageGroup.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/PasteboardNotifications.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/PasteboardNotifications_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/PendingAPIRequestURL.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ProcessDidTerminate.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ProvisionalURLAfterWillSendRequestCallback.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ProvisionalURLAfterWillSendRequestCallback_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ReloadPageAfterCrash.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ResponsivenessTimer.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/RestoreSessionStateWithoutNavigation.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad_bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/UserMedia.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/UserMessage.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/UserMessage_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/WKBackForwardList.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/WKBundleFileHandle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKBundleFileHandle_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKImageCreateCGImageCrash.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKPageConfiguration.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKPageCopySessionStateWithFiltering.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKPageGetScaleFactorNotZero.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKRetainPtr.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKString.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WKThumbnailView.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/WKURL.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WebArchive.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WebArchive_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WebCoreStatisticsWithNoWebProcess.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WillLoad.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/all-content-in-one-iframe.html: Removed.
* TestWebKitAPI/Tests/WebKit2/associate-form-controls.html: Removed.
* TestWebKitAPI/Tests/WebKit2/auto-submitting-form.html: Removed.
* TestWebKitAPI/Tests/WebKit2/autoplay-check-frame.html: Removed.
* TestWebKitAPI/Tests/WebKit2/autoplay-check-in-iframe.html: Removed.
* TestWebKitAPI/Tests/WebKit2/autoplay-check.html: Removed.
* TestWebKitAPI/Tests/WebKit2/autoplay-inherits-gesture-from-document.html: Removed.
* TestWebKitAPI/Tests/WebKit2/autoplay-muted-with-controls.html: Removed.
* TestWebKitAPI/Tests/WebKit2/autoplay-no-audio-check.html: Removed.
* TestWebKitAPI/Tests/WebKit2/autoplay-with-controls.html: Removed.
* TestWebKitAPI/Tests/WebKit2/autoplay-zero-volume-check.html: Removed.
* TestWebKitAPI/Tests/WebKit2/bundle-file.html: Removed.
* TestWebKitAPI/Tests/WebKit2/chinese-character-with-image.html: Removed.
* TestWebKitAPI/Tests/WebKit2/close-from-within-create-page.html: Removed.
* TestWebKitAPI/Tests/WebKit2/closed-shadow-tree-test.html: Removed.
* TestWebKitAPI/Tests/WebKit2/cocoa: Removed.
* TestWebKitAPI/Tests/WebKit2/cocoa/WeakObjCPtr.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/contentBlockerCheck.html: Removed.
* TestWebKitAPI/Tests/WebKit2/custom-protocol-sync-xhr.html: Removed.
* TestWebKitAPI/Tests/WebKit2/encrypted.pdf: Removed.
* TestWebKitAPI/Tests/WebKit2/enumerateMediaDevices.html: Removed.
* TestWebKitAPI/Tests/WebKit2/execCopy.html: Removed.
* TestWebKitAPI/Tests/WebKit2/file-with-anchor.html: Removed.
* TestWebKitAPI/Tests/WebKit2/file-with-mse.html: Removed.
* TestWebKitAPI/Tests/WebKit2/file-with-video.html: Removed.
* TestWebKitAPI/Tests/WebKit2/find.html: Removed.
* TestWebKitAPI/Tests/WebKit2/findRanges.html: Removed.
* TestWebKitAPI/Tests/WebKit2/geolocationGetCurrentPosition.html: Removed.
* TestWebKitAPI/Tests/WebKit2/geolocationGetCurrentPositionWithHighAccuracy.html: Removed.
* TestWebKitAPI/Tests/WebKit2/geolocationWatchPosition.html: Removed.
* TestWebKitAPI/Tests/WebKit2/geolocationWatchPositionWithHighAccuracy.html: Removed.
* TestWebKitAPI/Tests/WebKit2/getUserMedia.html: Removed.
* TestWebKitAPI/Tests/WebKit2/gtk: Removed.
* TestWebKitAPI/Tests/WebKit2/gtk/InputMethodFilter.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/icon.png: Removed.
* TestWebKitAPI/Tests/WebKit2/input-focus-blur.html: Removed.
* TestWebKitAPI/Tests/WebKit2/js-autoplay-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html: Removed.
* TestWebKitAPI/Tests/WebKit2/large-red-square-image.html: Removed.
* TestWebKitAPI/Tests/WebKit2/link-with-download-attribute-with-slashes.html: Removed.
* TestWebKitAPI/Tests/WebKit2/link-with-download-attribute.html: Removed.
* TestWebKitAPI/Tests/WebKit2/link-with-title.html: Removed.
* TestWebKitAPI/Tests/WebKit2/lots-of-iframes.html: Removed.
* TestWebKitAPI/Tests/WebKit2/lots-of-images.html: Removed.
* TestWebKitAPI/Tests/WebKit2/lots-of-text-vertical-lr.html: Removed.
* TestWebKitAPI/Tests/WebKit2/lots-of-text.html: Removed.
* TestWebKitAPI/Tests/WebKit2/mac: Removed.
* TestWebKitAPI/Tests/WebKit2/mac/AttributedSubstringForProposedRangeWithImage.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/mac/ContextMenuDownload.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor_Bundle.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/mac/GetPIDAfterAbortedProcessLaunch.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/mac/RestoreStateAfterTermination.mm: Removed.
* TestWebKitAPI/Tests/WebKit2/many-iframes.html: Removed.
* TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Removed.
* TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html: Removed.
* TestWebKitAPI/Tests/WebKit2/mouse-button-listener.html: Removed.
* TestWebKitAPI/Tests/WebKit2/mouse-move-listener.html: Removed.
* TestWebKitAPI/Tests/WebKit2/navigation-client-default-crypto.html: Removed.
* TestWebKitAPI/Tests/WebKit2/no-autoplay-with-controls.html: Removed.
* TestWebKitAPI/Tests/WebKit2/open-and-close-window.html: Removed.
* TestWebKitAPI/Tests/WebKit2/push-state.html: Removed.
* TestWebKitAPI/Tests/WebKit2/set-long-title.html: Removed.
* TestWebKitAPI/Tests/WebKit2/should-open-external-schemes.html: Removed.
* TestWebKitAPI/Tests/WebKit2/simple-accelerated-compositing.html: Removed.
* TestWebKitAPI/Tests/WebKit2/simple-form.html: Removed.
* TestWebKitAPI/Tests/WebKit2/simple-iframe.html: Removed.
* TestWebKitAPI/Tests/WebKit2/simple-tall.html: Removed.
* TestWebKitAPI/Tests/WebKit2/simple.html: Removed.
* TestWebKitAPI/Tests/WebKit2/simple2.html: Removed.
* TestWebKitAPI/Tests/WebKit2/simple3.html: Removed.
* TestWebKitAPI/Tests/WebKit2/spacebar-scrolling.html: Removed.
* TestWebKitAPI/Tests/WebKit2/test-mse.mp4: Removed.
* TestWebKitAPI/Tests/WebKit2/test-without-audio-track.mp4: Removed.
* TestWebKitAPI/Tests/WebKit2/test.mp4: Removed.
* TestWebKitAPI/Tests/WebKit2/test.pdf: Removed.
* TestWebKitAPI/Tests/WebKit2/webfont.html: Removed.
2017-08-25 Alex Christensen <achristensen@webkit.org>
Rename TestWebKitAPI/Tests/WebKit to WebKitLegacy following Source directory rename.
Rubber-stamped by Brady Eidson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit: Removed.
* TestWebKitAPI/Tests/WebKit/ios: Removed.
* TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm: Removed.
* TestWebKitAPI/Tests/WebKit/ios/SnapshotViaRenderInContext.mm: Removed.
* TestWebKitAPI/Tests/WebKit/ios/audio-only.html: Removed.
* TestWebKitAPI/Tests/WebKit/ios/video-with-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit/ios/video-with-audio.mp4: Removed.
* TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio-and-webaudio.html: Removed.
* TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit/ios/video-without-audio.html: Removed.
* TestWebKitAPI/Tests/WebKit/ios/video-without-audio.mp4: Removed.
* TestWebKitAPI/Tests/WebKit/win: Removed.
* TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp: Removed.
* TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp: Removed.
* TestWebKitAPI/Tests/WebKitLegacy: Copied from TestWebKitAPI/Tests/WebKit.
2017-08-25 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's saveDataToFileInDownloadsFolder
https://bugs.webkit.org/show_bug.cgi?id=176000
<rdar://problem/29270035>
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:
(-[FocusDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
(-[SaveDataToFileDelegate _webView:saveDataToFile:suggestedFilename:mimeType:originatingURL:]):
(-[SaveDataToFileDelegate webView:didFinishNavigation:]):
2017-08-25 Youenn Fablet <youenn@apple.com>
WPT server should not need to copy test harness files
https://bugs.webkit.org/show_bug.cgi?id=175938
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.__init__): Stopping explicit resource files copy when launching the WPT server.
Use aliases instead.
2017-08-25 Eric Carlson <eric.carlson@apple.com>
Add String::format variant that takes va_args
https://bugs.webkit.org/show_bug.cgi?id=175988
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WTF/WTFString.cpp:
(TestWebKitAPI::testWithFormatAndArguments):
(TestWebKitAPI::TEST):
2017-08-25 Jonathan Bedard <jbedard@apple.com>
Follow-up Internal build fix for r221187
https://bugs.webkit.org/show_bug.cgi?id=175960
<rdar://problem/34069264>
Unreviewed build fix.
* TestWebKitAPI/ios/DataInteractionSimulator.h: Move UIItemProvider declaration
into #if block.
2017-08-25 Don Olmstead <don.olmstead@sony.com>
[WinCairo] Use GitHub releases for WinCairoRequirements
https://bugs.webkit.org/show_bug.cgi?id=175972
Reviewed by Brent Fulgham.
* Scripts/build-webkit:
(cMakeArgsFromFeatures): Deleted.
(writeCongrats): Deleted.
* Scripts/download-latest-github-release.py:
(Status):
(parse_args):
(main):
* Scripts/update-webkit-wincairo-libs.py: Renamed from Tools/Scripts/update-webkit-wincairo-libs.
2017-08-25 Jonathan Bedard <jbedard@apple.com>
Fix build breakage with Public iOS 11 SDK
https://bugs.webkit.org/show_bug.cgi?id=175960
<rdar://problem/34069264>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/ios/DataInteractionSimulator.h: Add UIItemProvider declaration.
2017-08-24 Chris Dumez <cdumez@apple.com>
[Directory Upload] Add basic support for input.webkitdirectory
https://bugs.webkit.org/show_bug.cgi?id=175950
<rdar://problem/33951915>
Reviewed by Geoffrey Garen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Enable Directory Upload feature for testing, given that it is currently disabled by default.
(WTR::runOpenPanel):
Print additional text when directories are allowed to extend testing coverage.
2017-08-24 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate equivalent of WKPageUIClient's handleAutoplayEvent
https://bugs.webkit.org/show_bug.cgi?id=175965
<rdar://problem/29270035>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(-[AutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
(TEST):
(handleAutoplayEvent): Deleted.
2017-08-24 Alex Christensen <achristensen@webkit.org>
didNotHandleWheelEvent test times out
https://bugs.webkit.org/show_bug.cgi?id=175967
* TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:
Skip the test until WebCore's wheel event handling is reliable enough to test.
2017-08-24 Jonathan Bedard <jbedard@apple.com>
Update configure-xcode-for-ios-development for iOS 11
https://bugs.webkit.org/show_bug.cgi?id=173937
<rdar://problem/33038924>
Reviewed by Daniel Bates.
Xcode 9 has removed the following headers from the iOS 11 Simulator SDK:
/usr/include/crt_externs.h
/usr/include/mach/mach_types.defs
/usr/include/mach/machine/machine_types.defs
/usr/include/mach/std_types.defs
/usr/include/objc/objc-class.h
/usr/include/objc/objc-runtime.h
/usr/include/objc/Protocol.h
/usr/include/readline/history.h
/usr/include/readline/readline.h
To solve this problem, configure-xcode-for-ios-development copies these headers
from the active macOS SDK into the iOS Simulator SDK.
* Scripts/configure-xcode-for-ios-development:
(copyMissingHeadersFromSDKToSDKIfNeeded): Copy all missing header from one SDK
into another if those headers do not exist in the destination SDK.
(copyMissingHeadersToIPhoneOSSDKIfNeeded): Deleted.
2017-08-24 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate callback corresponding to PageUIClient's didNotHandleWheelEvent
https://bugs.webkit.org/show_bug.cgi?id=175957
<rdar://problem/29270035>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:
(synthesizeWheelEvents):
(-[WheelDelegate _webView:didNotHandleWheelEvent:]):
(-[WheelDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2017-08-24 Tim Horton <timothy_horton@apple.com>
Layout size override changes during in-flight animated resize are dropped on the floor forever
https://bugs.webkit.org/show_bug.cgi?id=175916
<rdar://problem/33887295>
Reviewed by Beth Dakin.
* TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
(TEST):
Add a test ensuring that override layout size changes
during an animated resize actually take effect.
2017-08-23 Matt Lewis <jlewis3@apple.com>
Disabled VideoControlsManagerMultipleVideosSwitchControlledVideoWhenScrolling.
https://bugs.webkit.org/show_bug.cgi?id=175909
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
2017-08-24 Don Olmstead <don.olmstead@sony.com>
[CMake] Use find_package for SQLite
https://bugs.webkit.org/show_bug.cgi?id=175803
Reviewed by Konstantin Tokarev.
* TestWebKitAPI/PlatformWin.cmake:
2017-08-23 Jonathan Bedard <jbedard@apple.com>
Leaking CARenderServerBuffer in PlatformWebView::windowSnapshotImage()
https://bugs.webkit.org/show_bug.cgi?id=175905
Reviewed by Tim Horton.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage): Pass CARenderServerBuffer to CGDataProviderCreateWithData
so that the buffer can be destroyed.
2017-08-23 Alex Christensen <achristensen@webkit.org>
Add WKUIDelegatePrivate callbacks corresponding to WKPageUIClient's takeFocus, focus, and unfocus
https://bugs.webkit.org/show_bug.cgi?id=175896
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm:
(-[UITestDelegate _showWebView:]):
(TEST):
(tabEvent):
(synthesizeTab):
(-[FocusDelegate _webView:takeFocus:]):
(-[FocusDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[UITestDelegate _webViewShow:]): Deleted.
2017-08-23 Eric Carlson <eric.carlson@apple.com>
Platform code should be able to safely log in release builds
https://bugs.webkit.org/show_bug.cgi?id=175854
<rdar://problem/34022930>
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::TEST_F):
2017-08-23 Jonathan Bedard <jbedard@apple.com>
Access expectations path through apple_additions
https://bugs.webkit.org/show_bug.cgi?id=174800
<rdar://problem/33498899>
Unreviewed follow-up fix for r221087.
* Scripts/webkitpy/port/ios.py:
(IOSPort._apple_additions_path): Use iOS mapping instead of Mac mapping.
2017-08-23 Jonathan Bedard <jbedard@apple.com>
Access expectations path through apple_additions
https://bugs.webkit.org/show_bug.cgi?id=174800
<rdar://problem/33498899>
Reviewed by David Kilzer.
Follow-up fix. Mapping of operating system names was done incorrectly.
* Scripts/webkitpy/port/ios.py:
(IOSPort._apple_additions_path): Correctly find the operating system to be replaced.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_layout_test_searchpath_with_apple_additions): Add test for operating
system name replacement.
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions): Add test for operating
system name replacement.
* Scripts/webkitpy/port/mac.py: Correctly find the operating system to be replaced.
(MacPort._apple_additions_path):
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_layout_test_searchpath_with_apple_additions): Add test for operating system
name replacement.
* Scripts/webkitpy/port/port_testcase.py:
(bind_mock_apple_additions.MockAppleAdditions.ios_os_name): Change the passed name so that
operating system name replacement can be tested.
(bind_mock_apple_additions.MockAppleAdditions.mac_os_name): Ditto.
2017-08-23 Jonathan Bedard <jbedard@apple.com>
Access expectations path through apple_additions
https://bugs.webkit.org/show_bug.cgi?id=174800
<rdar://problem/33498899>
Reviewed by Alexey Proskuryakov.
When external test expectations are imported through additional-platform-directory, they will
over-write any WebKit expectations. Access some expectations from apple_additions to correct
these precedence issues.
* Scripts/webkitpy/port/ios.py:
(IOSPort._apple_additions_path): Convert test expectation directory to a path
coming from apple_additions.
(IOSPort.default_baseline_search_path): Alternate between WebKit path and apple_additions
path for layout test expectations.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_layout_test_searchpath_with_apple_additions): Added to test layout-test search paths.
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.test_layout_test_searchpath_with_apple_additions): Added to test layout-test search paths.
* Scripts/webkitpy/port/mac.py:
(MacPort._apple_additions_path): Convert test expectation directory to a path
coming from apple_additions.
(MacPort.default_baseline_search_path): Alternate between WebKit path and apple_additions
path for layout test expectations.
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_layout_test_searchpath_with_apple_additions): Added to test layout-test search paths.
* Scripts/webkitpy/port/port_testcase.py:
(bind_mock_apple_additions): Added to create mock apple_additions for a block.
(bind_mock_apple_additions.MockAppleAdditions): Contains apple_addition stubs for testing.
* Scripts/webkitpy/port/win.py:
(WinPort.default_baseline_search_path): Include apple_additions test expectation for Windows.
2017-08-22 Zan Dobersek <zdobersek@igalia.com>
Unreviewed. The WPE port should build TestWebKitAPI with the same
compiler flags as the GTK+ port, disabling a few flags that are
sprouting a lot of warning output.
* TestWebKitAPI/PlatformWPE.cmake:
2017-08-20 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS WK2] WKWebView schedules nonstop layout after pressing cmb+b,i,u inside a contenteditable div
https://bugs.webkit.org/show_bug.cgi?id=175116
<rdar://problem/28279301>
Reviewed by Darin Adler and Ryosuke Niwa.
Introduces new testing infrastructure and API tests to test EditorState updates in the UI process. The new
EditorStateTests run on both iOS and Mac.
* TestWebKitAPI/EditingTestHarness.h: Added.
* TestWebKitAPI/EditingTestHarness.mm: Added.
EditingTestHarness is a helper object that API tests may use to apply editing commands and store EditorState
history. This test harness adds sugaring around various editing commands, and simplifies the process of checking
the state of the latest observed EditorState.
(-[EditingTestHarness initWithWebView:]):
(-[EditingTestHarness dealloc]):
(-[EditingTestHarness webView]):
(-[EditingTestHarness latestEditorState]):
(-[EditingTestHarness editorStateHistory]):
(-[EditingTestHarness insertText:andExpectEditorStateWith:]):
(-[EditingTestHarness insertHTML:andExpectEditorStateWith:]):
(-[EditingTestHarness selectAllAndExpectEditorStateWith:]):
(-[EditingTestHarness moveBackwardAndExpectEditorStateWith:]):
(-[EditingTestHarness moveWordBackwardAndExpectEditorStateWith:]):
(-[EditingTestHarness toggleBold]):
(-[EditingTestHarness toggleItalic]):
(-[EditingTestHarness toggleUnderline]):
(-[EditingTestHarness setForegroundColor:]):
(-[EditingTestHarness alignJustifiedAndExpectEditorStateWith:]):
(-[EditingTestHarness alignLeftAndExpectEditorStateWith:]):
(-[EditingTestHarness alignCenterAndExpectEditorStateWith:]):
(-[EditingTestHarness alignRightAndExpectEditorStateWith:]):
(-[EditingTestHarness insertParagraphAndExpectEditorStateWith:]):
(-[EditingTestHarness deleteBackwardAndExpectEditorStateWith:]):
(-[EditingTestHarness _execCommand:argument:expectEntries:]):
Dispatches an editing command to the web process, and blocks until a response is received. If an expected
entries dictionary is given, this will additionally verify that the latest EditorState contains all the expected
keys and values.
(-[EditingTestHarness latestEditorStateContains:]):
(-[EditingTestHarness _webView:editorStateDidChange:]):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/EditorStateTests.mm: Added.
(TestWebKitAPI::setUpEditorStateTestHarness):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/editor-state-test-harness.html: Added.
2017-08-22 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] EditorState updates should be rolled into the layer update lifecycle when possible
https://bugs.webkit.org/show_bug.cgi?id=175370
<rdar://problem/33799806>
Reviewed by Ryosuke Niwa.
Tweaks API tests that involve editing to wait for a presentation update before checking against UI process-side
information sent via EditorState updates. This allows any EditorState update scheduled by the test to propagate
to the UI process.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm:
(-[CandidateTestWebView typeString:inputMessage:]):
(+[CandidateTestWebView setUpWithFrame:testPage:]):
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewTextInput.mm:
* TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:
(TestWebKitAPI::AcceptsFirstMouse::runTest):
* TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm:
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView waitForNextPresentationUpdate]):
Add a new helper method to spin until the next presentation update.
* TestWebKitAPI/mac/WebKitAgnosticTest.h:
* TestWebKitAPI/mac/WebKitAgnosticTest.mm:
(TestWebKitAPI::WebKitAgnosticTest::waitForNextPresentationUpdate):
2017-08-22 Alex Christensen <achristensen@webkit.org>
Add UIDelegatePrivate SPI corresponding to WKPageUIClient.showPage
https://bugs.webkit.org/show_bug.cgi?id=175797
<rdar://problem/29270035>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm: Added.
(-[UITestDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[UITestDelegate _showPage:]):
(-[UITestDelegate webView:startURLSchemeTask:]):
(-[UITestDelegate webView:stopURLSchemeTask:]):
(TEST):
2017-08-22 Devin Rousso <webkit@devinrousso.com>
Unreviewed, change my IRC nick.
* Scripts/webkitpy/common/config/contributors.json:
2017-08-22 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r221026.
This caused a consistent API failure on iOS Simulator.
Reverted changeset:
"Add UIDelegatePrivate SPI corresponding to
WKPageUIClient.showPage"
https://bugs.webkit.org/show_bug.cgi?id=175797
http://trac.webkit.org/changeset/221026
2017-08-22 Alex Christensen <achristensen@webkit.org>
Add UIDelegatePrivate SPI corresponding to WKPageUIClient.showPage
https://bugs.webkit.org/show_bug.cgi?id=175797
<rdar://problem/29270035>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm: Added.
(-[UITestDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[UITestDelegate _showPage:]):
(-[UITestDelegate webView:startURLSchemeTask:]):
(-[UITestDelegate webView:stopURLSchemeTask:]):
(TEST):
2017-08-22 Jonathan Bedard <jbedard@apple.com>
Fix leak-checking for iOS Simulators
https://bugs.webkit.org/show_bug.cgi?id=175735
Reviewed by David Kilzer.
Follow-up fix to r220942. _proc may be undefined.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess._wait_for_stop): Handle case where _proc is undefined.
2017-08-22 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] install-dependencies should install the required gstreamer packages needed for production builds.
https://bugs.webkit.org/show_bug.cgi?id=175822
Reviewed by Xabier Rodriguez-Calvar.
* gtk/install-dependencies: Add the bad plugins to the list.
* wpe/install-dependencies: Add all the gst related packages (copied from GTK listing).
2017-08-21 Myles C. Maxfield <mmaxfield@apple.com>
DataInteractionTests.ExternalSourceAttributedStringToContentEditable hits a debug assertion
https://bugs.webkit.org/show_bug.cgi?id=175787
<rdar://problem/33996612>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-08-21 Myles C. Maxfield <mmaxfield@apple.com>
Typo in "webkit-patch land"
https://bugs.webkit.org/show_bug.cgi?id=175788
Reviewed by Tim Horton.
* Scripts/webkitpy/tool/steps/commit.py:
(Commit._commit_warning):
2017-08-20 Sam Weinig <sam@webkit.org>
StringView could use a function to strip leading/trailing characters without allocation
https://bugs.webkit.org/show_bug.cgi?id=175757
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/StringView.cpp:
Add tests for StringView::stripLeadingAndTrailingMatchedCharacters().
2017-08-21 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com>
[PAL] Move spi/mac directory into PAL
https://bugs.webkit.org/show_bug.cgi?id=175649
Reviewed by Myles C. Maxfield.
* TestWebKitAPI/Tests/mac/MenuTypesForMouseEvents.mm:
2017-08-21 Per Arne Vollan <pvollan@apple.com>
[Win] DRT should only allow any https certificate for localhost.
https://bugs.webkit.org/show_bug.cgi?id=175147
Reviewed by Brent Fulgham.
Add check to make sure only localhost requests allow any https certificate.
* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):
2017-08-21 Eric Carlson <eric.carlson@apple.com>
Add WTFLogChannel level to allow runtime log filtering
https://bugs.webkit.org/show_bug.cgi?id=175731
<rdar://problem/33967234>
Unreviewed build fix.
* TestWebKitAPI/Tests/WebCore/Logging.cpp:
(TestWebKitAPI::LoggingTest::output): Disable testing output by default because it
fails on some of the bots.
2017-08-21 Eric Carlson <eric.carlson@apple.com>
Add WTFLogChannel level to allow runtime log filtering
https://bugs.webkit.org/show_bug.cgi?id=175731
<rdar://problem/33967234>
Reviewed by Jer Noble.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/Logging.cpp: Added.
(TestWebKitAPI::LoggingTest::output):
(TestWebKitAPI::TEST_F):
2017-08-19 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS WK2] Add a version of DataInteractionTests.ExternalSourceAttributedStringToContentEditable that doesn't hit a debug assertion
https://bugs.webkit.org/show_bug.cgi?id=175509
<rdar://problem/33728169>
Reviewed by Ryosuke Niwa.
Removes ExternalSourceAttributedStringToContentEditable and adds
ExternalSourceColoredAttributedStringToContentEditable, which tests dropping an attributed string with colored
text instead of a bold attributed string of system font. Due to a recent change in behavior in UIKit, the
original test (which this patch renames to ExternalSourceBoldSystemAttributedStringToContentEditable) hits a
debug assertion when dropping text of system bold font. Since the original intent of this test was to verify
that the attributed string UTI can be accepted in richly contenteditable areas, it suffices to check that some
other style attribute, such as color, carries over from the NSAttributedString to the DOM.
Also marks ExternalSourceBoldSystemAttributedStringToContentEditable as disabled for the time being.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-08-18 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r220938.
The API tests added with this change are failing.
Reverted changeset:
"Add WTFLogChannel level to allow runtime log filtering"
https://bugs.webkit.org/show_bug.cgi?id=175731
http://trac.webkit.org/changeset/220938
2017-08-18 Devin Rousso <webkit@devinrousso.com>
Unreviewed, change my email.
* Scripts/webkitpy/common/config/contributors.json:
2017-08-18 Jonathan Bedard <jbedard@apple.com>
Fix leak-checking for iOS Simulators
https://bugs.webkit.org/show_bug.cgi?id=175735
Reviewed by Darin Adler.
If the leak checking currently occurs in ServerProcess, we can’t check leaks on an iOS
Simulator (or device) because the process will have already been killed by the time we
check for leaks. Duplicate leak-checking code and share code waiting on a process to stop.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.stop): Move code waiting for the process to close to _wait_for_stop(...).
(ServerProcess._wait_for_stop): Share code shutting down a process between ServerProcess
and SimulatorProcess.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.stop): Before closing the process, check for leaks.
2017-08-18 Eric Carlson <eric.carlson@apple.com>
Add WTFLogChannel level to allow runtime log filtering
https://bugs.webkit.org/show_bug.cgi?id=175731
<rdar://problem/33967234>
Reviewed by Jer Noble.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/Logging.cpp: Added.
(TestWebKitAPI::LoggingTest::output):
(TestWebKitAPI::TEST_F):
2017-08-18 Alexey Proskuryakov <ap@apple.com>
Add Dean Johnson to contributors.json for Bugzilla autocomplete.
* Scripts/webkitpy/common/config/contributors.json:
2017-08-18 Ross Kirsling <ross.kirsling@sony.com>
[Tools] Add script to download a GitHub release
https://bugs.webkit.org/show_bug.cgi?id=175279
Reviewed by Brent Fulgham.
* Scripts/download-latest-github-release.py: Added.
2017-08-18 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r220854.
https://bugs.webkit.org/show_bug.cgi?id=175716
I'm not sure we really need this (Requested by KaL on
#webkit).
Reverted changeset:
"[GTK][WPE] Add NTLM authentication enabled API"
https://bugs.webkit.org/show_bug.cgi?id=122952
http://trac.webkit.org/changeset/220854
2017-08-17 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Make TestContextMenu work on Fedora
https://bugs.webkit.org/show_bug.cgi?id=175708
Reviewed by Carlos Garcia Campos.
TestContextMenu has been broken for as long as I remember, but not on the bots, only for me
and my student last summer who was trying to work on a context menu API. It's trying to load
an MPEG-2 video file and confirm that right-clicking on it shows media element context menu
entries. Doesn't work on Fedora. Dunno why, since Fedora actually can play MPEG-2, but I
don't care to investigate. Let's switch it to WebM so I can move on.
* TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
(prepareContextMenuTestView):
* TestWebKitAPI/Tests/WebKitGLib/resources/silence.mpg: Removed.
* TestWebKitAPI/Tests/WebKitGLib/resources/silence.webm: Added.
2017-08-17 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com>
check-webkit-style shouldn't check spacing in #elif preprocessor lines
https://bugs.webkit.org/show_bug.cgi?id=175652
Reviewed by Alex Christensen.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_spacing_for_binary_ops):
2017-08-17 Wenson Hsieh <wenson_hsieh@apple.com>
Fix the build on other platforms after r220865
https://bugs.webkit.org/show_bug.cgi?id=175683
Reviewed by Tim Horton.
Check __IPHONE_OS_VERSION_MAX_ALLOWED instead of __IPHONE_OS_VERSION_MIN_REQUIRED in an SPI header. SPI
availability is determined by SDK version rather than deployment version.
* TestWebKitAPI/ios/UIKitSPI.h:
2017-08-17 Andreas Kling <akling@apple.com>
Disable CSS regions at compile time
https://bugs.webkit.org/show_bug.cgi?id=175630
Reviewed by Antti Koivisto.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-08-17 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, try to fix the internal iOS 10 build after r220865.
* TestWebKitAPI/ios/UIKitSPI.h:
On the iOS 10 SDK, UIApplication_Private.h cannot be imported in the simulator. Simply fall back to using the
extern declaration when building for pre-iOS 11; once the bots stop building for iOS 10, we can safely remove
this compiler guard.
2017-08-17 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Respect type fidelities when copying image elements to the pasteboard
https://bugs.webkit.org/show_bug.cgi?id=175638
<rdar://problem/26556043>
Reviewed by Ryosuke Niwa.
Add API tests that simulate copying an image element using the action sheet, and verifying that the pasteboard
contains UTIs in order of fidelity (image type before URL). Also pulls out UIKit SPI (UIApplicationInitialize)
used in UIPasteboardTests and ActionSheetTests into a common UIKitSPI header.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
(-[ActionSheetObserver _webView:actionsForElement:defaultActions:]):
(TestWebKitAPI::TEST):
(TestWebKitAPI::presentActionSheetAndChooseAction):
(-[ActionSheetObserver waitForActionSheetAfterBlock:]): Deleted.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkEstimatedSize):
(checkSuggestedNameAndEstimatedSize):
Replace -estimatedDisplayedSize with its non-deprecated counterpart, -preferredPresentationSize.
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/UIKitSPI.h: Added.
2017-08-17 Jonathan Bedard <jbedard@apple.com>
Recursively create resource load statistics folder for testing
https://bugs.webkit.org/show_bug.cgi?id=175676
Reviewed by Brady Eidson.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaPlatformInitialize): Recursively create resourceLoadStatisticsFolder.
2017-08-17 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add NTLM authentication enabled API
https://bugs.webkit.org/show_bug.cgi?id=122952
Reviewed by Michael Catanzaro.
Add a test case to check we can enable/disable NTLM.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(testWebViewAuthenticationNTLM):
(beforeAll):
2017-08-16 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com>
[PAL] Move spi/ios and spi/win directories into PAL
https://bugs.webkit.org/show_bug.cgi?id=175171
Reviewed by Antti Koivisto.
* DumpRenderTree/mac/EventSendingController.mm:
2017-08-16 Andy Estes <aestes@apple.com>
[Payment Request] Add an ENABLE flag and an experimental feature preference
https://bugs.webkit.org/show_bug.cgi?id=175622
Reviewed by Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-08-15 Aakash Jain <aakash_jain@apple.com>
undefined URL in PopoverTracker for failed step
https://bugs.webkit.org/show_bug.cgi?id=175593
<rdar://problem/33898769>
Reviewed by Daniel Bates.
This fix is a workaround for Buildbot 0.9 bug <https://github.com/buildbot/buildbot/issues/3529> where it
does not provide a URL to stdio for a build step. Buildbot 0.8 always included a URL to the stdio of the step.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype._parseData): Pass the URL while instantiating BuildbotTestResults.
(BuildbotIteration.prototype._urlForStep): Method to get the URL for a step.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
(BuildbotTestResults): Accept URL in constructor.
2017-08-14 Simon Fraser <simon.fraser@apple.com>
Remove Proximity Events and related code
https://bugs.webkit.org/show_bug.cgi?id=175545
Reviewed by Daniel Bates.
No platform enables Proximity Events, so remove code inside ENABLE(PROXIMITY_EVENTS)
and other related code.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-08-14 Simon Fraser <simon.fraser@apple.com>
Remove ENABLE(REQUEST_AUTOCOMPLETE) code, which was disabled everywhere
https://bugs.webkit.org/show_bug.cgi?id=175504
Reviewed by Sam Weinig.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-08-14 Simon Fraser <simon.fraser@apple.com>
Remove ENABLE_VIEW_MODE_CSS_MEDIA and related code
https://bugs.webkit.org/show_bug.cgi?id=175557
Reviewed by Jon Lee.
No port cares about the ENABLE(VIEW_MODE_CSS_MEDIA) feature, so remove it.
* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
(setViewModeMediaFeatureCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setViewModeMediaFeature): Deleted.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setViewModeMediaFeature): Deleted.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-08-14 Andy Estes <aestes@apple.com>
REGRESSION (r220456): Crash in PreviewLoader::shouldCreateForMIMEType() when a ResourceResponse has a null MIME type
https://bugs.webkit.org/show_bug.cgi?id=175548
<rdar://problem/33866206>
Reviewed by Brady Eidson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp: Added.
(TestWebKitAPI::TEST): Added an API test for PreviewLoader::shouldCreateForMIMEType().
2017-08-14 Youenn Fablet <youenn@apple.com>
WPT server should be able to do logging even if its output folder is not created at launch time
https://bugs.webkit.org/show_bug.cgi?id=175543
Reviewed by Alexey Proskuryakov.
Removing no longer used stdout/stderr member variables.
Creating if needed the output folder so that we can create WPT server output log folder at WPT server launch time.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.__init__):
(WebPlatformTestServer._prepare_config):
(WebPlatformTestServer._spawn_process):
(WebPlatformTestServer._stop_running_server):
2017-08-14 Daniel Bates <dabates@apple.com>
webkit-patch: Passing --no-review should submit patch to EWS by default
https://bugs.webkit.org/show_bug.cgi?id=148899
Reviewed by David Kilzer.
Make "webkit-patch upload --no-review" and "webkit-patch post-commits --no-review" submit
the patch(es) for EWS analysis by default. Add a new optional command line argument, --no-ews,
to these commands to not submit a non-reviewed patch(es) for EWS analysis.
Frequently I want to post a draft of a patch without review to have the EWS bots process
it to catch build and test breakage before I clean it up and post it for formal review.
Currently this requires using "webkit-patch upload --no-review --open-bug" to upload the
patch and open the bug in Safari so that I can click the Submit for EWS analysis button.
We should teach "webkit-patch upload" and "webkit-patch post-commits" how to do this.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla._parse_attachment_id_from_add_patch_to_bug_response): Add helper function to
parse the attachment id from the response page after adding an attachment to the bug.
(Bugzilla.add_patch_to_bug): Modified to parse and return the attachment id from the
HTTP response after uploading the patch.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
(MockBugzilla.add_patch_to_bug): Return a dummy attachment id for testing purposes.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
(test__parse_attachment_id_from_add_patch_to_bug_response): Added.
* Scripts/webkitpy/tool/commands/upload.py:
(Upload): Add step SubmitToEWS to the list of steps when uploading a patch.
(PostCommits.__init__): Add --no-ews option to the list of applicable option flags for
this command.
(PostCommits.execute): Submit the patch to EWS, if applicable.
* Scripts/webkitpy/tool/commands/upload_unittest.py:
(test_upload): Set options.ews to False as the upload command expects this option
to be specified.
(test_upload_with_no_review_and_ews): Added.
* Scripts/webkitpy/tool/steps/__init__.py: Import module SubmitToEWS.
* Scripts/webkitpy/tool/steps/options.py:
(Options): Added command line option --no-ews (defaults: False - submit to EWS).
* Scripts/webkitpy/tool/steps/postdiff.py:
(PostDiff.options): Add --no-ews option to the list of applicable option flags for
this command.
(PostDiff.run): Submit the patch to EWS, if applicable.
* Scripts/webkitpy/tool/steps/submittoews.py: Added.
(SubmitToEWS):
(SubmitToEWS.options): Return an empty array as we this step does not have any command line options.
(SubmitToEWS.run): Submit the specified attachment ids for EWS analysis.
2017-08-14 Ryan Haddad <ryanhaddad@apple.com>
Disable two flaky VideoControlsManager API tests.
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
2017-08-14 Tim Horton <timothy_horton@apple.com>
Only create directory and sandbox extension handle for storage directories if they are set
https://bugs.webkit.org/show_bug.cgi?id=175522
Reviewed by Brady Eidson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDoesNotLogDuringInitialization.mm: Added.
(TEST):
Add a test that making a WKWebView with an ephemeral WKWebsiteDataStore
doesn't log anything to stderr.
2017-08-14 Jonathan Bedard <jbedard@apple.com>
sub-categorize Sandbox violation logs
https://bugs.webkit.org/show_bug.cgi?id=175536
<rdar://problem/33834416>
Reviewed by David Kilzer.
* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs._parse_darwin_crash_log): Add 'Sandbox-' to the log name if the log is
a Sandbox violation.
(CrashLogs._find_all_logs_darwin): Update comment.
* Scripts/webkitpy/common/system/crashlogs_unittest.py:
(make_mock_sandbox_report_darwin): Create a Sandbox violation log for testing.
(CrashLogsTest.create_crash_logs_darwin): Add Sandbox violation to list of crashes.
(CrashLogsTest.test_find_all_log_darwin): 8 logs in testing instead of 7.
(CrashLogsTest.test_duplicate_log_darwin): Check for Sandbox violation log.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort._merge_crash_logs): Handle Sandbox violation case.
2017-08-14 Daniel Bates <dabates@apple.com>
Add Automator service to copy permalink to Clipboard
https://bugs.webkit.org/show_bug.cgi?id=170978
Reviewed by Joseph Pecoraro.
It is helpful to reference using a hyperlink a particular line of code when having
a discussion on IRC or in a bug. You can get such a link by navigating to the file
in the Trac Browse Source viewer and selecting the line your are interested in.
I found myself doing this often enough that I wrote an Automator service to do it
for me.
This Automator service works with Xcode 8 and Xcode 9 beta 5 (9M202q) or later.
* CopyPermalink/Copy WebKit Permalink.workflow/Contents/Info.plist: Added.
* CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow: Added.
* CopyPermalink/README: Added.
2017-08-14 Chris Dumez <cdumez@apple.com>
Address flakiness related to download tests
https://bugs.webkit.org/show_bug.cgi?id=175338
<rdar://problem/33865119>
Unreviewed, forgot in r220626 to reset m_shouldLogDownloadCallbacks to false
between tests.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2017-08-11 Ryosuke Niwa <rniwa@webkit.org>
Replace DATA_TRANSFER_ITEMS by a runtime flag and add a stub implementation
https://bugs.webkit.org/show_bug.cgi?id=175474
<rdar://problem/33844628>
Reviewed by Wenson Hsieh.
Enable dataTransfer.items by default in DumpRenderTree and WebKitTestRunner for testing purposes.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-08-12 Chris Dumez <cdumez@apple.com>
Address flakiness related to download tests
https://bugs.webkit.org/show_bug.cgi?id=175338
Reviewed by Ryosuke Niwa.
- Update WKTR so that the flag set by testRunner.waitUntilDownloadFinished()
is actually queried when a download completes. Previously, this would be
identical to a call to testRunner.waitUntilDone() because any download
completion would call testRunner.notifyDone().
- Disable logging of download callbacks by default and add a
testRunner.setShouldLogDownloadCallbacks(true) API to allow tests to
enable such logging.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setShouldLogDownloadCallbacks):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::downloadDidStart):
(WTR::TestController::decideDestinationWithSuggestedFilename):
(WTR::TestController::downloadDidFinish):
(WTR::TestController::downloadDidFail):
(WTR::TestController::downloadDidCancel):
* WebKitTestRunner/TestController.h:
(WTR::TestController::setShouldLogDownloadCallbacks):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2017-08-11 Jonathan Bedard <jbedard@apple.com>
Create mock ITP data in testing to prevent grandfathering
https://bugs.webkit.org/show_bug.cgi?id=174720
Unreviewed follow-up fix for r220604.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaPlatformInitialize): Release resourceLogPlist.
2017-08-11 Jonathan Bedard <jbedard@apple.com>
Create mock ITP data in testing to prevent grandfathering
https://bugs.webkit.org/show_bug.cgi?id=174720
<rdar://problem/33457779>
Reviewed by Brent Fulgham.
We don't need to be triggering grandfathering when each test runner starts. On Mac,
this may launch plugins which can cause layout tests to fail later if the test
runner does not shut-down before the plugins unload.
* WebKitTestRunner/TestController.h: Add declaration of cocoaPlatformInitialize.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaPlatformInitialize): Write the minimum data required to
prevent grandfathering from being triggered.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformInitialize): Call cocoaPlatformInitialize.
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformInitialize): Ditto.
2017-08-11 Sam Weinig <sam@webkit.org>
WTF::Function does not allow for reference / non-default constructible return types
https://bugs.webkit.org/show_bug.cgi?id=175244
<rdar://problem/33801582>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WTF/Function.cpp:
(TestWebKitAPI::TEST):
2017-08-11 Carlos Garcia Campos <cgarcia@igalia.com>
[Soup] Cannot access HTTPS sites using a HTTP proxy that requires authentication
https://bugs.webkit.org/show_bug.cgi?id=175378
Reviewed by Sergio Villar Senin.
Add two test cases to check proxy authentication.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(Tunnel::Tunnel):
(Tunnel::~Tunnel):
(Tunnel::connect):
(Tunnel::connected):
(serverCallback):
(ProxyAuthenticationTest::ProxyAuthenticationTest):
(ProxyAuthenticationTest::~ProxyAuthenticationTest):
(ProxyAuthenticationTest::proxyServerPortAsString):
(testWebViewAuthenticationProxy):
(testWebViewAuthenticationProxyHTTPS):
(beforeAll):
2017-08-11 Xabier Rodriguez Calvar <calvaris@igalia.com>
[GStreamer][GTK][WPE] Unify GStreamer JHBuild moduleset for both GTK+ and WPE
https://bugs.webkit.org/show_bug.cgi?id=175428
Both ports share the GStreamer code as multimedia backend and till
not so long they were using different versions. Now they do use
the same versions and it does not make any sense anymore (and
neither had sense before) to have differences in the modulesets.
In this patch I created a GStreamer moduleset and referenced it
from both GTK+'s and WPE's. GStreamer patches were also moved there.
Reviewed by Žan Doberšek.
* gstreamer/jhbuild.modules: Added.
* gstreamer/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Renamed from Tools/gtk/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch.
* gstreamer/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Renamed from Tools/gtk/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch.
* gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Renamed from Tools/gtk/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch.
* gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Renamed from Tools/gtk/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch.
* gstreamer/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Renamed from Tools/gtk/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch.
* gstreamer/patches/openh264-configure.patch: Renamed from Tools/gtk/patches/openh264-configure.patch.
* gtk/jhbuild.modules:
* wpe/jhbuild.modules:
* wpe/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Removed.
* wpe/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Removed.
* wpe/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Removed.
* wpe/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Removed.
* wpe/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Removed.
2017-08-10 Don Olmstead <don.olmstead@sony.com>
Unreviewed, adding Ross Kirsling to contributors.json
* Scripts/webkitpy/common/config/contributors.json:
2017-08-10 Yusuke Suzuki <utatane.tea@gmail.com>
Unreviewed, attempt to fix build failure with VC2017
* TestWebKitAPI/Tests/WTF/PriorityQueue.cpp:
(TEST):
2017-08-10 Yusuke Suzuki <utatane.tea@gmail.com>
Unreviewed, suppress warnings on GCC
* TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
(TestWebKitAPI::CheckedArithmeticTester::run):
2017-08-10 Dan Bernstein <mitz@apple.com>
[Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
https://bugs.webkit.org/show_bug.cgi?id=173223
Reviewed by Tim Horton.
The rebuilds were happening due to a difference in the compiler options that the IDE and
xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
xcodebuild pass that option, too, set INDEX_ENABLE_DATA_STORE to YES and
INDEX_DATA_STORE_DIR to the Index Datastore path specified in Xcode Locations preferences >
Advanced when a Custom Absolute path is selected.
* Scripts/webkitdirs.pm:
(determineBaseProductDir):
2017-08-10 Yusuke Suzuki <utatane.tea@gmail.com>
Run more WTF tests
https://bugs.webkit.org/show_bug.cgi?id=174970
Reviewed by Michael Catanzaro.
Some of WTF tests are not executed in non Apple ports while they are generic ones.
This patch adds these tests to non-Apple port TestWebKitAPI.
Currently, we do not add Signals.cpp since it depends on signal functionality.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/PriorityQueue.cpp:
(isHigherPriority):
(TEST):
* TestWebKitAPI/Tests/WTF/Signals.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/ThreadMessages.cpp.
(TEST):
* TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
(TEST):
2017-08-10 obinna obike <oobike@apple.com>
Remove obsolete link from webkit-queues status page
https://bugs.webkit.org/show_bug.cgi?id=175337
Reviewed by Aakash Jain.
* QueueStatusServer/templates/recentstatus.html:
Removed the link to the ews-watcher server.
2017-08-10 Brian Burg <bburg@apple.com>
WKPreferences should conform to NSCopying
https://bugs.webkit.org/show_bug.cgi?id=175303
<rdar://problem/33764939>
Reviewed by Dan Bernstein.
Add unit test to make sure a WKPreference and its copy are
not aliased to each other or affect each other's properties.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/Copying.mm: Added.
(TEST):
2017-08-10 Tim Horton <timothy_horton@apple.com>
Remove some unused lambda captures so that WebKit builds with -Wunused-lambda-capture
https://bugs.webkit.org/show_bug.cgi?id=175436
<rdar://problem/33667497>
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::TEST_F):
2017-08-10 Lucas Forschler <lforschler@apple.com>
Fix duplicated code in r220534.
Unreviewed cleanup.
* Scripts/bisect-builds:
2017-08-08 Jiewen Tan <jiewen_tan@apple.com>
[WebCrypto] Enable SerializedCryptoKeyWrapTest in iOS
https://bugs.webkit.org/show_bug.cgi?id=175344
<rdar://problem/28507240>
Reviewed by Alexey Proskuryakov.
Add entitlements to TestWebKitAPI project for iOS. Then add Keychain Access entitlement to the project.
Finally enable the existing tests for iOS.
* TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements: Added.
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/cocoa/SerializedCryptoKeyWrap.mm:
2017-08-10 Lucas Forschler <lforschler@apple.com>
Write a tool to bisect WebKit builds
https://bugs.webkit.org/show_bug.cgi?id=174596
Reviewed by Dean Johnson and Kocsen Chung.
* Scripts/bisect-builds: Added.
(bisect_builds): main bisection algorithm
(download_archive):download an archive from S3 using existing tools
(extract_archive):extract an archive using existing tools
(find_le):Find rightmost value less than or equal to x
(find_ge):Find leftmost item greater than or equal to x
(get_api_url):generate url for the rest api/database
(get_indices_from_revisions):convert revisions to list indexes for bisection
(get_sorted_revisions):retrieve sorted revision list
(get_s3_location_for_revision):calculate the S3 archive storage location
(parse_args):parse command line arguments
(pick_next_build):compute the next build to bisect
(prompt_did_reproduce):prompt user for direction for bisection
(set_webkit_output_dir):set the folder for bisected builds to avoid overwriting engineering build output
(test_archive):Platform specific logic to test downloaded archive
(minified_platforms):return a list of minified platforms in the database
(unminified_platforms):return a list of full platforms in the database
(is_supported_platform):check if platform is supported
(validate_options):validate command line options
(main):
2017-08-10 Lucas Forschler <lforschler@apple.com>
Remove bisect-builds script.
https://bugs.webkit.org/show_bug.cgi?id=175433
Reviewed by Aakash Jain.
* Scripts/bisect-builds: Removed.
2017-08-10 Michael Catanzaro <mcatanzaro@igalia.com>
Remove ENABLE_GAMEPAD_DEPRECATED
https://bugs.webkit.org/show_bug.cgi?id=175361
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-08-10 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r220515) [GTK][CMake] Build with ENABLE_GEOLOCATION fails on Debian Jessie
https://bugs.webkit.org/show_bug.cgi?id=175426
Reviewed by Carlos Garcia Campos.
* gtk/install-dependencies: libgeoclue-dev packages not really needed on Debian/Ubuntu.
2017-08-10 Ms2ger <Ms2ger@igalia.com>
Add Ms2ger as contributor.
https://bugs.webkit.org/show_bug.cgi?id=175325
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/webkitpy/common/config/contributors.json:
2017-08-09 Dewei Zhu <dewei_zhu@apple.com>
Fix run-benchmark after r220483.
https://bugs.webkit.org/show_bug.cgi?id=175415
<rdar://problem/33803003>
Reviewed by Ryosuke Niwa.
Update run-benchmark script to adapt new Timeout implementation introduced in r220483.
* Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
(WebServerBenchmarkRunner._run_one_test):
2017-08-09 Chris Dumez <cdumez@apple.com>
Disable Beacon API on WK1 DRT and WK2 when not using NETWORK_SESSION
https://bugs.webkit.org/show_bug.cgi?id=175401
Reviewed by Brady Eidson.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
2017-08-09 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com>
[PAL] Move spi/cocoa and spi/cg directories into PAL
https://bugs.webkit.org/show_bug.cgi?id=175175
Reviewed by Myles C. Maxfield.
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
* DumpRenderTree/mac/DumpRenderTree.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/NSFileManagerExtras.mm:
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
* Scripts/webkitpy/style/checker.py:
* Scripts/webkitpy/style/checker_unittest.py:
(GlobalVariablesTest.test_path_rules_specifier):
Add path rules specifiers for PassKitSPI.h and DataDetectorsCoreSPI.h
* Scripts/webkitpy/style/checkers/cpp.py:
(check_braces):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_braces.CF_OPTIONS):
(WebKitStyleTest.test_braces):
Prevent CF_OPTIONS() from being handled as funtion definition.
2017-08-09 Don Olmstead <don.olmstead@sony.com>
[WTF] Move TextStream into WTF
https://bugs.webkit.org/show_bug.cgi?id=175211
Reviewed by Myles C. Maxfield.
* TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
2017-08-09 Andy Estes <aestes@apple.com>
Part 3 of: Rename DatabaseProcess to StorageProcess
https://bugs.webkit.org/show_bug.cgi?id=175034
Reviewed by Brady Eidson.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::databaseProcessName): Updated to return
"com.apple.WebKit.Storage.Development" on macOS and iOS Simulator.
2017-08-09 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r220466, r220477, and r220487.
https://bugs.webkit.org/show_bug.cgi?id=175411
This change broke existing API tests and follow up fixes did
not resolve all the issues. (Requested by ryanhaddad on
#webkit).
Reverted changesets:
https://bugs.webkit.org/show_bug.cgi?id=175244
http://trac.webkit.org/changeset/220466
"WTF::Function does not allow for reference / non-default
constructible return types"
https://bugs.webkit.org/show_bug.cgi?id=175244
http://trac.webkit.org/changeset/220477
https://bugs.webkit.org/show_bug.cgi?id=175244
http://trac.webkit.org/changeset/220487
2017-08-09 Sam Weinig <sam@webkit.org>
Update for https://bugs.webkit.org/show_bug.cgi?id=175244.
Remove one addition of null Function test.
2017-08-09 Jonathan Bedard <jbedard@apple.com>
Allow nested timeouts in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=175390
<rdar://problem/33803003>
Reviewed by David Kilzer.
We need to be able to nest timeouts in webkitpy. In particular, we have a few cases where functions
which use timeouts also call the executive. For on-device testing, we need to have timeouts inside
the executive to detect and recover from any issues connecting with devices.
* Scripts/webkitpy/benchmark_runner/utils.py:
(TimeoutError): Deleted.
(timeout): Deleted.
* Scripts/webkitpy/common/timeout_context.py: Added.
(Timeout): A timeout context designed to be nested.
(Timeout.TimeoutData): The data required to construct an alarm for a given timeout.
(Timeout.TimeoutData.__init__):
(Timeout.default_handler): Timeout handler used if none is specified.
(Timeout.current): Access data about the most urgent timeout.
(Timeout.__init__): Construct a Timeout object with seconds and an optional handler.
(Timeout._bind_timeout_data_to_alarm): Given data about a timeout, initialize an alarm for that timeout.
(Timeout.__enter__): Un-bind all alarms. Add data for this timeout to the ordered list and bind the most
urgent timeout data.
(Timeout.__exit__): Un-bind all alarms. Remove data for this timeout from the ordered list and bind the
most urgent timeout data, if such data exists.
* Scripts/webkitpy/common/timeout_context_unittest.py: Added.
(TimeoutContextTests):
(TimeoutContextTests.test_current_timeout): Test that accessing the nearest timeout works as expected.
(TimeoutContextTests.test_invalid_timeout): Test a timeout of 0.
(TimeoutContextTests.test_timeout_data): Confirm that timeouts are constructed correctly.
(TimeoutContextTests.test_nested_inner_precedence): Check that a more urgent inner timeout takes precedence
over a less urgent outer timeout.
(TimeoutContextTests.test_nested_outer_precedence): Check that a more urgent outer timeout takes precedence
over a less urgent inner timeout.
(TimeoutContextTests.test_no_timeout): Test a block of code without a timeout.
(TimeoutContextTests.test_basic_timeout): Test a block of code expected to timeout.
(TimeoutContextTests.test_exception_constructor_timeout): Test a timeout where the handler is an exception.
(TimeoutContextTests.test_nested_inner_timeout): Confirm that a more urgent inner timeout is triggered.
(TimeoutContextTests.test_nested_outer_timeout): Confirm that a more urgent outer timeout is triggered.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess._start): Use Timeout class.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.launch_app._log_debug_error): Use Timeout class.
(SimulatedDevice.launch_app): Ditto.
(SimulatedDevice.launch_app._install_timeout): Deleted.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator.wait_until_device_is_booted):Use Timeout class.
(Simulator.wait_until_device_is_in_state): Ditto.
2017-08-09 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] ENABLE_DRAG_SUPPORT should be turned off for iOS 10 and enabled by default
https://bugs.webkit.org/show_bug.cgi?id=175392
<rdar://problem/33783207>
Reviewed by Tim Horton and Megan Gardner.
Tweak FeatureDefines to enable drag and drop by default, and disable only on unsupported platforms (i.e. iOS 10).
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-08-09 Sam Weinig <sam@webkit.org>
Update for https://bugs.webkit.org/show_bug.cgi?id=175244.
* TestWebKitAPI/Tests/WTF/Function.cpp:
Remove tests of null Functions, as they are no longer supported.
2017-08-09 Daniel Bates <dabates@apple.com>
REGRESSION (r219013): OAuth flows are broken when redirecting back to application after authentication
https://bugs.webkit.org/show_bug.cgi?id=175247
<rdar://problem/33679804>
Reviewed by Brady Eidson.
Add tests for redirects.
* TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm:
(TEST):
* TestWebKitAPI/cocoa/TestProtocol.mm:
(createRedirectURL):
(-[TestProtocol startLoading]):
2017-08-08 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, rolling out r220393.
This patch regresses the performance of WebPage::editorState.
Reverted changeset:
"[iOS WK2] WKWebView schedules nonstop layout after pressing
cmb+b,i,u inside a contenteditable div"
https://bugs.webkit.org/show_bug.cgi?id=175116
http://trac.webkit.org/changeset/220393
2017-08-08 obinna obike <oobike@apple.com>
Created Individual EWS Pages
https://bugs.webkit.org/show_bug.cgi?id=174477
Reviewed by Aakash Jain.
Created individual pages for each EWS. Changed the link within each status bubble
to go directly to the individual EWS page. Also added a link to original status page showing all EWSes.
* QueueStatusServer/handlers/patch.py:
(Patch.get): Handles the case for individual ews queue as well as for all EWS queues.
* QueueStatusServer/handlers/statusbubble.py:
(StatusBubble._build_bubble): Updated url for specific EWS.
* QueueStatusServer/main.py: Added a link to the individual ews in the routes dictionary.
* QueueStatusServer/templates/patch.html: Added a link to go directly to the page with
all ews queues.
* QueueStatusServer/templates/statusbubble.html: If you click on a statusbubble it
takes you directly to the individual ews page.
2017-08-08 Stephan Szabo <stephan.szabo@sony.com>
Separate jsc stress test script writer from run-jsc-stress-tests
https://bugs.webkit.org/show_bug.cgi?id=175216
Reviewed by Mark Lam.
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb: Added.
2017-08-08 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, fix Ubuntu LTS build
https://bugs.webkit.org/show_bug.cgi?id=174490
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
2017-08-08 Wenson Hsieh <wenson_hsieh@apple.com>
[Mac WK2] WebViewImpl should hold a weak pointer to its WKWebView or WKView
https://bugs.webkit.org/show_bug.cgi?id=175302
<rdar://problem/33762116>
Reviewed by Tim Horton.
Adds a new unit test checking that delayed event processing in text input context does not cause unwanted behaviors.
See WebKit ChangeLog for more details.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h: Renamed from Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac/NSTextInputClientSPI.h.
* TestWebKitAPI/Tests/mac/WKWebViewMacEditingTests.mm: Renamed from Tools/TestWebKitAPI/Tests/mac/WKWebViewSelectionTests.mm.
(-[SlowTextInputContext handleEventByInputMethod:completionHandler:]):
(-[SlowTextInputContext handleEvent:completionHandler:]):
(-[SlowInputWebView inputContext]):
(-[SlowInputWebView _web_superInputContext]):
(TEST):
2017-08-08 John Wilander <wilander@apple.com>
Resource Load Statistics: Clear web processes' state on history removal
https://bugs.webkit.org/show_bug.cgi?id=175271
<rdar://problem/33756560>
Reviewed by Chris Dumez.
Test infrastructure for asynchronous tests of website data
removal for _WKWebsiteDataTypeResourceLoadStatistics.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval):
(WTR::TestRunner::statisticsCallClearThroughWebsiteDataRemovalCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didClearStatisticsThroughWebsiteDataRemoval):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
2017-08-08 Alicia Boya García <aboya@igalia.com>
Add Alicia Boya García as contributor
https://bugs.webkit.org/show_bug.cgi?id=175326
Reviewed by Michael Catanzaro.
* Scripts/webkitpy/common/config/contributors.json:
2017-08-08 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] Properly test if compiler supports compiler flags
https://bugs.webkit.org/show_bug.cgi?id=174490
Reviewed by Konstantin Tokarev.
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
* MiniBrowser/gtk/CMakeLists.txt:
* TestRunnerShared/Bindings/JSWrapper.cpp:
(WTR::JSWrapper::initialize):
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
(TestWebKitAPI::CheckedArithmeticTester::run):
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(formControlsAssociatedCallback):
* TestWebKitAPI/glib/CMakeLists.txt:
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::getResourcesDir):
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::menuItemClickCallback):
(WTR::staticConvertMenuItemToType):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUseDashboardCompatibilityMode):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
(WTR::AccessibilityNotificationHandler::disconnectAccessibilityCallbacks):
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::helpText const):
(WTR::AccessibilityUIElement::attributedStringForRange):
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::releaseTouchPoint):
2017-08-08 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS WK2] WKWebView schedules nonstop layout after pressing cmb+b,i,u inside a contenteditable div
https://bugs.webkit.org/show_bug.cgi?id=175116
<rdar://problem/28279301>
Reviewed by Darin Adler and Ryosuke Niwa.
Introduces new testing infrastructure and API tests to test EditorState updates in the UI process. The new
EditorStateTests run on both iOS and Mac.
* TestWebKitAPI/EditingTestHarness.h: Added.
* TestWebKitAPI/EditingTestHarness.mm: Added.
EditingTestHarness is a helper object that API tests may use to apply editing commands and store EditorState
history. This test harness adds sugaring around various editing commands, and simplifies the process of checking
the state of the latest observed EditorState.
(-[EditingTestHarness initWithWebView:]):
(-[EditingTestHarness dealloc]):
(-[EditingTestHarness webView]):
(-[EditingTestHarness latestEditorState]):
(-[EditingTestHarness editorStateHistory]):
(-[EditingTestHarness insertText:andExpectEditorStateWith:]):
(-[EditingTestHarness insertHTML:andExpectEditorStateWith:]):
(-[EditingTestHarness selectAllAndExpectEditorStateWith:]):
(-[EditingTestHarness moveBackwardAndExpectEditorStateWith:]):
(-[EditingTestHarness moveWordBackwardAndExpectEditorStateWith:]):
(-[EditingTestHarness toggleBold]):
(-[EditingTestHarness toggleItalic]):
(-[EditingTestHarness toggleUnderline]):
(-[EditingTestHarness setForegroundColor:]):
(-[EditingTestHarness alignJustifiedAndExpectEditorStateWith:]):
(-[EditingTestHarness alignLeftAndExpectEditorStateWith:]):
(-[EditingTestHarness alignCenterAndExpectEditorStateWith:]):
(-[EditingTestHarness alignRightAndExpectEditorStateWith:]):
(-[EditingTestHarness insertParagraphAndExpectEditorStateWith:]):
(-[EditingTestHarness deleteBackwardAndExpectEditorStateWith:]):
(-[EditingTestHarness _execCommand:argument:expectEntries:]):
Dispatches an editing command to the web process, and blocks until a response is received. If an expected
entries dictionary is given, this will additionally verify that the latest EditorState contains all the expected
keys and values.
(-[EditingTestHarness latestEditorStateContains:]):
(-[EditingTestHarness _webView:editorStateDidChange:]):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/EditorStateTests.mm: Added.
(TestWebKitAPI::setUpEditorStateTestHarness):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/editor-state-test-harness.html: Added.
2017-08-04 Brent Fulgham <bfulgham@apple.com>
Prevent domain from being set to a TLD
https://bugs.webkit.org/show_bug.cgi?id=175226
<rdar://problem/11079948>
Reviewed by Chris Dumez.
Extend the public suffix tests to include cases used by the
Public Domain 'Public Suffix List'.
* TestWebKitAPI/Tests/mac/PublicSuffix.cpp:
(TestWebKitAPI::TEST):
2017-08-07 Stephan Szabo <stephan.szabo@sony.com>
[XCode] webkit-patch should run sort-Xcode-project-file
https://bugs.webkit.org/show_bug.cgi?id=174036
<rdar://problem/33732709>
Reviewed by Simon Fraser.
* Scripts/webkitpy/common/config/ports.py:
* Scripts/webkitpy/tool/commands/download.py:
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/commands/upload.py:
* Scripts/webkitpy/tool/commands/upload_unittest.py:
* Scripts/webkitpy/tool/steps/__init__.py:
* Scripts/webkitpy/tool/steps/options.py:
* Scripts/webkitpy/tool/steps/sortxcodeprojectfiles.py: Added.
2017-08-07 Devin Rousso <drousso@apple.com>
Web Inspector: Preview Canvas path when viewing a recording
https://bugs.webkit.org/show_bug.cgi?id=174967
Reviewed by Brian Burg.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
Add plumbing for new InspectorAdditions runtime flag.
2017-08-07 obinna obike <oobike@apple.com>
Sorted EWS Queues on Patch page
https://bugs.webkit.org/show_bug.cgi?id=173667
Reviewed by Aakash Jain.
* QueueStatusServer/handlers/patch.py:
(Patch.get): Sorted queue_status.
* QueueStatusServer/templates/patch.html:
Changed queue_status.items to queue_status because it's a list.
2017-08-07 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com>
check-webkit-style: NS_ERROR_ENUM and NS_OPTIONS should not be handled as function definitions.
https://bugs.webkit.org/show_bug.cgi?id=175286
Reviewed by Myles C. Maxfield.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_braces):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_braces.NS_ERROR_ENUM):
(WebKitStyleTest.test_braces):
(WebKitStyleTest.test_braces.NS_OPTIONS):
2017-08-07 Brian Burg <bburg@apple.com>
Remove CANVAS_PATH compilation guard
https://bugs.webkit.org/show_bug.cgi?id=175207
Reviewed by Sam Weinig.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-08-07 Per Arne Vollan <pvollan@apple.com>
[Win] Use Visual Studio 2017 if installed.
https://bugs.webkit.org/show_bug.cgi?id=175188
Reviewed by Sam Weinig.
If installed, use VS2017 to build WebKit. If not, fall back to VS2015.
* Scripts/webkitdirs.pm:
(visualStudioInstallDir):
(msBuildInstallDir):
2017-08-05 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to provide browser information required by automation
https://bugs.webkit.org/show_bug.cgi?id=175130
Reviewed by Michael Catanzaro.
* MiniBrowser/gtk/main.c:
(automationStartedCallback): Set browser information when a new automation session is started.
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
(testAutomationSessionApplicationInfo):
(beforeAll):
2017-08-06 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r220295.
This change introduced 4 errors in webkitpy tests.
Reverted changeset:
"[XCode] webkit-patch should run sort-Xcode-project-file"
https://bugs.webkit.org/show_bug.cgi?id=174036
http://trac.webkit.org/changeset/220295
2017-08-04 Ryan Haddad <ryanhaddad@apple.com>
Disable API test NowPlayingControlsTests.NowPlayingControlsIOS.
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKit2Cocoa/NowPlayingControlsTests.mm:
(TestWebKitAPI::TEST):
2017-08-05 Filip Pizlo <fpizlo@apple.com>
REGRESSION (r219895-219897): Number of leaks on Open Source went from 9240 to 235983 and is now at 302372
https://bugs.webkit.org/show_bug.cgi?id=175083
Reviewed by Oliver Hunt.
Leaks results are super confusing if leaks runs while some VMs are destructing. This calls a new SPI
to wait for VM destructions to finish before running the next test. This makes it easier to
understand leaks results from workers tests, and leads to fewer reported leaks.
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
2017-08-05 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com>
check-webkit-style: fix path-specific rules for WebKit2 rename
https://bugs.webkit.org/show_bug.cgi?id=175182
Reviewed by David Kilzer.
* Scripts/webkitpy/style/checker.py:
2017-08-04 Youenn Fablet <youenn@apple.com>
[Cache API] Add Cache and CacheStorage IDL definitions
https://bugs.webkit.org/show_bug.cgi?id=175201
Reviewed by Brady Eidson.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setCacheAPIEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-08-04 John Wilander <wilander@apple.com>
Resource Load Statistics: Report user interaction immediately, but only when needed
https://bugs.webkit.org/show_bug.cgi?id=175090
<rdar://problem/33685546>
Reviewed by Chris Dumez.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
Now calls WebCore::ResourceLoadObserver::clearState().
2017-08-04 Tim Horton <timothy_horton@apple.com>
Add an API test for r220286
https://bugs.webkit.org/show_bug.cgi?id=175206
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
(-[AnimatedResizeWebView _webView:didChangeSafeAreaShouldAffectObscuredInsets:]):
(createAnimatedResizeWebView):
(TEST):
Add a test to ensure that we don't call
_webView:didChangeSafeAreaShouldAffectObscuredInsets: during an
animated resize.
2017-08-04 Stephan Szabo <stephan.szabo@sony.com>
[XCode] webkit-patch should run sort-Xcode-project-file
https://bugs.webkit.org/show_bug.cgi?id=174036
Reviewed by Simon Fraser.
* Scripts/webkitpy/common/config/ports.py:
* Scripts/webkitpy/tool/commands/download.py:
* Scripts/webkitpy/tool/commands/upload.py:
* Scripts/webkitpy/tool/steps/__init__.py:
* Scripts/webkitpy/tool/steps/options.py:
* Scripts/webkitpy/tool/steps/sortxcodeprojectfiles.py: Added.
2017-08-04 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r219857): run-benchmark --allplans broken
https://bugs.webkit.org/show_bug.cgi?id=175186
Reviewed by Saam Barati.
r219857 forgot to update also the calls to BenchmarkRunner() that
is done when the script is run with --allplans.
To fix this (and avoid future issues like this), let's factorize
the calls to the benchhmark runner in a run_benchmark_plan()
function.
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(run_benchmark_plan):
(start):
2017-08-04 Aakash Jain <aakash_jain@apple.com>
Dashboard bubbles sometimes show failure count instead of crash count
https://bugs.webkit.org/show_bug.cgi?id=175157
<rdar://problem/33709009>
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
(BuildbotTestResults.prototype.resultSummarizer): Use the regex for the precise match first.
2017-08-04 Joseph Pecoraro <pecoraro@apple.com>
Add tests for NeverDestroyed
https://bugs.webkit.org/show_bug.cgi?id=175146
Reviewed by Darin Adler.
* CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
New files and sort.
* TestWebKitAPI/Tests/WTF/Logger.h:
* TestWebKitAPI/Tests/WTF/Logger.cpp:
(TestWebKitAPI::log):
(TestWebKitAPI::takeLogStr):
* TestWebKitAPI/Tests/WTF/RefLogger.h:
* TestWebKitAPI/Tests/WTF/RefLogger.cpp:
(TestWebKitAPI::log): Deleted.
(TestWebKitAPI::takeLogStr): Deleted.
Extract log() / takeLogStr() from RefLogger to a general Logger.h/cpp.
* TestWebKitAPI/Tests/WTF/LifecycleLogger.h:
* TestWebKitAPI/Tests/WTF/LifecycleLogger.cpp: Added.
(TestWebKitAPI::LifecycleLogger::LifecycleLogger):
(TestWebKitAPI::LifecycleLogger::operator=):
(TestWebKitAPI::LifecycleLogger::~LifecycleLogger):
(TestWebKitAPI::LifecycleLogger::setName):
(TestWebKitAPI::TEST):
Add a class that logs construction / assignment / modifications.
* TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::list):
Test construction behavior is as expected both directly and using makeNeverDestroyed.
2017-08-04 Lucas Forschler <lforschler@apple.com>
minification logic is not implemented for ios builds
<rdar://problem/33726561>
Reviewed by Dean Johnson
* BuildSlaveSupport/built-product-archive:
(minifyDirectory): refactor minifySource -> minifyDirectory
(archiveBuiltProduct): add ios minification logic
(minifySource): Deleted.
2017-08-04 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r220271.
Rolling out due to Layout Test failing on iOS Simulator.
Reverted changeset:
"Remove STREAMS_API compilation guard"
https://bugs.webkit.org/show_bug.cgi?id=175165
http://trac.webkit.org/changeset/220271
2017-08-04 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r220268.
This change caused assertion failures on macOS and iOS Debug
WK2.
Reverted changeset:
"Resource Load Statistics: Report user interaction
immediately, but only when needed"
https://bugs.webkit.org/show_bug.cgi?id=175090
http://trac.webkit.org/changeset/220268
2017-08-04 Youenn Fablet <youenn@apple.com>
Remove STREAMS_API compilation guard
https://bugs.webkit.org/show_bug.cgi?id=175165
Reviewed by Darin Adler.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-08-04 John Wilander <wilander@apple.com>
Resource Load Statistics: Report user interaction immediately, but only when needed
https://bugs.webkit.org/show_bug.cgi?id=175090
<rdar://problem/33685546>
Reviewed by Chris Dumez.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
Now calls WebCore::ResourceLoadObserver::clearState().
2017-08-03 Brian Burg <bburg@apple.com>
Remove ENABLE(WEB_SOCKET) guards
https://bugs.webkit.org/show_bug.cgi?id=167044
Reviewed by Joseph Pecoraro.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-08-03 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r219850): run-benchmark script broken on Linux
https://bugs.webkit.org/show_bug.cgi?id=175126
Reviewed by Stephanie Lewis.
The run-benchmark script dynamically generates the list of supported
browsers and platforms (currently Linux and OSX) by loading all
python files from Tools/Scripts/webkitpy/benchmark_runner/browser_driver
and getting the browser_name and platform variables from the
classes defined there.
This means that this classes should not raise an exception when
loaded on other platforms or otherwise they will broke the whole
script. Its fine if they raise an exception when executing any of
the methods they implement, but not when just loading/importing
the class.
Move the argument variable definitions that call on the platform
specific OSXBrowserDriver._screen_size() function from beeing
variables that are evaluated when loading the file, to be functions
that are only evaluated when the actual functionality needs to be
executed.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver.launch_url):
(OSXChromeCanaryDriver.launch_url):
(create_args):
(create_chrome_options):
(create_window_size_arg):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxDriver.launch_url):
(OSXFirefoxNightlyDriver.launch_url):
(OSXFirefoxNightlyDriver.launch_driver):
(create_args):
2017-08-03 Yoshiaki Jitsukawa <jitsu@rd.scei.sony.co.jp>
[PAL] Move spi/cf directory into PAL
https://bugs.webkit.org/show_bug.cgi?id=175057
Reviewed by Antti Koivisto.
* Scripts/webkitpy/style/checker.py:
* Scripts/webkitpy/style/checker_unittest.py:
(GlobalVariablesTest.test_path_rules_specifier):
Ignore "readability/naming/underscores" style errors for sources
under the WebCore/PAL/pal/spi directory.
* TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm:
2017-08-03 Youenn Fablet <youenn@apple.com>
Remove FETCH_API compilation guard
https://bugs.webkit.org/show_bug.cgi?id=175154
Reviewed by Chris Dumez.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-08-03 Lucas Forschler <lforschler@apple.com>
Enable archive minification on iOS builds
https://bugs.webkit.org/show_bug.cgi?id=174718
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(BuildFactory.__init__):
2017-08-03 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WKE] Pass the --memory-limited option on the GTK and WPE buildbots for the JSC tests.
https://bugs.webkit.org/show_bug.cgi?id=175140
Reviewed by Alexey Proskuryakov.
We are having lately issues with JSC tests causing problems on
the GTK+ and WPE bots due to the high amount of memory some tests
need to run.
The best thing we can do now is to workaround this by disabling
all the tests marked as memoryLimited on the GTK and WPE bots.
We may revise this on the future.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunJavaScriptCoreTests.start):
2017-08-03 Brady Eidson <beidson@apple.com>
Add SW IDLs and stub out basic functionality.
https://bugs.webkit.org/show_bug.cgi?id=175115
Reviewed by Chris Dumez.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* Scripts/webkitpy/bindings/main.py:
2017-08-03 Per Arne Vollan <pvollan@apple.com>
[Win] The test http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade.https.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=159510
Reviewed by Daniel Bates.
Allow any https certificate when running tests.
* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):
2017-08-02 Youenn Fablet <youenn@apple.com>
HTTP tests with 'https' suffix are only run over HTTPS for WK2, not WK1
https://bugs.webkit.org/show_bug.cgi?id=175089
Reviewed by Chris Dumez.
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions): Using absolutePath if available.
* DumpRenderTree/mac/DumpRenderTree.mm:
(computeTestURL): Removing http/tests/ specific URL computation.
* Scripts/webkitpy/port/driver.py:
(Driver._command_from_driver_input): Making webkitpy passing HTTP urls for HTTP served tests to all test runners, including WK1.
2017-08-02 Lucas Forschler <lforschler@apple.com>
download-built-product should allow for a proxy option
https://bugs.webkit.org/show_bug.cgi?id=174875
Reviewed by Aakash Jain, Alexey Proskuryakov, Dean Johnson
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DownloadBuiltProduct.start): Teach buildbot to pass along proxy for Apple bots
2017-08-02 Jonathan Bedard <jbedard@apple.com>
check-webkit-style: deleting lines in a file runs the linter on the whole file
https://bugs.webkit.org/show_bug.cgi?id=175078
Reviewed by David Kilzer.
Deleting lines in a file should not cause linter errors to be blamed on the patch.
<https://bugs.webkit.org/show_bug.cgi?id=86142> is an example of this happening.
* Scripts/webkitpy/style/checkers/test_expectations.py:
(TestExpectationsChecker._should_log_linter_warning): Do not log a linter error if the file it is associated with only has deleted lines
* Scripts/webkitpy/style/main_unittest.py:
(ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line): Added files should have every line number in the file when processing.
(ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_only_deletes): Test case where the file with the linter errors only contained deletes.
(ExpectationLinterInStyleCheckerTest.test_linter_added_file_with_error): Added files should have every line number in the file when processing.
2017-08-02 Jonathan Bedard <jbedard@apple.com>
webkitpy: Allow caller to specify response to unicode encode/decode error in filesystem
https://bugs.webkit.org/show_bug.cgi?id=175075
Reviewed by David Kilzer.
We have no way of handling text files with illegal unicode characters. Allow the callers of
filesystem.read_text_file to specify one of Python 2.7's supported responses ('strict', 'ignore', or
'replace'). See https://docs.python.org/2/howto/unicode.html for details on these responses.
* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.read_text_file): Allow caller to specify unicode error handling.
(FileSystem.write_text_file): Ditto.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.read_text_file): Allow caller to specify unicode error handling.
(MockFileSystem.write_text_file): Ditto.
* Scripts/webkitpy/common/system/filesystem_unittest.py:
(RealFileSystemTest.test_read_text_file_unicode_decode_error): Test reading a file with illegal unicode content.
(RealFileSystemTest.test_write_text_file_unicode_encode_error): Test writing illegal unicode content to a file.
2017-08-02 Aakash Jain <aakash_jain@apple.com>
Intermittent exception in buildPageURLForIteration for Buildbot 0.9 dashboard
https://bugs.webkit.org/show_bug.cgi?id=175072
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot): Make sure this._builderNameToIDMap is always defined for Buildbot 0.9.
2017-08-02 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] Remove obsolete code in TestWebKitAPI/CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=175019
Reviewed by Darin Adler.
* TestWebKitAPI/CMakeLists.txt:
2017-08-01 Csaba Osztrogonác <ossy@webkit.org>
Enabling uploading archives to S3
https://bugs.webkit.org/show_bug.cgi?id=174198
Unreviewed unit test fix after r219235.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
2017-08-01 Csaba Osztrogonác <ossy@webkit.org>
Fix JSCOnly ARM buildbots after r220047
https://bugs.webkit.org/show_bug.cgi?id=174993
Unreviewed fix after r220087.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(BuildAndRemoteJSCTestsFactory.__init__):
2017-08-01 Chris Dumez <cdumez@apple.com>
Add initial support for navigator.sendBeacon
https://bugs.webkit.org/show_bug.cgi?id=175007
<rdar://problem/33547728>
Reviewed by Sam Weinig.
Enable the Beacon API at runtime in the context of layout tests since the
feature is currently disabled by default.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setModernMediaControlsEnabled):
(WTR::TestRunner::setBeaconAPIEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-08-01 Aakash Jain <aakash_jain@apple.com>
Update Bot Watcher's Dashboard for Buildbot 0.9
https://bugs.webkit.org/show_bug.cgi?id=174777
Reviewed by Daniel Bates.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot): Check if USE_BUILDBOT_VERSION_LESS_THAN_09 is passed.
(Buildbot.prototype._computeBuilderNameToIDMap): Fetch the builder name to ID mapping from buidbot and store
in a dictionary.
(Buildbot.prototype.buildPageURLForIteration): Updated URL as per Buildbot 0.9 format. Buildbot 0.9 currently does not support
builder name in the build url. See <https://github.com/buildbot/buildbot/issues/3465>.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(isMultiCodebaseGotRevisionProperty): Adapting to new data format.
(parseRevisionProperty): Ditto.
(BuildbotIteration.prototype.failureLogURL): Return the URL to build page if precise failure url is not available. For
Buildbot 0.9, build page URL would be appropriate in most cases as per the new UI.
(BuildbotIteration.prototype._parseData): Parsing the data as per new data format. Many variable names and data types
have changed in Buildbot 0.9.
(BuildbotIteration.prototype._adjustBuildDataForBuildbot09): Adjust the Buildbot 0.8 data to new format.
(BuildbotIteration.prototype._updateIfDataAvailable): Update method for Buildbot 0.9 data. We are performing two API calls,
one for build information, another for step information of that build. We need to wait until data from both REST API calls are available.
(BuildbotIteration.prototype._deprecatedUpdateWithData): Renamed from _updateWithData, used for Buildbot 0.8 data.
(BuildbotIteration.prototype.get buildURL): URL to fetch build information from Buildbot. Also fetches got_revision property.
(BuildbotIteration.prototype.get buildStepsURL): URL to fetch the steps information from Buildbot.
(BuildbotIteration.prototype.urlFailedToLoad): Callback method to be used when URL fails to load. Made it a separate function now.
(BuildbotIteration.prototype.update): Modified to support both Buildbot 0.9 and 0.8 data format.
(BuildbotIteration.prototype.actualUpdate): Update method for Buildbot 0.9 data.
(BuildbotIteration.prototype.deprecatedUpdate): Update method for Buildbot 0.8 data.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.get baseURL): Updated URL as per Buildbot 0.9 format.
(BuildbotQueue.prototype.get allIterationsURL): Ditto.
(BuildbotQueue.prototype.get overviewURL): Ditto.
(BuildbotQueue.prototype.get buildsURL): URL to fetch builds data in Buildbot 0.9.
(BuildbotQueue.prototype.get buildsInfoURL): Returns the appropriate URL to use to fetch builds information from
Buildbot 0.8 or 0.9.
(BuildbotQueue.prototype.getBuilds): Method compatible with both Buildbot 0.8 and 0.9 to get build information from data
fetched from Buildbot. Also, reversing the Buildbot 0.8 data to make it similar to 0.9 data format.
(BuildbotQueue.prototype.isBuildComplete): Method compatible with both Buildbot 0.8 and 0.9 to check if the build has completed.
(BuildbotQueue.prototype.getIterationID): Method compatible with both Buildbot 0.8 and 0.9 to get the Iteration ID.
(BuildbotQueue.prototype.update): Supports both Buildbot 0.8 and 0.9. Buildbot 0.9 REST API doesn't have cachedBuilds and currentBuilds.
Therefore we are fetching information for fixed number of build.
Also iterating the loop incrementally since the build data is already reverse sorted.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
(BuildbotTestResults.prototype._parseResults): Updated as per Buildbot 0.9 format. Note that we do not
need to worry about 0.8 or 0.9 data format here, since the data is already converted to 0.9 format.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Pass the USE_BUILDBOT_VERSION_LESS_THAN_09 flag.
2017-08-01 Devin Rousso <drousso@apple.com>
Web Inspector: simplify WebInspector with WI
https://bugs.webkit.org/show_bug.cgi?id=175058
Reviewed by Joseph Pecoraro.
* Scripts/check-inspector-strings:
(extract_ui_strings):
* Scripts/extract-localizable-js-strings:
2017-08-01 Youenn Fablet <youenn@apple.com>
Layout tests with 'https' suffix should be run over HTTPS
https://bugs.webkit.org/show_bug.cgi?id=174992
Reviewed by Chris Dumez.
Updating the test-name <-> uri conversion routines to use https when test names contain ".https." in them.
This covers WPT tests, WPT WebKit tests and HTTP layout tests.
Covered by corresponding unit tests.
* Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
(run_server):
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(base_http_url):
(base_https_url):
(base_url): Deleted.
* Scripts/webkitpy/port/base.py:
(Port.to.web_platform_test_server_base_http_url):
(Port.to):
(Port.to.web_platform_test_server_base_https_url):
(Port.to.web_platform_test_server_base_url): Deleted.
* Scripts/webkitpy/port/driver.py:
(Driver.__init__):
(Driver.wpt_test_path_to_uri):
(Driver):
(Driver.http_test_path_to_uri):
(Driver.test_to_uri):
(Driver.uri_to_test):
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_test_to_uri):
(DriverTest.test_uri_to_test):
2017-07-26 Jiewen Tan <jiewen_tan@apple.com>
Add tests to detect mistakes in backward compatibility when the structured clone algorithm is changed in the future
https://bugs.webkit.org/show_bug.cgi?id=173998
Reviewed by Darin Adler.
Since the structured clone algorithm is used for data stored in persistent databases, we need tests to help us
detect mistakes in backward compatibility in the future when we change it.
The way it works is to read from a pre-baked database and see if all the values are matched with the expectations.
Surprisedly, some of structured clonable objects cannot be stored into the indexedDB. Those are FileList,
ObjectReference, MessagePortReference, ArrayBufferView, ArrayBufferTransfer, NonMapProperties, NonSetProperties,
SharedArrayBuffer, WasmModule, DOMPointReadOnly, DOMPoint, DOMRectReadOnly, DOMRect, DOMMatrixReadOnly, DOMMatrix,
DOMQuad and Error. CryptoKey objects are not included as well as they need new API for encrypting/decrypting the
internal key data slot.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.mm: Added.
(-[IndexedDBStructuredCloneBackwardCompatibilityMessageHandler userContentController:didReceiveScriptMessage:]):
(getNextMessage):
(TEST):
Here is the API test that moves the pre-baked database to the location where TestWebKitAPI can read from.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-shm: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-wal: Added.
These are the pre-baked databases.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityRead.html: Added.
This is the actual test that do all the reads and comparisons.
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityWrite.html: Added.
This is the page that bakes the database. It never runs automatically. It is for someone who needs to teach
IndexedDB new stuffs. Then it can be used to bake the database again.
2017-08-01 Brady Eidson <beidson@apple.com>
API test URLSchemeHandler.Exceptions is Exiting out early on macOS Debug..
https://bugs.webkit.org/show_bug.cgi?id=175030
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
(-[TaskSchemeHandler webView:startURLSchemeTask:]): Stop calling an invalid NSError constructor.
2017-08-01 Brady Eidson <beidson@apple.com>
Part 2 of: Rename DatabaseProcess to StorageProcess.
https://bugs.webkit.org/show_bug.cgi?id=174880
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
2017-07-31 Csaba Osztrogonác <ossy@webkit.org>
Fix JSCOnly ARM buildbots after r220047
https://bugs.webkit.org/show_bug.cgi?id=174993
Reviewed by Saam Barati.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(BuildAndRemoteJSCTestsFactory.__init__):
2017-07-30 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Introduce Private Symbols
https://bugs.webkit.org/show_bug.cgi?id=174935
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST):
2017-07-30 Darin Adler <darin@apple.com>
Remove code in HTMLObjectElement attribute parsing that forces style resolution and layout
https://bugs.webkit.org/show_bug.cgi?id=130653
Reviewed by Antti Koivisto.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didFinishLoadForFrame): Omit now-unneeded "shouldDump" argument
when calling frameDidChangeLocation.
(WTR::InjectedBundlePage::frameDidChangeLocation): Removed "shouldDump" argument. This was
causing WebKitTestRunner to not dump anything in cases where DumpRenderTree will dump, and
thus causing mysterious failures of a couple of tests. There are two remaining issues:
1) WebKitTestRunner won't run its dump code if there is no "page", and there is no such
consideration in DumpRenderTree and 2) Both DumpRenderTree and WebKitTestRunner share the
same logic flaw that causes "top loading frame" to get set to one of the subframes in
tests where the following sequence occurs: test calls waitUntilDone, main frame finishes
loading, subframe starts loading. It would be good to clean that up some day, but for now
this patch makes the two work identically rather than changing both.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: Updated for change above.
2017-07-30 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] Replace RetainPtr<> with auto when adopting allocated ObjC objects in DataInteractionTests
https://bugs.webkit.org/show_bug.cgi?id=174963
Reviewed by Darin Adler.
Replaces several uses of RetainPtr<>s with auto. Some test cases in this file use auto, while other test cases declare using
RetainPtr<>. This patch changes them to all use auto.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-07-30 Brady Eidson <beidson@apple.com>
Add URLSchemeHandler API tests that verify the lack of URLSchemeTask object leaks.
https://bugs.webkit.org/show_bug.cgi?id=174958
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-leaks.mm: Added.
(-[LeakSchemeHandler webView:startURLSchemeTask:]):
(-[LeakSchemeHandler webView:stopURLSchemeTask:]):
(runUntilTasksInFlight):
(TEST):
2017-07-28 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r219990.
https://bugs.webkit.org/show_bug.cgi?id=174961
"broke PLT on iOS (rdar://problem/33602751)" (Requested by
estes on #webkit).
Reverted changeset:
"Part 2 of: Rename DatabaseProcess to StorageProcess."
https://bugs.webkit.org/show_bug.cgi?id=174880
http://trac.webkit.org/changeset/219990
2017-07-28 Brady Eidson <beidson@apple.com>
API tests that use URLSchemeHandler are failing.
https://bugs.webkit.org/show_bug.cgi?id=174950
Reviewed by Alex Christensen.
Fix the NoMIMEType test to be correct.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
(-[SchemeHandler initWithData:mimeType:]):
(-[SchemeHandler webView:startURLSchemeTask:]):
(TEST):
2017-07-28 Daniel Bates <dabates@apple.com>
prepare-ChangeLog should not list added layout tests in PAL ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=174876
Reviewed by Alex Christensen.
Do not list added layout tests in the PAL ChangeLog as such tests are unlikely to be related
to a PAL change. Unit tests are more appropriate for PAL changes than layout tests because
they provide a more direct way to test the platform abstraction.
As a side effect of this change we no longer list added layout tests in WebCore/platform/gtk/po/ChangeLog.
* Scripts/prepare-ChangeLog:
(generateNewChangeLogs): Only list added layout tests in the WebCore ChangeLog regardless
of the current working directory.
2017-07-28 Jonathan Bedard <jbedard@apple.com>
Using "auto <function()> -> returnType" breaks prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=174930
Unreviewed test fix.
We need to check parentheses before printing 'const' or 'volatile' in the ChangeLog.
* Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_cpp):
2017-07-28 JF Bastien <jfbastien@apple.com>
Using "auto <function()> -> returnType" breaks prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=174930
Reviewed by Daniel Bates.
Teach prepare-ChangeLog about C++ auto arrow return, and while I'm
here also teach it about const and volatile overloads. I didn't do
reference and rvalue reference overloads because we don't really
use them, and the current parser throws away those characters and
it doesn't seem worth making it more complex.
* Scripts/prepare-ChangeLog:
(get_function_line_ranges_for_cpp):
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests-expected.txt:
* Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp:
(Foo::Arrow::arrow):
(Foo::Arrow::otherArrow):
(Foo::Arrow::otherArrow const):
(Foo::Arrow::otherArrow volatile):
(Foo::Arrow::otherArrow const volatile):
2017-07-28 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Building with ENABLE_VIDEO=OFF fails
https://bugs.webkit.org/show_bug.cgi?id=174940
Reviewed by Alex Christensen.
When GStreamer usage is completely disabled at build time, CMake does not query pkg-config for the GStreamer.
This adds missing USE(GSTREAMER) guards in order to make testing code buildable when GStreamer usage is disabled.
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(methodCallCallback): Add missing USE(GSTREAMER) guard.
2017-07-28 Claudio Saavedra <csaavedra@igalia.com>
[WPE] Implement EventSenderProxy in WTR
https://bugs.webkit.org/show_bug.cgi?id=173419
Reviewed by Žan Doberšek.
Add the implementation of EventSenderProxy to the WTR. This
allows us to extend the coverage of the test suite in WKWPE.
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/PlatformWPE.cmake: Add dependency on
libxkbcommon needed to deal with key events.
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::EventSenderProxy::EventSenderProxy):
(WTR::senderButtonToWPEButton):
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
(WTR::EventSenderProxy::leapForward):
(WTR::wkEventModifiersToWPE):
(WTR::getXKBKeySymForKeyRef):
(WTR::EventSenderProxy::keyDown):
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::setTouchModifier):
(WTR::EventSenderProxy::setTouchPointRadius):
(WTR::EventSenderProxy::getUpdatedTouchEvents):
(WTR::EventSenderProxy::removeUpdatedTouchEvents):
(WTR::EventSenderProxy::prepareAndDispatchTouchEvent):
(WTR::EventSenderProxy::touchStart):
(WTR::EventSenderProxy::touchMove):
(WTR::EventSenderProxy::touchEnd):
(WTR::EventSenderProxy::touchCancel):
(WTR::EventSenderProxy::clearTouchPoints):
(WTR::EventSenderProxy::releaseTouchPoint):
(WTR::EventSenderProxy::cancelTouchPoint):
2017-07-27 Brady Eidson <beidson@apple.com>
Part 2 of: Rename DatabaseProcess to StorageProcess.
https://bugs.webkit.org/show_bug.cgi?id=174880
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
2017-07-26 Mark Lam <mark.lam@apple.com>
Add ability to only run specific tests in run-javascriptcore-tests.
https://bugs.webkit.org/show_bug.cgi?id=174884
Reviewed by Saam Barati.
For example, if we only want to run testapi, we can do so as follows:
$ run-javascriptcore-tests --testapi
Previously, specifying --testapi effectively does nothing because we run all tests
by default. Only --no-testapi had the effect of disabling the test set. This
old behavior for --testapi is not very useful or meaningful. We're now changing
it to mean that we will only run that test.
With this change, we can also run more than one set of tests. For example, if we
only want to run testmasm and testair, we can do so as follows:
$ run-javascriptcore-tests --testmasm --testair
By default, if no specific test option is specified, run-javascriptcore-tests will
run all tests.
Note that the jsc stress tests (--jsc-stress) are a different set of tests than
the mozilla tests (--mozilla-tests) even though both are run via the lower level
run-jsc-stress-tests test harness. Hence, if you only specify one of the tests,
the other set will not run. For example, the following only runs the mozilla tests:
$ run-javascriptcore-tests --mozilla-tests
Note also that --jit-stress-tests is not for choosing a different set of tests.
Instead, it is used for determining whether we run JIT'ed test configurations
on the jsc stress tests and mozilla tests. As a result, specifying
--jit-stress-tests will not omit other tests. For example, the following still
runs all tests:
$ run-javascriptcore-tests --jit-stress-tests
* Scripts/run-javascriptcore-tests:
(defaultStringForTestState):
(enableTestOrNot):
(runJSCStressTests):
2017-07-26 Mark Lam <mark.lam@apple.com>
Make run-javascriptcore-test run testair, testb3, and testmasm.
https://bugs.webkit.org/show_bug.cgi?id=174837
<rdar://problem/33522927>
Reviewed by Saam Barati and Filip Pizlo.
1. Refactors code for running testapi so that we can use it to run other tests.
2. Added running of testmasm, testair, testb3.
Note: the existing testapi invocation code does not support remote invocation of
the tests (e.g. on a ARM device). Hence, the new additions of testmasm, testair,
and testb3 also do not support remote invocation. If we wish to add remote
invocation support, we should do that in a separate patch.
* Scripts/run-javascriptcore-tests:
(testPath):
(runTest):
(testapiPath): Deleted.
2017-07-26 Aakash Jain <aakash_jain@apple.com>
Remove duplicate code from Buildbot.js in dashboard
https://bugs.webkit.org/show_bug.cgi?id=174870
Reviewed by Daniel Bates.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot.prototype.javaScriptCoreTestFailuresURLForIteration): Remove duplicate code and reuse buildPageURLForIteration() to construct URL.
(Buildbot.prototype.javaScriptCoreTestStdioUrlForIteration): Ditto.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockBuildbot.js:
(MockBuildbot.prototype.javaScriptCoreTestStdioUrlForIteration): Ditto for tests.
2017-07-26 Brady Eidson <beidson@apple.com>
Add test to verify certain child processes are not launched as a side effect of enabling ResourceLoadStatistics.
https://bugs.webkit.org/show_bug.cgi?id=174851
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm:
(TEST):
2017-07-26 Brian Burg <bburg@apple.com>
Remove WEB_TIMING feature flag
https://bugs.webkit.org/show_bug.cgi?id=174795
Reviewed by Alex Christensen.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-07-26 Chris Dumez <cdumez@apple.com>
Pressing the Escape key should not be a valid user gesture to enter fullscreen
https://bugs.webkit.org/show_bug.cgi?id=174864
<rdar://problem/33009088>
Reviewed by Geoffrey Garen.
Add support for eventSender.keyDown('escape') in DRT to match the behavior of
WKTR.
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController keyDown:withModifiers:withLocation:]):
2017-07-26 Romain Bellessort <romain.bellessort@crf.canon.fr>
Unreviewed, added Romain Bellessort to contributors.json.
* Scripts/webkitpy/common/config/contributors.json:
2017-07-26 Zan Dobersek <zdobersek@igalia.com>
[WPE] WebGL2 support
https://bugs.webkit.org/show_bug.cgi?id=174249
Reviewed by Alex Christensen.
* Scripts/webkitperl/FeatureList.pm:
Enable WebGL2 for WPE when building through build-webkit.
2017-07-26 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK distcheck.
* gtk/make-dist.py:
(ensure_version_if_possible): Use the right pkg-config filename, it's webkit2gtk not webkitgtk.
2017-07-25 Brady Eidson <beidson@apple.com>
ResourceLoadStatistics grandfathering happens much too often.
<rdar://problem/32655834> and https://bugs.webkit.org/show_bug.cgi?id=174825
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/EmptyGrandfatheredResourceLoadStatistics.plist: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm: Added.
(TEST):
2017-07-25 Matthew Stewart <matthew_r_stewart@apple.com>
Fix autoinstaller failing on autoinstall_everything
https://bugs.webkit.org/show_bug.cgi?id=174830
Reviewed by Joseph Pecoraro.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module):
(AutoinstallImportHook.install_chromedriver):
(AutoinstallImportHook.install_geckodriver):
(AutoinstallImportHook._install_chromedriver): Deleted.
(AutoinstallImportHook._install_geckodriver): Deleted.
2017-07-25 Jonathan Bedard <jbedard@apple.com>
Replace --runtime with something for both ios-simulator and ios-device
https://bugs.webkit.org/show_bug.cgi?id=173775
<rdar://problem/32952164>
Reviewed by Aakash Jain.
Add --version flag for both iOS simulator and iOS device.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Add --version flag and move --no-install.
* Scripts/webkitpy/port/factory.py:
(platform_options): Move --no-intall to run_webkit_tests.py.
* Scripts/webkitpy/port/ios.py:
(IOSPort):
(IOSPort._is_valid_ios_version): Check that the provided version string is legal.
(IOSPort.get_option): If accessing the iOS version, check that it is a valid version string.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.ios_version): Consult --version flag before checking connected
devices for iOS version.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.make_port): Set --version option so that we can generate test
expectation paths without devices connected.
(IOSDeviceTest.test_additional_platform_directory): Deleted.
(IOSDeviceTest.test_baseline_searchpath): Deleted.
(IOSDeviceTest.test_expectations_ordering): Deleted.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.simulator_runtime): If no runtime is specified, use the --version
flag to specify a runtime.
(IOSSimulatorPort.ios_version): First check the --version flag, then the --runtime
flag and then use the default runtime.
2017-07-25 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] TestWebKitAPI tests are no longer built since the WebKit2 rename
https://bugs.webkit.org/show_bug.cgi?id=174815
Reviewed by Carlos Alberto Lopez Perez.
Only WebKitGTK specific tests are built, but not WebKit2, WTF nor WebCore ones. We are still checking
ENABLE_WEBKIT2 in the makefile, that was renamed to ENABLE_WEBKIT. Also, all WebKit2 test paths were updated to
use WebKit dir, while the tests are still in WebKit2 directory. This patch also removes
TestWebKitAPIInjectedBundle_PATH that is unused and now makes the configure to fail (it used to be a warning, I
think), probably because of a newer CMake version.
* CMakeLists.txt:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
2017-07-24 Matthew Stewart <matthew_r_stewart@apple.com>
Fix BenchmarkRunner to only import selenium when needed
https://bugs.webkit.org/show_bug.cgi?id=174808
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:
(LinuxChromeDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:
(LinuxFirefoxDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver.launch_driver):
(OSXChromeCanaryDriver.launch_driver):
(create_chrome_options):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxDriver.launch_driver):
(OSXFirefoxNightlyDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:
(WebDriverBenchmarkRunner._run_one_test):
2017-07-23 Darin Adler <darin@apple.com>
More NeverDestroyed and related cleanup
https://bugs.webkit.org/show_bug.cgi?id=174745
Reviewed by Alex Christensen.
* DumpRenderTree/JavaScriptThreading.cpp:
(javaScriptThreadsMutex): Use NeverDestroyed instead of
DEPRECATED_DEFINE_STATIC_LOCAL.
(javaScriptThreads): Ditto.
2017-07-24 Matthew Stewart <matthew_r_stewart@apple.com>
Subclass Benchmark Runner script for WebDriver support
https://bugs.webkit.org/show_bug.cgi?id=174390
Reviewed by Dewei Zhu, Stephanie Lewis.
Add WebServerBenchmarkRunner and WebDriverBenchmarkRunner subclasses.
* Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
(BenchmarkBuilder.__init__):
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.__init__):
(BenchmarkRunner._find_plan_file):
(BenchmarkRunner._run_one_test.and):
(BenchmarkRunner.execute):
(BenchmarkRunner._get_result): Deleted.
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(parse_args):
(start):
* Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py: Added.
(WebDriverBenchmarkRunner):
(WebDriverBenchmarkRunner._get_result):
(WebDriverBenchmarkRunner._run_one_test):
* Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: Added.
(WebServerBenchmarkRunner):
(WebServerBenchmarkRunner.__init__):
(WebServerBenchmarkRunner._get_result):
(WebServerBenchmarkRunner._run_one_test):
2017-07-24 Matthew Stewart <matthew_r_stewart@apple.com>
Add BenchmarkRunner patches with WebDriver support for each testing plan
https://bugs.webkit.org/show_bug.cgi?id=174443
Reviewed by Dewei Zhu, Stephanie Lewis.
* Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
(BenchmarkBuilder.__enter__):
* Scripts/webkitpy/benchmark_runner/data/patches/webdriver/ARES-6.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webdriver/ContentAnimation.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webdriver/Dromaeo.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webdriver/JSBench.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webdriver/JetStream.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webdriver/Kraken.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webdriver/MotionMark.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webdriver/Octane.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webdriver/Speedometer.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webdriver/SunSpider.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/ARES-6.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/Animometer.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/ContentAnimation.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/Dromaeo.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/JSBench.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/JetStream.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/Kraken.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/MotionMark.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/Octane.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/Speedometer.patch:
* Scripts/webkitpy/benchmark_runner/data/patches/webserver/SunSpider.patch:
* Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/content-animation.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-cssquery.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-dom.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/dromaeo-jslib.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/jsbench.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/kraken.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/motionmark.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/octane.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/speedometer.plan:
* Scripts/webkitpy/benchmark_runner/data/plans/sunspider.plan:
2017-07-24 Matthew Stewart <matthew_r_stewart@apple.com>
Add functions to autoinstaller needed for Benchmark Runner script
https://bugs.webkit.org/show_bug.cgi?id=174331
Reviewed by Dean Johnson, Dewei Zhu, Stephanie Lewis.
Adds autoinstaller functions to install selenium and webdriver binaries
which will be used by the browser driver part of Benchmark Runner.
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver.restore_env):
(BrowserDriver):
(BrowserDriver.get_webdriver_binary_path):
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:
(LinuxChromeDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:
(LinuxFirefoxDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver.launch_driver):
(OSXChromeCanaryDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxDriver.launch_driver):
(OSXFirefoxNightlyDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
* Scripts/webkitpy/benchmark_runner/utils.py:
(get_driver_binary_path):
* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller._unzip):
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_selenium):
(AutoinstallImportHook):
(AutoinstallImportHook._install_chromedriver):
(AutoinstallImportHook._install_geckodriver):
(AutoinstallImportHook.get_latest_pypi_url):
(AutoinstallImportHook.install_binary):
(autoinstall_everything):
(get_driver_filename):
(get_os_info):
2017-07-24 Matthew Stewart <matthew_r_stewart@apple.com>
Add WebDriver support in browser driver part of BenchmarkRunner
https://bugs.webkit.org/show_bug.cgi?id=174445
Reviewed by Stephanie Lewis.
Adds a launch_driver function to each BrowserDriver subclass. This
function sets up the arguments for the webdriver and launches the
webdriver specific to that browser.
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver.launch_webdriver):
(BrowserDriver):
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
(LinuxBrowserDriver.launch_webdriver):
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:
(LinuxChromeDriver.launch_url):
(LinuxChromeDriver):
(LinuxChromeDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_epiphany_driver.py:
(EpiphanyBrowserDriver.launch_url):
(EpiphanyBrowserDriver):
(EpiphanyBrowserDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:
(LinuxFirefoxDriver):
(LinuxFirefoxDriver.launch_url):
(LinuxFirefoxDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py:
(GTKMiniBrowserDriver.launch_url):
(GTKMiniBrowserDriver):
(GTKMiniBrowserDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver._launch_webdriver):
(OSXBrowserDriver):
(OSXBrowserDriver._screen_size):
(OSXBrowserDriver._insert_url):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriver):
(OSXChromeDriver.launch_url):
(OSXChromeDriver.launch_driver):
(OSXChromeCanaryDriver):
(OSXChromeCanaryDriver.launch_url):
(OSXChromeCanaryDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxDriver):
(OSXFirefoxDriver.launch_url):
(OSXFirefoxDriver.launch_driver):
(OSXFirefoxNightlyDriver):
(OSXFirefoxNightlyDriver.launch_url):
(OSXFirefoxNightlyDriver.launch_driver):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launch_driver):
2017-07-24 Wenson Hsieh <wenson_hsieh@apple.com>
[Mac WK2] Add an API test to cover r219765 (null dereference in [WKWebView dealloc])
https://bugs.webkit.org/show_bug.cgi?id=174793
Reviewed by Tim Horton.
Adds a new unit test that invokes some asynchronous NSTextInputClient SPI methods as the web view is tearing
down. Without r219765, this test will dereference null and crash.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/TestWebKitAPI/mac/NSTextInputClientSPI.h: Added.
* TestWebKitAPI/Tests/mac/WKWebViewSelectionTests.mm:
(TEST):
2017-07-24 Basuke Suzuki <Basuke.Suzuki@sony.com>
[Win] Implement Authentication dialog in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=174662
Reviewed by Alex Christensen.
* MiniBrowser/win/Common.cpp:
(CustomUserAgent):
(DisplayAuthDialog):
(AuthDialogProc):
* MiniBrowser/win/MiniBrowserLib.rc:
* MiniBrowser/win/MiniBrowserLibResource.h:
* MiniBrowser/win/ResourceLoadDelegate.cpp:
(ResourceLoadDelegate::didReceiveAuthenticationChallenge):
2017-07-24 Jonathan Bedard <jbedard@apple.com>
Handle case where line_numbers is None instead of an array of line numbers
https://bugs.webkit.org/show_bug.cgi?id=174775
Reviewed by Aakash Jain.
Added files set line_numbers to None in process_file.
* Scripts/webkitpy/style/filereader.py:
(TextFileReader.process_file): Handle case where line_number is set to None.
* Scripts/webkitpy/style/main_unittest.py:
(ExpectationLinterInStyleCheckerTest.test_linter_added_file_with_error): Test case of an added file.
2017-07-24 Zan Dobersek <zdobersek@igalia.com>
[WPE] Add libepoxy to the Jhbuild moduleset
https://bugs.webkit.org/show_bug.cgi?id=174711
Reviewed by Carlos Alberto Lopez Perez.
* wpe/jhbuild.modules: Add libepoxy 1.4.3 to WPE's Jhbuild moduleset.
2017-07-24 Zan Dobersek <zdobersek@igalia.com>
[WPE] libepoxy headers can use EGL_CAST, which might not be defined by eglplatform.h
https://bugs.webkit.org/show_bug.cgi?id=174780
Reviewed by Carlos Garcia Campos.
* WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
Manually define the EGL_CAST macro to the C++ version that uses static_cast<>
in case the eglplatform.h header doesn't provide that macro. This replicates
the work in WebCore's EpoxyEGL.h header, but we can't include that header here.
2017-07-22 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS WK2] Remove _WKDraggableElementInfo and fold PositionInformationTests into WKRequestActivatedElementInfo
https://bugs.webkit.org/show_bug.cgi?id=174758
Reviewed by Dan Bernstein.
Migrate position-information-related unit tests from the PositionInformationTests suite to
WKRequestActivatedElementInfo as 2 new unit tests. See WebKit2 ChangeLog for more details.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm:
(TestWebKitAPI::checkElementTypeAndBoundingRect):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/PositionInformationTests.mm: Removed.
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView activatedElementAtPosition:]):
2017-07-22 Chris Dumez <cdumez@apple.com>
REGRESSION(r204565): WKObject is broken
https://bugs.webkit.org/show_bug.cgi?id=174736
<rdar://problem/33246169>
Reviewed by Dan Bernstein.
Add API test that used to crash.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm:
(TestWebKitAPI::TEST):
2017-07-22 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Extend ThreadGroup::add results from bool to ThreadGroupAddResult
https://bugs.webkit.org/show_bug.cgi?id=174705
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
(TestWebKitAPI::testThreadGroup):
(TestWebKitAPI::TEST):
2017-07-21 Jonathan Bedard <jbedard@apple.com>
Fail gracefully when xcrun fails in IOSSimulatorPort constructor
https://bugs.webkit.org/show_bug.cgi?id=174724
Reviewed by Aakash Jain.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.__init__): Ignore any errors when attempting to find a running
simulator. Errors here should be treated the same as no simulators found.
2017-07-21 Yousuke Kimoto <Yousuke.Kimoto@sony.com>
[CMake] Add an option to stop build after generating project files
https://bugs.webkit.org/show_bug.cgi?id=174664
Reviewed by Konstantin Tokarev.
Add "--generate-project-only" to stop build after generating project files.
* Scripts/build-webkit: Add '--generate-project-only' option and a checker to stop build.
* Scripts/webkitdirs.pm: Add a function to check '--generate-project-only' option and the same checker as the above
(buildCMakeProjectOrExit): Add a cheker to stop build stop build after generating project files.
(determineIsGenerateProjectOnly): Check if '--generate-project-only' option is specified
(isGenerateProjectOnly): ditto
2017-07-21 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Newly added AtomicStringImpl should use BufferInternal static string if StringImpl is static
https://bugs.webkit.org/show_bug.cgi?id=174501
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST):
2017-07-20 David Quesada <david_quesada@apple.com>
Add SPI to notify WKNavigationDelegate about client redirects
https://bugs.webkit.org/show_bug.cgi?id=174680
rdar://problem/33184886
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:
(-[DidPerformClientRedirectNavigationDelegate _webView:didPerformClientRedirectForNavigation:]):
(TEST):
Add API test for -[id<WKNavigationDelegatePrivate> _webView:didPerformClientRedirectForNavigation:].
2017-07-20 Brady Eidson <beidson@apple.com>
Test WebKit2CustomProtocolsTest.ProcessPoolDestroyedDuringLoading added in r219664 fails on El Capitan.
https://bugs.webkit.org/show_bug.cgi?id=174685
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
(TestWebKitAPI::TEST): Use a scoped AutodrainedPool instead of a RetainPtr<NSAutoreleasePool>.
2017-07-20 Brady Eidson <beidson@apple.com>
Deprecate WebIconDatabase in WebKitLegacy/mac.
https://bugs.webkit.org/show_bug.cgi?id=174607
Reviewed by Alex Christensen.
* DumpRenderTree/mac/TestRunnerMac.mm:
2017-07-20 Jonathan Bedard <jbedard@apple.com>
lint-test-expectations should be run during style checking
https://bugs.webkit.org/show_bug.cgi?id=173559
<rdar://problem/32854941>
Reviewed by Aakash Jain.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationsModel._already_seen_better_match): Append returns 'None' when successful,
prevents identifying errors on specific lines in a file.
* Scripts/webkitpy/style/main_unittest.py:
(ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_edit_in_file): Test for the
case where a linter error is in the file modified, but the line modified is not related to
the linter error.
2017-07-20 Brady Eidson <beidson@apple.com>
Remove WebIconDatabase from WebKitLegacy/win.
https://bugs.webkit.org/show_bug.cgi?id=174608
Reviewed by Alex Christensen.
* DumpRenderTree/win/DumpRenderTree.cpp:
(main):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setIconDatabaseEnabled):
2017-07-20 Zan Dobersek <zdobersek@igalia.com>
[WPE] Adjust priority of GSource used in WKTR's HeadlessViewBackend
https://bugs.webkit.org/show_bug.cgi?id=174671
Reviewed by Carlos Garcia Campos.
* WebKitTestRunner/wpe/HeadlessViewBackend.cpp:
(HeadlessViewBackend::HeadlessViewBackend): Use the RunLoopDispatcher
priority for this source in order to have it dispatched on the same
priority as the other WebKit-controlled GSource objects.
2017-07-19 Jonathan Bedard <jbedard@apple.com>
lint-test-expectations should be run during style checking
https://bugs.webkit.org/show_bug.cgi?id=173559
<rdar://problem/32854941>
Reviewed by Daniel Bates.
Follow up fix addressing style and a few minor bugs.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser.__init__): Use lambda x: x instead of str
(TestExpectationsModel.__init__): Make lambda x: x the default argument.
(TestExpectationsModel._already_seen_better_match): Use a temporary variable to
reduce the calls of _shorten_filename, fix minor bug in appending the current
expectation's line number instead of the previous ones, clarify treatment of None
in file-to-line-number mapping.
(TestExpectations._report_warnings): Collapse call.
* Scripts/webkitpy/style/checkers/test_expectations.py:
(TestExpectationsChecker.lint_test_expectations):
* Scripts/webkitpy/style/filereader.py: Re-write comment.
(TextFileReader.process_file): Add comment explaining treatment of None in
file-to-line-number mapping.
(TextFileReader.delete_file): Collapse call.
2017-07-19 Chris Dumez <cdumez@apple.com>
Unreviewed attempt to fix API test failure after r219663.
The test was hard-coding an exception string and the string has changed slightly
in r219663.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2017-07-19 Megan Gardner <megan_gardner@apple.com>
Don't write file URLs to iOS Pasteboard
https://bugs.webkit.org/show_bug.cgi?id=174647
<rdar://problem/33199730>
Reviewed by Wenson Hsieh.
Updating tests to reflect the lack of file URLs for images.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkTypeIdentifierAndIsNotOtherTypeIdentifier):
(checkEstimatedSize):
(TestWebKitAPI::TEST):
2017-07-19 Brady Eidson <beidson@apple.com>
iBooks sometimes crashes when closing a book.
<rdar://problem/31180331> and https://bugs.webkit.org/show_bug.cgi?id=174658
Reviewed by Oliver Hunt.
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
(-[ProcessPoolDestroyedDuringLoadingProtocol startLoading]):
(-[ProcessPoolDestroyedDuringLoadingProtocol finishTheLoad]):
(-[ProcessPoolDestroyedDuringLoadingProtocol stopLoading]):
(TestWebKitAPI::TEST):
Add a "spin the runloop X number of times" utility:
* TestWebKitAPI/Utilities.h:
* TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
(TestWebKitAPI::Util::spinRunLoop):
2017-07-19 Jonathan Bedard <jbedard@apple.com>
lint-test-expectations should be run during style checking
https://bugs.webkit.org/show_bug.cgi?id=173559
<rdar://problem/32854941>
Reviewed by David Kilzer.
Running the test expectation linter requires reading both files and lines not in the
patch because, for example, deletion of a test can cause a lint failure even though
no test expectations where modified. This means that the linter will occasionally warn
about lines which were not changed in a given patch but whose error is related to a
change made in that patch.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.open_text_file_for_reading): Add 'errors' argument to mimic filesystem.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationWarning): Added class to pass warnings as an object instead of a string.
(TestExpectationWarning.__init__): Construct warning with file name, line number, line
content, description of the error and the name of the associated test.
(TestExpectationWarning.__str__): Convert to string so that existing printing code works.
(TestExpectationParser.__init__): Pass shorten_filename function to
TestExpectationsParser to add a deleted file to the related_files dictionary.
(TestExpectationParser._check_test_exists): If the test does not exist, add the
missing path to the related_files dictionary.
(TestExpectationLine.__init__): Add related_files dictionary, which tracks
files and line numbers related to this test expectation line. This will allow
tracking linter errors in the style checker occurring across multiple files.
(TestExpectationsModel._already_seen_better_match): Add redundant expectation
lines to related_files dictionary.
(TestExpectations.__init__): Pass self._shorten_filename to TestExpectationParser.
(TestExpectations._report_warnings): Construct warning object instead of string
when adding to warnings list.
* Scripts/webkitpy/port/win.py: Changed logging level form warning to debug to
clean-up log.
* Scripts/webkitpy/style/checker.py:
(ProcessorBase.do_association_check): Add required function for processor classes.
(StyleProcessor):
(StyleProcessor.do_association_check): Run the TestExpectations linter when
checking for errors between associated files.
* Scripts/webkitpy/style/checkers/test_expectations.py:
(TestExpectationsChecker.check_test_expectations): Reflect changed import statements.
(TestExpectationsChecker):
(TestExpectationsChecker._should_log_linter_warning): Given a warning, a dictionary
of modified files, the current working directory and the host, determine if the linter
warning is associated with the changes.
(TestExpectationsChecker.lint_test_expectations): Lint test expectations for the
style checker.
* Scripts/webkitpy/style/filereader.py:
(TextFileReader):
(TextFileReader.__init__): Track modified files in dictionary instead of a counter.
(TextFileReader.file_count): Use dictionary to determine the number of modified files.
(TextFileReader.process_file): Track both the number of files changed and which lines
in those files were changed.
(TextFileReader.do_association_check): Run the processor's association check on all
modified or deleted files processed by TextFileReader.
(TextFileReader.delete_file): Track deleted files in _files dictionary.
(TextFileReader.count_delete_only_file): Deleted.
* Scripts/webkitpy/style/filereader_unittest.py:
(TextFileReaderTest.test_delete_file): Renamed function to reflect new function name.
(TextFileReaderTest.test_count_delete_only_file): Moved to test_delete_file.
* Scripts/webkitpy/style/main.py:
(CheckWebKitStyle.main): When running the style checker on a specific list of files,
explicitly run the association check on the file reader.
* Scripts/webkitpy/style/main_unittest.py:
(ExpectationLinterInStyleCheckerTest): Added to test the TestExpectationLinter now
embedded in the style checker.
(ExpectationLinterInStyleCheckerTest.setUp): Set up the style checker configuration.
(ExpectationLinterInStyleCheckerTest._generate_file_reader): Given a filesystem object,
construct the TextFileReader object with a StyleProcessor used to run style checks on
specific files.
(ExpectationLinterInStyleCheckerTest._generate_testing_host): Generate a host used for
testing the test expectation linter inside the style checker. This host must contain a
mock file system with the basic structure of test expectations.
(ExpectationLinterInStyleCheckerTest.test_no_linter_errors):
(ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line):
(ExpectationLinterInStyleCheckerTest.test_linter_duplicate_line_no_edit):
(ExpectationLinterInStyleCheckerTest.test_linter_deleted_file):
(ExpectationLinterInStyleCheckerTest.test_linter_deleted_file_no_edit):
* Scripts/webkitpy/style/patchreader.py:
(PatchReader.check): Specify which file was deleted, run the association check.
* Scripts/webkitpy/style/patchreader_unittest.py:
(PatchReaderTest.MockTextFileReader.delete_file): Renamed count_delete_only_file.
(PatchReaderTest.MockTextFileReader.do_association_check): Added.
(PatchReaderTest.MockTextFileReader.count_delete_only_file): Renamed delete_file.
2017-07-19 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Implement WTF::ThreadGroup
https://bugs.webkit.org/show_bug.cgi?id=174081
Reviewed by Mark Lam.
Add WTF::ThreadGroup tests.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/ThreadGroup.cpp: Added.
(TestWebKitAPI::testThreadGroup):
(TestWebKitAPI::TEST):
2017-07-18 Andy Estes <aestes@apple.com>
[Xcode] Enable CLANG_WARN_RANGE_LOOP_ANALYSIS
https://bugs.webkit.org/show_bug.cgi?id=174631
Reviewed by Tim Horton.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MobileMiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
2017-07-18 Andy Estes <aestes@apple.com>
[Xcode] Enable CLANG_WARN_OBJC_LITERAL_CONVERSION
https://bugs.webkit.org/show_bug.cgi?id=174631
Reviewed by Sam Weinig.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MobileMiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
2017-07-18 Daniel Bates <dabates@apple.com>
lldb: Add type summary for StringView
https://bugs.webkit.org/show_bug.cgi?id=174637
Reviewed by Sam Weinig.
For debugging convenience, adds a pretty-print type summary for StringView. Evaluating a
StringView object will print output that has the form:
(WTF::StringView) $4 = { length = 2, contents = 'li' } {
m_characters = 0x000000011b57abb5 "eeeeeefjh0n"
m_length = 2
m_is8Bit = true
m_underlyingString = 0x0000614000000a90
}
* lldb/lldb_webkit.py:
(__lldb_init_module): Use WTFStringView_SummaryProvider to format StringView types.
(WTFStringView_SummaryProvider):
(WTFStringViewProvider):
(WTFStringViewProvider.__init__):
(WTFStringViewProvider.is_8bit): Access field StringView.m_is8Bit.
(WTFStringViewProvider.get_length): Access field StringView.m_length.
(WTFStringViewProvider.get_characters): Access field StringView.m_characters.
(WTFStringViewProvider.to_string): Returns the string represented by the StringView.
2017-07-18 Andy Estes <aestes@apple.com>
[Xcode] Enable CLANG_WARN_NON_LITERAL_NULL_CONVERSION
https://bugs.webkit.org/show_bug.cgi?id=174631
Reviewed by Dan Bernstein.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MobileMiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
2017-07-18 Devin Rousso <drousso@apple.com>
Web Inspector: Add memoryCost to Inspector Protocol objects
https://bugs.webkit.org/show_bug.cgi?id=174478
Reviewed by Joseph Pecoraro.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/JavaScriptCore/InspectorValue.cpp: Added.
(TestWebKitAPI::TEST(InspectorValue, MemoryCostNull)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostBoolean)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostDouble)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostInteger)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostString)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostStringEmpty)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostStringNull)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostStringGrowing)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostStringUnicode)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostObject)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostObjectEmpty)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostObjectGrowing)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostArray)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostArrayEmpty)):
(TestWebKitAPI::TEST(InspectorValue, MemoryCostArrayGrowing)):
2017-07-18 Andy Estes <aestes@apple.com>
[Xcode] Enable CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING
https://bugs.webkit.org/show_bug.cgi?id=174631
Reviewed by Darin Adler.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MobileMiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
2017-07-17 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix the iOS build.
I missed a spot when renaming -synchronouslyLoadHTML: to -synchronouslyLoadHTMLString:.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-07-17 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Web process uses too much memory when beginning a drag on a very large image
https://bugs.webkit.org/show_bug.cgi?id=174585
<rdar://problem/33302541>
Reviewed by Tim Horton.
Adds a new test verifying that we don't try to allocate any image buffer equal to the true size of the image
being dragged when initiating a drag.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/enormous.svg: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
Add a new -synchronouslyLoadHTMLString: helper that works like -synchronouslyLoadTestPage:, but takes markup.
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView synchronouslyLoadHTMLString:]):
2017-07-17 Michael Catanzaro <mcatanzaro@igalia.com>
[CMake] Macros in WebKitMacros.cmake should be prefixed with WEBKIT_ namespace
https://bugs.webkit.org/show_bug.cgi?id=174547
Reviewed by Alex Christensen.
* DumpRenderTree/PlatformWin.cmake:
* DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
2017-07-17 Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com>
Update style checker to deal with "final"
https://bugs.webkit.org/show_bug.cgi?id=174528
Reviewed by Alex Christensen.
check-webkit-style shouldn't complain about an open brace to start a
line after a function definition with "final" or "const final".
* Scripts/webkitpy/style/checkers/cpp.py:
(check_braces):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_brace_at_begin_of_line):
2017-07-17 Alex Christensen <achristensen@webkit.org>
Modernize content extension code
https://bugs.webkit.org/show_bug.cgi?id=174588
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter):
(TestWebKitAPI::testRequest):
(TestWebKitAPI::makeBackend):
(TestWebKitAPI::TEST_F):
2017-07-17 Brady Eidson <beidson@apple.com>
WKHTTPCookieStore observing only works on the default cookie store.
<rdar://problem/33330724> and https://bugs.webkit.org/show_bug.cgi?id=174580
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(runTestWithWebsiteDataStore): Refactor the cookie observing test out so it can be
called for the default store, a non-persistent store, and a custom store.
(TEST):
2017-07-16 Sam Weinig <sam@webkit.org>
[Scripts] Fix missing variable warnings from svn-create-patch when there are untracked files
https://bugs.webkit.org/show_bug.cgi?id=174575
Reviewed by Brady Eidson.
* Scripts/svn-create-patch:
(findModificationType):
Add support for more status codes. C -> conflicted, ? -> untracked, ! -> missing. Give a
default value of "unknown".
(generateFileList):
Handle all the new modification types. Abort on conflicted, missing, and unknown. Log
for untracked, which matches our old behavior.
2017-07-17 Charlie Turner <cturner@igalia.com>
Add some missing build dependencies on Fedora
https://bugs.webkit.org/show_bug.cgi?id=174578
Unreviewed dependency update.
* gtk/install-dependencies:
2017-07-16 Brady Eidson <beidson@apple.com>
Crash when a WKHTTPCookieStore outlives its owning WKWebsiteDataStore.
<rdar://problem/33341730> and https://bugs.webkit.org/show_bug.cgi?id=174574
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(-[CookieNavigationDelegate webView:didFinishNavigation:]):
(TEST):
2017-07-16 Bernhard M. Wiedemann <bwiedemann@suse.de>
[GTK] Sort inspector GResource manifest to ensure reproducible builds
https://bugs.webkit.org/show_bug.cgi?id=174540
Reviewed by Michael Catanzaro.
* gtk/generate-inspector-gresource-manifest.py:
(get_filenames): sort list of input files
2017-07-15 Brady Eidson <beidson@apple.com>
Make sure all CFHTTPCookieStorageRefs we create are scheduled.
<rdar://problem/33221110> and https://bugs.webkit.org/show_bug.cgi?id=174513
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(TEST): Make this test more reliable by clearing everything beforehand.
2017-07-15 David Kilzer <ddkilzer@apple.com>
Make it possible to extend check-webkit-style with Apple-internal checkers
<https://webkit.org/b/174464>
<rdar://problem/25564402>
Reviewed by Darin Adler.
* Scripts/webkitpy/style/checker.py: Import apple_additions.
(_all_categories): Add categories from apple_additions() if it
exists.
(CheckerDispatcher._create_checker): Create python checker
from apple_additions() if it exists.
2017-07-15 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS WK2] Presenting an action sheet on an image map prevents selection UI from updating
https://bugs.webkit.org/show_bug.cgi?id=174539
<rdar://problem/33307395>
Reviewed by Darin Adler.
Adds a new unit test suite to cover action sheet popover presentation.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/image-map.html: Added.
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm: Added.
(-[ActionSheetObserver waitForActionSheetAfterBlock:]):
Runs the given block and waits until the UI process has indicated that it will present an action sheet.
(-[ActionSheetObserver _webView:actionsForElement:defaultActions:]):
(TestWebKitAPI::IPadUserInterfaceSwizzler::IPadUserInterfaceSwizzler):
Helper class to alter the behavior of [[UIDevice currentDevice] userInterfaceIdiom] for testing.
(TestWebKitAPI::IPadUserInterfaceSwizzler::padUserInterfaceIdiom):
(TestWebKitAPI::TEST):
2017-07-15 Sam Weinig <sam@webkit.org>
[Scripts] Make svn-create-patch work better when called in sub directories
https://bugs.webkit.org/show_bug.cgi?id=174551
Reviewed by Darin Adler.
- Fixes manufacturePatchForAdditionWithHistory to use the correct path
by ensuring that the prefix is applied as is done in generateDiff.
- Silence output of explanatory lines from svn stat (" > move to ...")
that show up in STDERR when running svn-create-patch.
- Add verbose logging that I found useful while debugging this issue.
* Scripts/svn-create-patch:
(findBaseUrl):
(findMimeType):
(findSourceFileAndRevision):
(generateDiff):
(generateFileList):
(manufacturePatchForAdditionWithHistory):
2017-07-15 Jonathan Bedard <jbedard@apple.com>
Unreviewed build fix after r219537.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2017-07-14 Jonathan Bedard <jbedard@apple.com>
Add iOS 11 SPI
https://bugs.webkit.org/show_bug.cgi?id=174430
<rdar://problem/33269288>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm: Define drag-and-drop API required for testing.
* TestWebKitAPI/ios/DataInteractionSimulator.h: Ditto.
* TestWebKitAPI/ios/DataInteractionSimulator.mm: Ditto.
2017-07-14 Jonathan Bedard <jbedard@apple.com>
Failing to install on iPad simulators
https://bugs.webkit.org/show_bug.cgi?id=174532
<rdar://problem/33328347>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.install_app): Place install command in retry try-except block.
2017-07-14 Jeff Miller <jeffm@apple.com>
Add test for -[WKProcessPool _setObjectsForBundleParametersWithDictionary:].
https://bugs.webkit.org/show_bug.cgi?id=174524
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm:
(TEST):
Renamed TestParameter to TestParameter1.
Add test for -[WKProcessPool _setObjectsForBundleParametersWithDictionary:].
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm:
(-[BundleParametersPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
Observe changes for two bundle parameters.
(-[BundleParametersPlugIn dealloc]):
Remove observers for two bundle parameters.
2017-07-14 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r219510.
https://bugs.webkit.org/show_bug.cgi?id=174525
Need to revert length() == 0 check for null string (Requested
by yusukesuzuki on #webkit).
Reverted changeset:
"[WTF] Newly added AtomicStringImpl should use BufferInternal
static string if StringImpl is static"
https://bugs.webkit.org/show_bug.cgi?id=174501
http://trac.webkit.org/changeset/219510
2017-07-14 Jer Noble <jer.noble@apple.com>
[MSE] Removing samples when presentation order does not match decode order can cause bad behavior.
https://bugs.webkit.org/show_bug.cgi?id=174514
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebCore/SampleMap.cpp:
(TestWebKitAPI::TEST_F):
2017-07-14 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Newly added AtomicStringImpl should use BufferInternal static string if StringImpl is static
https://bugs.webkit.org/show_bug.cgi?id=174501
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::TEST):
2017-07-14 Jonathan Bedard <jbedard@apple.com>
Bring mac expectations in-line with other platforms
https://bugs.webkit.org/show_bug.cgi?id=174472
<rdar://problem/33297388>
Reviewed by David Kilzer.
The override order for Mac test expectations does not conform to the pattern used by iOS,
GTK, Windows and WPE. Before this change, El Capitan's baseline search path looks like this:
platform/mac-wk2
platform/wk2
platform/mac-elcapitan
platform/mac-sierra
generic
After this change, El Capitan's baseline search path looks like this:
platform/mac-sierra-wk2
platform/mac-sierra
platform/mac-wk2
platform/wk2
generic
* Scripts/webkitpy/port/mac.py:
(MacPort.__init__): If a specific version is specified in the port name, use that
as the os version.
(MacPort.default_baseline_search_path): Expectation search paths should work the
same way they do on other ports. Port + version overrides port, port overrides generic
and wk1/wk2 should override expectations for the two combined.
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_tests_for_other_platforms): Deleted.
(MacTest._assert_search_path): Deleted.
(MacTest.test_baseline_search_path): Deleted.
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineTest.test_baseline_directory): Adjust expectations for new over-ride order.
(test_rebaseline_test_and_print_scm_changes): Ditto.
(test_rebaseline_and_copy_test): Ditto.
(test_rebaseline_and_copy_test_no_existing_result): Ditto.
(test_rebaseline_and_copy_test_with_lion_result): Ditto.
(test_rebaseline_and_copy_no_overwrite_test): Ditto.
2017-07-13 Michael Catanzaro <mcatanzaro@igalia.com>
Fix style checker unit test
Unreviewed WebKit2 => WebKit fixup.
* Scripts/webkitpy/style/checker_unittest.py:
(CheckerDispatcherSkipTest.test_should_skip_with_warning):
2017-07-13 Matthew Hanson <matthew_hanson@apple.com>
Use the old WebKit/WebKit2 targets for CMake builds. (v2)
Unreviewed build fix.
r219492 missed one hunk from its partial revert of r219489.
This patch reverts that hunk.
* TestWebKitAPI/CMakeLists.txt:
2017-07-13 Matthew Hanson <matthew_hanson@apple.com>
Use the old WebKit/WebKit2 targets for CMake builds.
Unreviewed build fix.
We can update the target names to match the Framework names in a future patch.
This is a partial revert of r219489.
* TestWebKitAPI/CMakeLists.txt:
WebKitLegacy => WebKit
WebKit => WebKit2
2017-07-13 Matthew Hanson <matthew_hanson@apple.com>
Fix TestWebKit API.
https://bugs.webkit.org/show_bug.cgi?id=174164
rdar://problem/33137595
Reviewed by Dan Bernstein.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/PlatformGTK.cmake:
2017-07-13 Matthew Hanson <matthew_hanson@apple.com>
Update tools and configurations after renaming Source/WebKit2 to Source/WebKit.
https://bugs.webkit.org/show_bug.cgi?id=174164
rdar://problem/33137595
Reviewed by Dan Bernstein.
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* Scripts/build-webkit:
* Scripts/do-file-rename:
* Scripts/do-webcore-rename:
* Scripts/update-webkit-localizable-strings:
* Scripts/webkitpy/common/config/watchlist:
* Scripts/webkitpy/style/checker.py:
* Scripts/webkitpy/style/checkers/featuredefines.py:
* gtk/make-dist.py:
(ensure_version_if_possible):
* gtk/manifest.txt.in:
2017-07-05 Matthew Hanson <matthew_hanson@apple.com>
Update tools and configurations after renaming Source/WebKit to Source/WebKitLegacy.
https://bugs.webkit.org/show_bug.cgi?id=174162
rdar://problem/33137594
Reviewed by Dan Bernstein.
Mass rename of Source/WebKit to Source/WebKitLegacy in OpenSource tooling.
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
* DumpRenderTree/mac/InternalHeaders/WebKit/WebTypesInternal.h:
* EWSTools/configure-clang-linux.sh:
* Scripts/build-webkit:
* Scripts/do-file-rename:
* Scripts/do-webcore-rename:
* Scripts/update-webkit-localizable-strings:
* Scripts/webkitpy/common/checkout/checkout_unittest.py:
* Scripts/webkitpy/style/checkers/changelog_unittest.py:
* Scripts/webkitpy/style/checkers/featuredefines.py:
* gtk/manifest.txt.in:
2017-07-13 Jonathan Bedard <jbedard@apple.com>
Add script to rebase patches during the WebKit2->WebKit/WebKit->WebKitLegacy transition
https://bugs.webkit.org/show_bug.cgi?id=174438
<rdar://problem/33277112>
Reviewed by Aakash Jain.
Given a patch, this will convert the changes from the path to the new directory structure.
* Scripts/rebase-patch-after-webkit-move: Added.
(append_source): Append 'Source' to the provided path.
(is_editable_line): Return true if a line the script expects to modify.
(needs_rebase): Return if a line needs to be rebased based on it's content.
(rebase_line): Rebase the provided line.
(rebase): Rebase a patch given the lines of that patch and a file to output the rebased patch to.
(parse_arguments): Parse the command line arguments and return the patches to be rebased, if they
were provided.
2017-07-12 Nan Wang <n_wang@apple.com>
AX: [iOS] Implement a way to retrieve a text marker range with desired text that is closest to a position
https://bugs.webkit.org/show_bug.cgi?id=174393
<rdar://problem/33248006>
Reviewed by Chris Fleizach.
* DumpRenderTree/AccessibilityUIElement.cpp:
(textMarkerRangeMatchesTextNearMarkersCallback):
(AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
2017-07-12 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r219409.
The revision caused the Windows builds to fail.
Reverted changeset:
"AX: [iOS] Implement a way to retrieve a text marker range
with desired text that is closest to a position"
https://bugs.webkit.org/show_bug.cgi?id=174393
http://trac.webkit.org/changeset/219409
2017-07-12 Nan Wang <n_wang@apple.com>
AX: [iOS] Implement a way to retrieve a text marker range with desired text that is closest to a position
https://bugs.webkit.org/show_bug.cgi?id=174393
<rdar://problem/33248006>
Reviewed by Chris Fleizach.
* DumpRenderTree/AccessibilityUIElement.cpp:
(textMarkerRangeMatchesTextNearMarkersCallback):
(AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers):
2017-07-12 Emilio Cobos Álvarez <ecobos@igalia.com>
Make prepare-ChangeLog -g <commit> generate a more standard ChangeLog entry.
https://bugs.webkit.org/show_bug.cgi?id=174197
Reviewed by Darin Adler.
This bit me the first time I tried to submit a patch to WebKit, and still I have
to manually edit the ChangeLog every time I use the script.
This generates a more convenient and standard ChangeLog entry.
* Scripts/prepare-ChangeLog:
(generateNewChangeLogs):
2017-07-12 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r219401.
This revision rolled out the previous patch, but after talking
with reviewer, a rebaseline is what was needed.Rolling back in
before rebaseline.
Reverted changeset:
"Unreviewed, rolling out r219379."
https://bugs.webkit.org/show_bug.cgi?id=174400
http://trac.webkit.org/changeset/219401
2017-07-12 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r219379.
This revision caused a consistent failure in the test
fast/dom/Window/property-access-on-cached-window-after-frame-
removed.html.
Reverted changeset:
"Remove NAVIGATOR_HWCONCURRENCY"
https://bugs.webkit.org/show_bug.cgi?id=174400
http://trac.webkit.org/changeset/219379
2017-07-12 Zan Dobersek <zdobersek@igalia.com>
[WPE] Use libepoxy
https://bugs.webkit.org/show_bug.cgi?id=172104
Reviewed by Michael Catanzaro.
* WebKitTestRunner/wpe/HeadlessViewBackend.h:
Include the <epoxy/egl.h> header, dropping the EGL and GLES2 inclusions.
2017-07-12 Zan Dobersek <zdobersek@igalia.com>
[GTK][WPE] Align Jhbuild patches for GStreamer packages
https://bugs.webkit.org/show_bug.cgi?id=174363
Reviewed by Michael Catanzaro.
Align the patches we apply over Jhbuild-managed GStreamer dependency packages
between the GTK+ and WPE port. There's no reason for the two ports to apply
different patches over same versions of GStreamer releases.
This aligns the two ports on this specific issue. Next we'll look into
creating a single GStreamer-specific Jhbuild moduleset that will allow us
to keep these patches in a single place, avoiding duplicate files.
* gtk/jhbuild.modules:
* gtk/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Added.
* gtk/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Renamed from Tools/gtk/patches/gst-plugins-good-0004-qtdemux-add-context-for-a-preferred-protection.patch.
* gtk/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Added.
* wpe/patches/gstreamer-typefind-Only-push-a-CAPS-event-downstream-if-the-.patch: Removed.
2017-07-11 Dean Jackson <dino@apple.com>
Remove NAVIGATOR_HWCONCURRENCY
https://bugs.webkit.org/show_bug.cgi?id=174400
Reviewed by Sam Weinig.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-07-11 Ansh Shukla <ansh_shukla@apple.com>
WKWindowFeatures needs to expose scrollbar, fullscreen, and dialog configuration properties
https://bugs.webkit.org/show_bug.cgi?id=174239
Reviewed by Brady Eidson.
Create windows with specific features set and make sure those are properly reflected in the
WKWindowFeatures object.
* TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
(resetToConsistentState):
(-[CheckWindowFeaturesUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(TEST):
2017-07-11 Jonathan Bedard <jbedard@apple.com>
Do not duplicate files when deleting directories with svn 1.9
https://bugs.webkit.org/show_bug.cgi?id=174339
<rdar://problem/33226781>
Reviewed by David Kilzer.
* Scripts/svn-create-patch:
(diffOptionsForFile): No longer pass -N option, since this does not work in SVN 1.9.4.
(generateFileList): Determine which files are deleted because they are part of a
directory being deleted.
2017-07-11 Dean Jackson <dino@apple.com>
Rolling out r219372.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-07-11 Dean Jackson <dino@apple.com>
Remove NAVIGATOR_HWCONCURRENCY
https://bugs.webkit.org/show_bug.cgi?id=174400
Reviewed by Sam Weinig.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-07-11 Lucas Forschler <lforschler@apple.com>
Teach build workers to fetch archives from S3.
https://bugs.webkit.org/show_bug.cgi?id=174384
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DownloadBuiltProduct):
2017-07-11 Lucas Forschler <lforschler@apple.com>
Configure buildbot to transfer all archives to S3.
Previously this was Mac only, but it's time to expand!
https://bugs.webkit.org/show_bug.cgi?id=174378
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(BuildFactory.__init__):
2017-07-11 Zan Dobersek <zdobersek@igalia.com>
[WPE] Bump GStreamer packages in jhbuild.modules to 1.10.5
https://bugs.webkit.org/show_bug.cgi?id=174350
Reviewed by Xabier Rodriguez-Calvar.
Bump the various GStreamer dependencies listed in WPE's Jhbuild modules file
to the 1.10.5 version. One gstreamer patch is added. The two gst-plugins-bad
patches are removed. The patches for gst-plugins-good are updated, removing
the stale ones and adding the additional changes to qtdemux, souphttpsrc and
rtpbin elements that will help with the EMEv3 development.
* wpe/jhbuild.modules:
* wpe/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Removed.
* wpe/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Removed.
* wpe/patches/gst-plugins-good-0003-rtpbin-receive-bundle-support.patch: Added.
* wpe/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch: Added.
* wpe/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch: Added.
* wpe/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch: Added.
* wpe/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
* wpe/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
* wpe/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Added.
2017-07-10 John Wilander <wilander@apple.com>
Resource Load Statistics: Prune statistics in orders of importance
https://bugs.webkit.org/show_bug.cgi?id=174215
<rdar://problem/33164403>
Reviewed by Chris Dumez.
Nest infrastructure. Adds these functions:
1. testRunner.setStatisticsLastSeen()
2. setStatisticsMaxStatisticsEntries()
3. setStatisticsPruneEntriesDownTo()
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsLastSeen):
(WTR::TestRunner::setStatisticsMaxStatisticsEntries):
(WTR::TestRunner::setStatisticsPruneEntriesDownTo):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsLastSeen):
(WTR::TestController::setMaxStatisticsEntries):
(WTR::TestController::setPruneEntriesDownTo):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::setStatisticsLastSeen):
(WTR::TestController::setStatisticsMaxStatisticsEntries):
(WTR::TestController::setStatisticsPruneEntriesDownTo):
2017-07-03 Brian Burg <bburg@apple.com>
Web Replay: remove some unused code
https://bugs.webkit.org/show_bug.cgi?id=173903
Rubber-stamped by Joseph Pecoraro.
* Scripts/run-input-generator-tests: Removed.
* Scripts/webkitpy/replay/__init__.py: Removed.
* Scripts/webkitpy/replay/main.py: Removed.
2017-07-10 Zan Dobersek <zdobersek@igalia.com>
[WPE] Fix layout test baseline and TestExpectations hierarchy
https://bugs.webkit.org/show_bug.cgi?id=174092
Reviewed by Michael Catanzaro.
Like for the GTK+ port, override the default_baseline_search_path() and
_port_specific_expectations_files() methods in the webkitpy.port.WPEPort class.
Both methods operate on a short list of search paths that defaults to 'wpe' and
'wk2', along with any other user-specified platform directory.
The test_expectations_file_position() method is overridden for testing purposes,
and relevant unit tests are added.
* Scripts/webkitpy/port/wpe.py:
(WPEPort._search_paths):
(WPEPort):
(WPEPort.default_baseline_search_path):
(WPEPort._port_specific_expectations_files):
(WPEPort.test_expectations_file_position):
* Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest.test_default_baseline_search_path):
(WPEPortTest):
(WPEPortTest.test_port_specific_expectations_files):
2017-07-10 Chris Dumez <cdumez@apple.com>
Further WebResourceLoadStatisticsStore / ResourceLoadStatisticsStore clean up
https://bugs.webkit.org/show_bug.cgi?id=174301
Reviewed by Brent Fulgham.
Rename some of the testRunner API for clarity and to better match what it calls
internally.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsUpdateCookiePartitioning):
(WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsUpdateCookiePartitioning):
(WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::statisticsUpdateCookiePartitioning):
(WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
2017-07-10 Charlie Turner <cturner@igalia.com>
[GStreamer] Live twitch.tv videos do not play
https://bugs.webkit.org/show_bug.cgi?id=174222
Reviewed by Michael Catanzaro.
Upgrade GStreamer to 1.10.5. It contains a change to typefind that
fixes videos not playing on twitch.tv.
* gtk/jhbuild.modules:
2017-07-09 Zan Dobersek <zdobersek@igalia.com>
Add WebGL2 configuration option to build-webkit
https://bugs.webkit.org/show_bug.cgi?id=174251
Reviewed by Michael Catanzaro.
* Scripts/webkitperl/FeatureList.pm: Add the 'webgl2' option, making it possible
to enable the ENABLE_WEBGL2 flag through the build-webkit script. The feature
is marked as enabled for the Apple Cocoa ports.
2017-07-08 Chris Dumez <cdumez@apple.com>
Simplify WebResourceLoadStatisticsStore / ResourceLoadStatisticsStore
https://bugs.webkit.org/show_bug.cgi?id=174290
Reviewed by Brent Fulgham.
Rename testRunner API to match the new internal API names.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsProcessStatisticsAndDataRecords):
(WTR::TestRunner::statisticsSubmitTelemetry):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsProcessStatisticsAndDataRecords):
(WTR::TestController::statisticsSubmitTelemetry):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::statisticsProcessStatisticsAndDataRecords):
(WTR::TestController::statisticsSubmitTelemetry):
2017-07-08 Yusuke Suzuki <utatane.tea@gmail.com>
Drop NOSNIFF compile flag
https://bugs.webkit.org/show_bug.cgi?id=174289
Reviewed by Michael Catanzaro.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-07-07 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] For cross-app drags, 'drop' event handlers are never invoked if dataTransfer.dropEffect is not set while dragging
https://bugs.webkit.org/show_bug.cgi?id=174219
<rdar://problem/32083177>
Reviewed by Ryosuke Niwa.
Add plumbing and support to mock the value of -allowsMoveOperation on the simulated UIDragDropSession objects.
Setting the DataInteractionSimulator's shouldAllowMoveOperation property to NO simulates a drag operation coming
in from another app out-of-process, for which move operations won't cause a drop to be performed in the first
place.
Also tweaks 2 existing unit tests regarding file uploads via JavaScript to simulate items coming in from a
different application, and adds a new test to check that if a drop area specifically requests a MOVE operation,
no action is taken when dropping.
* TestWebKitAPI/Tests/WebKit2Cocoa/file-uploading.html:
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[MockDragDropSession initWithItems:location:window:allowMove:]):
(-[MockDragDropSession allowsMoveOperation]):
(-[MockDataOperationSession initWithProviders:location:window:allowMove:]):
(-[MockDataInteractionSession initWithWindow:allowMove:]):
(-[DataInteractionSimulator initWithWebView:]):
(-[DataInteractionSimulator runFrom:to:]):
(-[DataInteractionSimulator _advanceProgress]):
(-[MockDragDropSession initWithItems:location:window:]): Deleted.
(-[MockDataOperationSession initWithProviders:location:window:]): Deleted.
(-[MockDataInteractionSession initWithWindow:]): Deleted.
2017-07-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r219238, r219239, and r219241.
https://bugs.webkit.org/show_bug.cgi?id=174265
"fast/workers/dedicated-worker-lifecycle.html is flaky"
(Requested by yusukesuzuki on #webkit).
Reverted changesets:
"[WTF] Implement WTF::ThreadGroup"
https://bugs.webkit.org/show_bug.cgi?id=174081
http://trac.webkit.org/changeset/219238
"Unreviewed, build fix after r219238"
https://bugs.webkit.org/show_bug.cgi?id=174081
http://trac.webkit.org/changeset/219239
"Unreviewed, CLoop build fix after r219238"
https://bugs.webkit.org/show_bug.cgi?id=174081
http://trac.webkit.org/changeset/219241
2017-07-07 Yusuke Suzuki <utatane.tea@gmail.com>
[GTK][WPE] Enable X-Content-Type-Options: nosniff
https://bugs.webkit.org/show_bug.cgi?id=174250
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/webkitperl/FeatureList.pm:
2017-07-07 Charlie Turner <cturner@igalia.com>
[GStreamer] vid.me videos do not play
https://bugs.webkit.org/show_bug.cgi?id=172240
Reviewed by Xabier Rodriguez-Calvar.
Build httpsoupsrc again for use in adaptive streaming pipelines, and
have the existing libsoup build against GNOME to avoid header drift
against GStreamer's linked Soup library.
* gtk/jhbuild.modules:
2017-07-06 Lucas Forschler <lforschler@apple.com>
Write a support script to enable buildbot to upload to S3
https://bugs.webkit.org/show_bug.cgi?id=174196
Reviewed by Stephanie Lewis.
* BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3: Added.
(uploadToS3):
(archiveExists):
2017-07-06 Lucas Forschler <lforschler@apple.com>
Enabling uploading archives to S3.
https://bugs.webkit.org/show_bug.cgi?id=174198
Reviewed by Stephanie Lewis.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(ArchiveMinifiedBuiltProduct): Create a minified archive from a full archive
(UploadMinifiedBuiltProduct): Upload minified archive to build master
(TransferToS3): Transfer full and minified archives to S3
2017-07-05 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Implement WTF::ThreadGroup
https://bugs.webkit.org/show_bug.cgi?id=174081
Reviewed by Mark Lam.
Add WTF::ThreadGroup tests.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/ThreadGroup.cpp: Added.
(TestWebKitAPI::TEST):
2017-07-06 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Clean up StringStatics.cpp by using LazyNeverDestroyed<> for Atoms
https://bugs.webkit.org/show_bug.cgi?id=174150
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/TestsController.cpp:
(TestWebKitAPI::TestsController::TestsController):
2017-07-06 Lucas Forschler <lforschler@apple.com>
Enabling uploading archives to S3.
https://bugs.webkit.org/show_bug.cgi?id=174198
Reviewed by Lucas Forschler.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(ArchiveMinifiedBuiltProduct): Create a minified archive from a full archive
(UploadMinifiedBuiltProduct): Upload minified archive to build master
(TransferToS3): Transfer full and minified archives to S3
2017-07-06 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] kill-old-process should kill more webkit related process
https://bugs.webkit.org/show_bug.cgi?id=174220
Reviewed by Michael Catanzaro.
Generate list of possible webkit-related process names and add
them to the list of process to kill.
Also update the possible system related process for GTK+/WPE.
* BuildSlaveSupport/kill-old-processes:
(listAllWebKitPrograms):
(main):
2017-07-06 Chris Dumez <cdumez@apple.com>
FileMonitor should not be ref counted
https://bugs.webkit.org/show_bug.cgi?id=174166
Reviewed by Brent Fulgham.
Update the API tests to reflect the API change.
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::TEST_F):
2017-07-06 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r219194.
https://bugs.webkit.org/show_bug.cgi?id=174207
it broke some layout tests (Requested by clopez on #webkit).
Reverted changeset:
"[GStreamer] vid.me videos do not play"
https://bugs.webkit.org/show_bug.cgi?id=172240
http://trac.webkit.org/changeset/219194
2017-07-06 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r219178.
This caused a consistent failure with the API test
StringBuilderTest.ToAtomicStringOnEmpty on all Debug testers.
Reverted changeset:
"[WTF] Clean up StringStatics.cpp by using
LazyNeverDestroyed<> for Atoms"
https://bugs.webkit.org/show_bug.cgi?id=174150
http://trac.webkit.org/changeset/219178
2017-07-06 Alicia Boya García <aboya@igalia.com>
Add CWD to Perl library path (no longer the default since 5.26.0)
https://bugs.webkit.org/show_bug.cgi?id=174200
Reviewed by Michael Catanzaro.
* Scripts/webkitpy/tool/commands/setupgitclone.py:
(SetupGitClone._get_username_and_email):
2017-07-06 Gyuyoung Kim <gyuyoung.kim@webkit.org>
Unreviewed, update my email address.
* Scripts/webkitpy/common/config/contributors.json:
2017-07-06 Charlie Turner <cturner@igalia.com>
[GStreamer] vid.me videos do not play
https://bugs.webkit.org/show_bug.cgi?id=172240
Reviewed by Xabier Rodriguez-Calvar.
Build httpsoupsrc again for use in adaptive streaming pipelines, and
have the existing libsoup build against GNOME to avoid header drift
against GStreamer's linked Soup library.
* gtk/jhbuild.modules:
2017-07-05 Don Olmstead <don.olmstead@sony.com>
[WTF] Move SoftLinking.h into WTF
https://bugs.webkit.org/show_bug.cgi?id=174000
Reviewed by Alex Christensen.
* DumpRenderTree/mac/TestRunnerMac.mm:
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(test_primary_header):
(ErrorCollector.__init__): Deleted.
(ErrorCollector.__call__): Deleted.
(ErrorCollector.results): Deleted.
(ErrorCollector.result_list): Deleted.
(ErrorCollector.verify_all_categories_are_seen): Deleted.
(MockIo.open): Deleted.
(CppFunctionsTest.test_convert_to_lower_with_underscores): Deleted.
(CppFunctionsTest.test_create_acronym): Deleted.
(CppFunctionsTest.test_is_c_or_objective_c): Deleted.
(CppFunctionsTest.test_parameter): Deleted.
(CppFunctionsTest.test_single_line_view): Deleted.
(CppFunctionsTest.test_create_skeleton_parameters): Deleted.
(CppFunctionsTest.test_find_parameter_name_index): Deleted.
(CppFunctionsTest.test_parameter_list): Deleted.
(CppFunctionsTest.test_check_parameter_against_text): Deleted.
(CppStyleTestBase.process_file_data): Deleted.
(CppStyleTestBase.perform_lint): Deleted.
(CppStyleTestBase.perform_single_line_lint): Deleted.
(CppStyleTestBase.perform_multi_line_lint): Deleted.
(CppStyleTestBase.perform_language_rules_check): Deleted.
(CppStyleTestBase.perform_function_lengths_check): Deleted.
(CppStyleTestBase.perform_pass_ptr_check): Deleted.
(CppStyleTestBase.perform_leaky_pattern_check): Deleted.
(CppStyleTestBase.perform_include_what_you_use): Deleted.
(CppStyleTestBase.perform_header_guard_check): Deleted.
(CppStyleTestBase.assert_lint): Deleted.
(CppStyleTestBase.assert_lint_one_of_many_errors_re): Deleted.
(CppStyleTestBase.assert_multi_line_lint): Deleted.
(CppStyleTestBase.assert_multi_line_lint_re): Deleted.
(CppStyleTestBase.assert_language_rules_check): Deleted.
(CppStyleTestBase.assert_include_what_you_use): Deleted.
(CppStyleTestBase.assert_header_guard): Deleted.
(CppStyleTestBase.assert_blank_lines_check): Deleted.
(CppStyleTestBase.assert_positions_equal): Deleted.
(FunctionDetectionTest.test_basic_function_detection): Deleted.
(FunctionDetectionTest.test_function_declaration_detection): Deleted.
(FunctionDetectionTest.test_pure_function_detection): Deleted.
(FunctionDetectionTest.test_override_and_final_function_detection): Deleted.
(FunctionDetectionTest.test_ignore_macros): Deleted.
(FunctionDetectionTest.test_non_functions): Deleted.
(FunctionDetectionTest.test_non_functions.Stuff): Deleted.
(FunctionDetectionTest.test_parameter_list): Deleted.
(Cpp11StyleTest.test_rvaule_reference_in_parameter_pack): Deleted.
(CppStyleTest.test_asm_lines_ignored): Deleted.
(CppStyleTest.test_get_line_width): Deleted.
(CppStyleTest.test_find_next_multi_line_comment_start): Deleted.
(CppStyleTest.test_find_next_multi_line_comment_end): Deleted.
(CppStyleTest.test_remove_multi_line_comments_from_range): Deleted.
(CppStyleTest.test_position): Deleted.
(CppStyleTest.test_rfind_in_lines): Deleted.
(CppStyleTest.test_close_expression): Deleted.
(CppStyleTest.test_spaces_at_end_of_line): Deleted.
(CppStyleTest.test_cstyle_cast): Deleted.
(CppStyleTest.test_runtime_casting): Deleted.
(CppStyleTest.test_runtime_selfinit): Deleted.
(CppStyleTest.test_runtime_rtti): Deleted.
(CppStyleTest.test_static_cast_readability): Deleted.
(CppStyleTest.test_check_for_unnamed_params): Deleted.
(CppStyleTest.void): Deleted.
(CppStyleTest.test_deprecated_cast): Deleted.
(CppStyleTest.test_mock_method): Deleted.
(CppStyleTest.test_sizeof_type): Deleted.
(CppStyleTest.cases): Deleted.
(CppStyleTest.for): Deleted.
(CppStyleTest.test_typedef_for_pointer_to_function): Deleted.
(CppStyleTest.test_typedef_for_pointer_to_function.void): Deleted.
(CppStyleTest.test_include_what_you_use_no_implementation_files): Deleted.
(CppStyleTest.test_include_what_you_use): Deleted.
(CppStyleTest.test_files_belong_to_same_module): Deleted.
(CppStyleTest.test_cleanse_line): Deleted.
(CppStyleTest.test_multi_line_comments): Deleted.
(CppStyleTest.test_multi_line_comments.Foo): Deleted.
(CppStyleTest.test_multiline_strings): Deleted.
(CppStyleTest.test_platformh_comments): Deleted.
(CppStyleTest.test_explicit_single_argument_constructors): Deleted.
(CppStyleTest.test_explicit_single_argument_constructors.Foo): Deleted.
(CppStyleTest.test_explicit_single_argument_constructors.Qualifier): Deleted.
(CppStyleTest.test_explicit_single_argument_constructors.definition): Deleted.
(CppStyleTest.test_slash_star_comment_on_single_line): Deleted.
(CppStyleTest.test_suspicious_usage_of_if): Deleted.
(CppStyleTest.test_suspicious_usage_of_memset): Deleted.
(CppStyleTest.test_check_posix_threading): Deleted.
(CppStyleTest.test_insecure_string_operations): Deleted.
(CppStyleTest.test_format_strings): Deleted.
(CppStyleTest.test_insecure_temp_file): Deleted.
(CppStyleTest.test_variable_length_array_detection): Deleted.
(CppStyleTest.test_braces): Deleted.
(CppStyleTest.test_check_check): Deleted.
(CppStyleTest.test_brace_at_begin_of_line): Deleted.
(CppStyleTest.test_mismatching_spaces_in_parens): Deleted.
(CppStyleTest.test_spacing_for_fncall): Deleted.
(CppStyleTest.test_spacing_for_fncall.foo): Deleted.
(CppStyleTest.test_spacing_before_braces): Deleted.
(CppStyleTest.test_spacing_between_braces): Deleted.
(CppStyleTest.test_spacing_before_brackets): Deleted.
(CppStyleTest.test_cpp_lambda_functions): Deleted.
(CppStyleTest.test_objective_c_block): Deleted.
(CppStyleTest.test_objective_c_block_as_argument): Deleted.
(CppStyleTest.test_spacing_around_else): Deleted.
(CppStyleTest.test_spacing_for_binary_ops): Deleted.
(CppStyleTest.test_spacing_for_binary_ops.hash_map): Deleted.
(CppStyleTest.test_operator_methods): Deleted.
(CppStyleTest.test_spacing_in_objective_c_properties): Deleted.
(CppStyleTest.test_spacing_before_last_semicolon): Deleted.
(CppStyleTest.test_static_or_global_stlstrings): Deleted.
(CppStyleTest.test_no_spaces_in_function_calls): Deleted.
(CppStyleTest.test_one_spaces_between_code_and_comments): Deleted.
(CppStyleTest.test_one_spaces_after_punctuation_in_comments): Deleted.
(CppStyleTest.test_space_after_comment_marker): Deleted.
(CppStyleTest.test_newline_at_eof): Deleted.
(CppStyleTest.test_newline_at_eof.do_test): Deleted.
(CppStyleTest.test_extra_newlines_at_eof): Deleted.
(CppStyleTest.test_extra_newlines_at_eof.do_test): Deleted.
(CppStyleTest.test_invalid_utf8): Deleted.
(CppStyleTest.test_invalid_utf8.do_test): Deleted.
(CppStyleTest.test_is_blank_line): Deleted.
(CppStyleTest.test_blank_lines_check): Deleted.
(CppStyleTest.test_allow_blank_line_before_closing_namespace): Deleted.
(CppStyleTest.test_allow_blank_line_before_if_else_chain): Deleted.
(CppStyleTest.test_else_on_same_line_as_closing_braces): Deleted.
(CppStyleTest.test_else_clause_not_on_same_line_as_else): Deleted.
(CppStyleTest.test_comma): Deleted.
(CppStyleTest.test_declaration): Deleted.
(CppStyleTest.test_pointer_reference_marker_location): Deleted.
(CppStyleTest.test_indent): Deleted.
(CppStyleTest.test_indent.Foo): Deleted.
(CppStyleTest.test_not_alabel): Deleted.
(CppStyleTest.test_tab): Deleted.
(CppStyleTest.test_unnamed_namespaces_in_headers): Deleted.
(CppStyleTest.test_build_class): Deleted.
(CppStyleTest.test_build_class.definitions): Deleted.
(CppStyleTest.test_build_class.Foo): Deleted.
(CppStyleTest.test_build_class.DERIVE_FROM_GOO): Deleted.
(CppStyleTest.test_build_end_comment): Deleted.
(CppStyleTest.test_build_forward_decl): Deleted.
(CppStyleTest.test_build_forward_decl.Foo): Deleted.
(CppStyleTest.test_build_header_guard): Deleted.
(CppStyleTest.test_build_header_guard.Foo_h): Deleted.
(CppStyleTest.test_build_header_guard.Foo_h.for): Deleted.
(CppStyleTest.test_build_printf_format): Deleted.
(CppStyleTest.test_runtime_printf_format): Deleted.
(CppStyleTest.assert_lintLogCodeOnError): Deleted.
(CppStyleTest.test_build_storage_class): Deleted.
(CppStyleTest.test_build_storage_class.unsignedLongLong): Deleted.
(CppStyleTest.test_build_storage_class.declaration): Deleted.
(CppStyleTest.test_build_storage_class.after): Deleted.
(CppStyleTest.test_build_storage_class.is): Deleted.
(CppStyleTest.test_legal_copyright): Deleted.
(CppStyleTest.test_invalid_increment): Deleted.
(CppStyleTest.test_enum_bitfields): Deleted.
(CppStyleTest.test_plain_integral_bitfields): Deleted.
(CleansedLinesTest.test_init_empty): Deleted.
(CleansedLinesTest.test_collapse_strings): Deleted.
(OrderOfIncludesTest.tearDown): Deleted.
(OrderOfIncludesTest.test_check_next_include_order__no_config): Deleted.
(OrderOfIncludesTest.test_check_next_include_order__no_self): Deleted.
(OrderOfIncludesTest.test_check_next_include_order__likely_then_config): Deleted.
(OrderOfIncludesTest.test_check_next_include_order__other_then_config): Deleted.
(OrderOfIncludesTest.test_check_next_include_order__config_then_other_then_likely): Deleted.
(OrderOfIncludesTest.test_check_alphabetical_include_order): Deleted.
(OrderOfIncludesTest.test_check_alphabetical_include_order_errors_reported_for_both_lines): Deleted.
(OrderOfIncludesTest.test_check_line_break_after_own_header): Deleted.
(OrderOfIncludesTest.test_check_line_break_before_own_header): Deleted.
(OrderOfIncludesTest.test_check_preprocessor_in_include_section): Deleted.
(OrderOfIncludesTest.test_check_preprocessor_in_include_section.BAZ): Deleted.
(OrderOfIncludesTest.test_check_preprocessor_in_include_section.FOOBAR): Deleted.
(OrderOfIncludesTest.test_primary_header): Deleted.
(OrderOfIncludesTest.test_public_primary_header): Deleted.
(OrderOfIncludesTest.test_check_wtf_includes): Deleted.
(OrderOfIncludesTest.test_classify_include): Deleted.
(OrderOfIncludesTest.test_try_drop_common_suffixes): Deleted.
(CheckForFunctionLengthsTest.tearDown): Deleted.
(CheckForFunctionLengthsTest.set_min_confidence): Deleted.
(CheckForFunctionLengthsTest.assert_function_lengths_check): Deleted.
(CheckForFunctionLengthsTest.trigger_lines): Deleted.
(CheckForFunctionLengthsTest.trigger_test_lines): Deleted.
(CheckForFunctionLengthsTest.assert_function_length_check_definition): Deleted.
(CheckForFunctionLengthsTest.assert_function_length_check_definition_ok): Deleted.
(CheckForFunctionLengthsTest.assert_function_length_check_at_error_level): Deleted.
(CheckForFunctionLengthsTest.assert_function_length_check_below_error_level): Deleted.
(CheckForFunctionLengthsTest.assert_function_length_check_above_error_level): Deleted.
(CheckForFunctionLengthsTest.function_body): Deleted.
(CheckForFunctionLengthsTest.function_body_with_blank_lines): Deleted.
(CheckForFunctionLengthsTest.function_body_with_no_lints): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_declaration): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_declaration_with_block_following): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_class_definition): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_class_definition.Test): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_trivial): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_empty): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity0): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity0): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity0): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity1v0): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity1v0): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity1): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity1): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity1): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_plus_indented): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_plus_blanks): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_complex_definition_severity1): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_test): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_split_line_test): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_for_bad_test_doesnt_break): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_with_embedded_no_lints): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity1_with_no_lint): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity2): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity2): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity2): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity3): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity3): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity3): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity4): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_severity4): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity4): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_below_severity5): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_at_severity5): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_above_severity5): Deleted.
(CheckForFunctionLengthsTest.test_function_length_check_definition_huge_lines): Deleted.
(CheckForFunctionLengthsTest.test_function_length_not_determinable): Deleted.
(NoNonVirtualDestructorsTest.test_no_error): Deleted.
(NoNonVirtualDestructorsTest.test_no_error.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_no_error.MyClass): Deleted.
(NoNonVirtualDestructorsTest.test_no_error.Qualified): Deleted.
(NoNonVirtualDestructorsTest.test_no_destructor_when_virtual_needed): Deleted.
(NoNonVirtualDestructorsTest.test_no_destructor_when_virtual_needed.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_enum_casing): Deleted.
(NoNonVirtualDestructorsTest.test_enum_casing.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_enum_casing.Enum123): Deleted.
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon): Deleted.
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.CPP11EnumClass): Deleted.
(NoNonVirtualDestructorsTest.test_enum_trailing_semicolon.MyEnum): Deleted.
(NoNonVirtualDestructorsTest.test_destructor_non_virtual_when_virtual_needed): Deleted.
(NoNonVirtualDestructorsTest.test_destructor_non_virtual_when_virtual_needed.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_no_warn_when_derived): Deleted.
(NoNonVirtualDestructorsTest.test_no_warn_when_derived.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_internal_braces): Deleted.
(NoNonVirtualDestructorsTest.test_internal_braces.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor): Deleted.
(NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor.Foo.Goo): Deleted.
(NoNonVirtualDestructorsTest.test_inner_class_needs_virtual_destructor.Goo): Deleted.
(NoNonVirtualDestructorsTest.test_outer_class_needs_virtual_destructor): Deleted.
(NoNonVirtualDestructorsTest.test_outer_class_needs_virtual_destructor.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_outer_class_needs_virtual_destructor.Foo.Goo): Deleted.
(NoNonVirtualDestructorsTest.test_qualified_class_needs_virtual_destructor): Deleted.
(NoNonVirtualDestructorsTest.test_qualified_class_needs_virtual_destructor.Qualified): Deleted.
(NoNonVirtualDestructorsTest.test_multi_line_declaration_no_error): Deleted.
(NoNonVirtualDestructorsTest.test_multi_line_declaration_no_error.Foo): Deleted.
(NoNonVirtualDestructorsTest.test_multi_line_declaration_with_error): Deleted.
(NoNonVirtualDestructorsTest.test_multi_line_declaration_with_error.Foo): Deleted.
(LeakyPatternTest.assert_leaky_pattern_check): Deleted.
(LeakyPatternTest.test_get_dc): Deleted.
(LeakyPatternTest.test_get_dc.HWndDC): Deleted.
(LeakyPatternTest.test_own_get_dc): Deleted.
(LeakyPatternTest.test_create_dc): Deleted.
(LeakyPatternTest.test_create_compatible_dc): Deleted.
(WebKitStyleTest.test_indentation): Deleted.
(WebKitStyleTest.test_indentation.Foo): Deleted.
(WebKitStyleTest.test_indentation.Document): Deleted.
(WebKitStyleTest.test_spacing): Deleted.
(WebKitStyleTest.test_line_breaking): Deleted.
(WebKitStyleTest.test_braces): Deleted.
(WebKitStyleTest.test_braces.MyClass): Deleted.
(WebKitStyleTest.test_braces.NS_ENUM): Deleted.
(WebKitStyleTest.test_braces.CPP11EnumClass): Deleted.
(WebKitStyleTest.test_braces.SOMETHING): Deleted.
(WebKitStyleTest.test_null_false_zero): Deleted.
(WebKitStyleTest.test_directive_indentation): Deleted.
(WebKitStyleTest.test_using_std): Deleted.
(WebKitStyleTest.test_using_namespace): Deleted.
(WebKitStyleTest.test_max_macro): Deleted.
(WebKitStyleTest.test_min_macro): Deleted.
(WebKitStyleTest.test_wtf_move): Deleted.
(WebKitStyleTest.test_ctype_fucntion): Deleted.
(WebKitStyleTest.test_names): Deleted.
(WebKitStyleTest.test_names.HTMLDocument): Deleted.
(WebKitStyleTest.test_names.WebWindowFadeAnimation): Deleted.
(WebKitStyleTest.test_names.declarations): Deleted.
(WebKitStyleTest.test_names.struct): Deleted.
(WebKitStyleTest.test_names.VectorType): Deleted.
(WebKitStyleTest.test_parameter_names): Deleted.
(WebKitStyleTest.test_comments): Deleted.
(WebKitStyleTest.test_webkit_export_check): Deleted.
(WebKitStyleTest.test_member_initialization_list): Deleted.
(WebKitStyleTest.test_member_initialization_list.MyClass): Deleted.
(WebKitStyleTest.test_other): Deleted.
(CppCheckerTest.mock_handle_style_error): Deleted.
(CppCheckerTest._checker): Deleted.
(CppCheckerTest.test_init): Deleted.
(CppCheckerTest.test_eq): Deleted.
(CppCheckerTest.test_eq.mock_handle_style_error2): Deleted.
(CppCheckerTest.test_ne): Deleted.
* TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
2017-07-05 Saam Barati <sbarati@apple.com>
NewArray in FTLLowerDFGToB3 does not handle speculating on doubles when having a bad time
https://bugs.webkit.org/show_bug.cgi?id=174188
<rdar://problem/30581423>
Reviewed by Mark Lam.
* Scripts/run-jsc-stress-tests:
2017-07-05 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Clean up StringStatics.cpp by using LazyNeverDestroyed<> for Atoms
https://bugs.webkit.org/show_bug.cgi?id=174150
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
(TestWebKitAPI::TEST):
2017-07-03 Myles C. Maxfield <mmaxfield@apple.com>
Remove copy of ICU headers from WebKit
https://bugs.webkit.org/show_bug.cgi?id=116407
Reviewed by Alex Christensen.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
2017-07-05 Chris Dumez <cdumez@apple.com>
Regression(r218821): Bad cast to WebKit::DiagnosticLoggingClient in WKWebView's _setDiagnosticLoggingDelegate
https://bugs.webkit.org/show_bug.cgi?id=174163
<rdar://problem/33067518>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDiagnosticLogging.mm: Added.
(TEST):
2017-07-05 Wenson Hsieh <wenson_hsieh@apple.com>
When dragging a selection, clearing the selection in dragstart should not crash the web process
https://bugs.webkit.org/show_bug.cgi?id=174142
<rdar://problem/33067501>
Reviewed by Tim Horton.
Adds a unit test checking that the web process does not crash when the selection is cleared while a selection
drag is starting up.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-clear-selection.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-07-05 Daniel Bates <dabates@apple.com>
Do not pass API::FrameInfo for source frame or clear out page of target frame on
API navigation
https://bugs.webkit.org/show_bug.cgi?id=174170
<rdar://problem/33140328>
Reviewed by Brady Eidson.
Update tests as needed for the behavior change.
* TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm:
(TEST):
2017-07-05 Jonathan Bedard <jbedard@apple.com>
Add WebKitPrivateFrameworkStubs for iOS 11
https://bugs.webkit.org/show_bug.cgi?id=173988
Reviewed by David Kilzer.
* DumpRenderTree/mac/Configurations/Base.xcconfig: iphoneos and iphonesimulator
should use the same directory for private framework stubs.
* WebKitTestRunner/Configurations/Base.xcconfig: Ditto.
2017-07-05 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Protect request and web view during gUM client callback
https://bugs.webkit.org/show_bug.cgi?id=174096
<rdar://problem/32833102>
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/GetUserMediaNavigation.mm: New test.
2017-07-05 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, guard iOS 11-dependent UIPasteboardTests to be iOS 11+ only
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
2017-07-05 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r219128.
Spoke with engineer who originally submitted, Patch for APi
test to follow.
Reverted changeset:
"Unreviewed, rolling out r219070."
https://bugs.webkit.org/show_bug.cgi?id=174082
http://trac.webkit.org/changeset/219128
2017-07-05 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r219070.
This revision caused consistent failures of the API test
UIPasteboardTests.DoNotPastePlainTextAsURL on iOS.
Reverted changeset:
"Pasting single words copied to UIPasteboard inserts URLs in
editable areas"
https://bugs.webkit.org/show_bug.cgi?id=174082
http://trac.webkit.org/changeset/219070
2017-07-04 Michael Catanzaro <mcatanzaro@igalia.com>
Remove unused EFL logo from bot watcher dashboard
https://bugs.webkit.org/show_bug.cgi?id=174136
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL.png: Removed.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL@2x.png: Removed.
2017-07-04 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Add more GTK bots to dashboard
https://bugs.webkit.org/show_bug.cgi?id=174129
Reviewed by Carlos Alberto Lopez Perez.
We have a bunch of GTK bots that I never look at because they're not on the dashboard. Add
them.
This also changes the sort order to put WPE above GTK so that it's not buried under all the
less-essential GTK bots.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
2017-07-04 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] Add WPE to bot watcher dashboard
https://bugs.webkit.org/show_bug.cgi?id=174119
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/CREDIT: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.linux-wpe img.logo):
2017-07-03 Lucas Forschler <lforschler@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=174105
Reviewed by Stephanie Lewis.
* BuildSlaveSupport/built-product-archive:
(main): Add a -minify parser option
(createZip): Pass along the optional Minify argument if requested
(minifySource): This will trim down archives, logic limited to Mac platform.
2017-07-03 Matt Rajca <mrajca@apple.com>
Add/remove appropriate media element behavior restrictions when updateWebsitePolicies is called
https://bugs.webkit.org/show_bug.cgi?id=174103
Reviewed by Alex Christensen.
Added an API test.
* TestWebKitAPI/Tests/WebKit2/autoplay-check.html: Expose a pause method.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST): Added test.
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView stringByEvaluatingJavaScript:]): Don't simulate a user gesture when invoking the script.
2017-07-03 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r219103.
Caused multiple build failures.
Reverted changeset:
"Remove copy of ICU headers from WebKit"
https://bugs.webkit.org/show_bug.cgi?id=116407
http://trac.webkit.org/changeset/219103
2017-07-03 Myles C. Maxfield <mmaxfield@apple.com>
Remove copy of ICU headers from WebKit
https://bugs.webkit.org/show_bug.cgi?id=116407
Reviewed by Alex Christensen.
Use WTF's copy of ICU headers.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
2017-07-03 Brady Eidson <beidson@apple.com>
Switch all WebKit API related to favicons from WebIconDatabase over to new WebCore::IconLoader mechanism.
https://bugs.webkit.org/show_bug.cgi?id=174073
Reviewed by Andy Estes.
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setIconDatabaseEnabled): Call new SPI for this setting instead of WebIconDatabase stuff.
* TestWebKitAPI/Tests/mac/WebViewIconLoading.mm:
(-[MainFrameIconKVO observeValueForKeyPath:ofObject:change:context:]):
2017-07-03 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r219083.
The revision caused an API failure on all testing platforms.
Reverted changeset:
"[MediaStream] Protect request and web view during gUM client
callback"
https://bugs.webkit.org/show_bug.cgi?id=174096
http://trac.webkit.org/changeset/219083
2017-07-03 Jonathan Bedard <jbedard@apple.com>
webkitpy: Properly number duplicated crashlogs
https://bugs.webkit.org/show_bug.cgi?id=172002
Reviewed by Aakash Jain.
* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs._find_all_logs_darwin): Number multiple crash logs for a single process with
an increasing integer.
* Scripts/webkitpy/common/system/crashlogs_unittest.py:
(CrashLogsTest.create_crash_logs_darwin): Create duplicated crashlog for testing.
(CrashLogsTest.test_find_all_log_darwin): Now 7 Darwin logs instead of 5.
(CrashLogsTest.test_duplicate_log_darwin): Test that duplicated logs are correctly numbered.
2017-07-03 Ryosuke Niwa <rniwa@webkit.org>
WebContent processes crash when the network process crashes with pending connection requests
https://bugs.webkit.org/show_bug.cgi?id=174065
<rdar://problem/30359835>
Reviewed by Tim Horton.
Add a API to ensure UI process tries to relaunch a new network process when the network process
crashes with pending network connection requests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/NetworkProcessCrashWithPendingConnection.mm: Added.
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[TestNavigationDelegate webViewWebContentProcessDidTerminate:]): Added.
2017-07-03 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Protect request and web view during gUM client callback
https://bugs.webkit.org/show_bug.cgi?id=174096
<rdar://problem/32833102>
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/GetUserMediaNavigation.mm: New test.
2017-07-03 Andy Estes <aestes@apple.com>
[Xcode] Add an experimental setting to build with ccache
https://bugs.webkit.org/show_bug.cgi?id=173875
Reviewed by Tim Horton.
On systems that already have ccache(1) installed, this patch adds experimental support for
it to Xcode builds. It can be enabled with the WK_USE_CCACHE build setting.
When ccache is enabled, CC is overridden to invoke Tools/ccache/ccache-clang. This script
finds the "-isysroot" argument to determine the active SDK, uses xcrun(1) and the SDK to
find the toolchain from which to run clang, and then invokes ccache with the required
arguments.
ccache is invoked with CCACHE_SLOPPINESS="pch_defines,time_macros", which is required for
precompiled headers to work properly [1].
LDPLUSPLUS is overridden to invoke Tools/ccache/ccache-clang++. It behaves the same as
ccache-clang, except it tells ccache to execute clang++ instead of clang. This is important
during linking.
[1] https://ccache.samba.org/manual.html#_precompiled_headers
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Included ccache.xcconfig.
* MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
* MobileMiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
* TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
* WebKitTestRunner/Configurations/DebugRelease.xcconfig: Ditto.
* ccache/README.md: Added.
* ccache/ccache-clang: Added.
* ccache/ccache-clang++: Added.
* ccache/ccache.xcconfig: Added. Overrides CC and LDPLUSPLUS when WK_USE_CACHE=YES.
2017-07-03 Alex Christensen <achristensen@webkit.org>
REGRESSION(r215096) Queries of URLs with non-special schemes should not percent-encode single quotes
https://bugs.webkit.org/show_bug.cgi?id=174051
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2017-07-03 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r219024.
This patch cause 3 didferent test to fail.
Reverted changeset:
"REGRESSION(r215096) Queries of URLs with non-special schemes
should not percent-encode single quotes"
https://bugs.webkit.org/show_bug.cgi?id=174051
http://trac.webkit.org/changeset/219024
2017-07-03 Chris Dumez <cdumez@apple.com>
Drop ResourceLoadStatisticsStore's statisticsLock
https://bugs.webkit.org/show_bug.cgi?id=174080
Reviewed by Brent Fulgham.
Port WebKitTestRunner to new Asynchronous Cocoa SPI.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::isStatisticsPrevalentResource):
(WTR::TestController::isStatisticsHasHadUserInteraction):
(WTR::TestController::isStatisticsGrandfathered):
2017-07-03 Wenson Hsieh <wenson_hsieh@apple.com>
Pasting single words copied to UIPasteboard inserts URLs in editable areas
https://bugs.webkit.org/show_bug.cgi?id=174082
<rdar://problem/33046992>
Reviewed by Tim Horton.
Adds 3 new unit tests to UIPasteboardTests to test cases of pasting plain text and URLs.
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
(TestWebKitAPI::setUpWebViewForPasteboardTests):
(TestWebKitAPI::TEST):
2017-07-02 Brady Eidson <beidson@apple.com>
Add API test for all parts of WebKit1 API related to favicons.
https://bugs.webkit.org/show_bug.cgi?id=174069
Reviewed by Andy Estes.
These two API tests cover all WebKit1 API related to icons.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/WebViewIconLoading.mm: Added.
(mainResourceData):
(defaultFaviconData):
(customFaviconData):
(imageFromData):
(+[IconLoadingProtocol canInitWithRequest:]):
(+[IconLoadingProtocol canonicalRequestForRequest:]):
(-[IconLoadingProtocol startLoading]):
(-[IconLoadingProtocol stopLoading]):
(-[IconLoadingFrameLoadDelegate webView:didReceiveIcon:forFrame:]):
(-[MainFrameIconKVO observeValueForKeyPath:ofObject:change:context:]):
(TestWebKitAPI::TEST):
2017-07-01 Dan Bernstein <mitz@apple.com>
[iOS] Remove code only needed when building for iOS 9.x
https://bugs.webkit.org/show_bug.cgi?id=174068
Reviewed by Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator _createIOHIDEventType:]):
2017-07-01 Brady Eidson <beidson@apple.com>
When setting a custom cookie storage location on a WKWebsiteDataStore, cookies aren't actually removed.
<rdar://problem/32410662> and https://bugs.webkit.org/show_bug.cgi?id=174035
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
2017-07-01 Dan Bernstein <mitz@apple.com>
[macOS] Remove code only needed when building for OS X Yosemite
https://bugs.webkit.org/show_bug.cgi?id=174067
Reviewed by Tim Horton.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setDefaultsToConsistentValuesForTesting):
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
(-[DumpRenderTreeDraggingInfo resetSpringLoading]):
* MiniBrowser/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
* TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm:
* TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/mac/StringTruncator.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):
* WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:
(-[WebKitTestRunnerDraggingInfo resetSpringLoading]):
2017-07-01 Chris Dumez <cdumez@apple.com>
Replace ResourceLoadStatisticsStore C API with Cocoa SPI
https://bugs.webkit.org/show_bug.cgi?id=174060
Reviewed by Brent Fulgham.
Port WebKitTestRunner over to the new Cocoa SPI.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
(WTR::TestRunner::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
Drop calls to the WKResourceLoadStatisticsStore C API here. Those were
no-ops since this code runs in the WebContent process, not the
UIProcess.
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2017-06-30 Megan Gardner <megan_gardner@apple.com>
Unreviewed mac build fix.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm:
(TestWebKitAPI::TEST):
2017-06-30 Megan Gardner <megan_gardner@apple.com>
Add API to get WKActivatedElementInfo
https://bugs.webkit.org/show_bug.cgi?id=174001
<rdar://problem/29165518>
Tests for now SPI to get activatedElementInfo.
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm: Added.
(TestWebKitAPI::TEST):
2017-06-30 Chris Dumez <cdumez@apple.com>
Move store logic from WebResourceLoadStatisticsManager to WebResourceLoadStatisticsStore
https://bugs.webkit.org/show_bug.cgi?id=174038
Reviewed by Brent Fulgham.
Fix typo in API name.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-06-30 Alex Christensen <achristensen@webkit.org>
REGRESSION(r215096) Queries of URLs with non-special schemes should not percent-encode single quotes
https://bugs.webkit.org/show_bug.cgi?id=174051
<rdar://problem/33002846>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2017-06-30 Daniel Bates <dabates@apple.com>
API::FrameInfo should know the web page that contains the frame; add API property webView to WKFrameInfo
https://bugs.webkit.org/show_bug.cgi?id=165160
<rdar://problem/29451999>
Reviewed by Brady Eidson.
Add tests to ensure that -[WKFrameInfo webView] is computed correctly for the source and target frame
for navigations and window creation.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm: Added. Derived from file ShouldOpenExternalURLsInNewWindowActions.mm.
(-[DecidePolicyForNavigationActionController webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[DecidePolicyForNavigationActionController webView:didFinishNavigation:]):
(-[DecidePolicyForNavigationActionController webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(TEST):
2017-06-29 Jer Noble <jer.noble@apple.com>
Make Legacy EME API controlled by RuntimeEnabled setting.
https://bugs.webkit.org/show_bug.cgi?id=173994
Reviewed by Sam Weinig.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-06-30 Jonathan Bedard <jbedard@apple.com>
Follow-up fix for r218996
Unreviewed infrastructure fix.
Repeated calls to 'ios_version' make the log noisy, memoize the function.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort): Memoize ios_version().
2017-06-30 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Drag caret rect is incorrectly computed when dropping in editable content in iframes
https://bugs.webkit.org/show_bug.cgi?id=174017
<rdar://problem/32959782>
Reviewed by Simon Fraser.
Add a new test verifying that the drag caret is visually contained within the bounds of an iframe. Before these
changes, the caret would appear outside of the iframe.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-in-iframe.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkDragCaretRectIsContainedInRect):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _resetSimulatedState]):
(-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator lastKnownDragCaretRect]):
2017-06-30 Jonathan Bedard <jbedard@apple.com>
Add support for different versions of iOS when loading test expectations
https://bugs.webkit.org/show_bug.cgi?id=173774
<rdar://problem/32951132>
Rubber-stamped by Aakash Jain.
When running layout tests, we should support multiple version of iOS the same way we do Mac.
* Scripts/webkitpy/port/ios.py:
(IOSPort.default_baseline_search_path): Add ios-<major version> test expectation.
(IOSPort.test_expectations_file_position): Added new file expectations, increment expected file position.
(IOSPort.ios_version): iOS ports must define a function to retrieve the iOS version.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.ios_version): Ask connected devices for implementation.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_additional_platform_directory): Skip test until bug 173775 is finished.
(IOSDeviceTest.test_baseline_searchpath): Ditto.
(IOSDeviceTest.test_expectations_ordering): Ditto.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.ios_version): If a runtime is specified, ask the runtime for the iOS version. Otherwise,
ask the platform.
2017-06-30 Jacobo Aragunde Pérez <jaragunde@igalia.com>
Fontconfig build breaks with glibc 2.15+
https://bugs.webkit.org/show_bug.cgi?id=174019
Reviewed by Carlos Alberto Lopez Perez.
Apply patch by Khem Raj adapted to fontconfig 2.11.1.
* wpe/jhbuild.modules:
* wpe/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS-18.patch: Added.
2017-06-29 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Web content process crashes when the selection is moved far offscreen in dragstart
https://bugs.webkit.org/show_bug.cgi?id=174010
<rdar://problem/32597802>
Reviewed by Tim Horton.
Adds a new API test to ensure that we don't crash trying to dereference a null RefPtr when the TextIndicator
snapshot fails for any reason.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-change-selection-offscreen.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-06-29 Chris Fleizach <cfleizach@apple.com>
AX: Cannot call setValue() on contenteditable or ARIA text controls
https://bugs.webkit.org/show_bug.cgi?id=173520
Reviewed by Ryosuke Niwa.
Add setValue() method to WKTR (already existed in DRT).
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::setValue):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setValue):
2017-06-28 Simon Fraser <simon.fraser@apple.com>
getBoundingClientRect returns wrong value for combination of page zoom and scroll
https://bugs.webkit.org/show_bug.cgi?id=173841
rdar://problem/32983841
Reviewed by Dean Jackson.
Make "Zoom In" and "Zoom Out" work correctly in the WebKit1 window. Previously they
always did text zooming.
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController zoomIn:]):
(-[WK1BrowserWindowController zoomOut:]):
(-[WK1BrowserWindowController canResetZoom]):
(-[WK1BrowserWindowController resetZoom:]):
2017-06-29 John Wilander <wilander@apple.com>
Fix for intermittent Layout Test fail http/tests/loading/resourceLoadStatistics/telemetry-generation.html
https://bugs.webkit.org/show_bug.cgi?id=173940
<rdar://problem/33018125>
Reviewed by Brent Fulgham.
This change allows the TestController to turn off
regular resource load statistics telemetry submission
and to manually control when telemetry is calculated
and submitted.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
Turns off automatic resource load statistics telemetry submission.
2017-06-29 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r218512.
https://bugs.webkit.org/show_bug.cgi?id=173981
"It changes the behavior of the JS API's JSEvaluateScript
which breaks TurboTax" (Requested by saamyjoon on #webkit).
Reverted changeset:
"test262: Completion values for control flow do not match the
spec"
https://bugs.webkit.org/show_bug.cgi?id=171265
http://trac.webkit.org/changeset/218512
2017-06-29 Jonathan Bedard <jbedard@apple.com>
Add WebKitSystemInterface for iOS 11
https://bugs.webkit.org/show_bug.cgi?id=173936
Reviewed by Lucas Forschler.
* Scripts/copy-webkitlibraries-to-product-directory: Copy iOS 11 WebKitSystemInterface libraries.
2017-06-28 Keith Miller <keith_miller@apple.com>
VMTraps has some races
https://bugs.webkit.org/show_bug.cgi?id=173941
Reviewed by Michael Saboff.
Add new testing mode for testing the Watchdog with our stress
tests.
* Scripts/run-jsc-stress-tests:
2017-06-29 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Implement API::IconLoadingClient and rework WebKitFaviconDatabase to use IconDatabase directly
https://bugs.webkit.org/show_bug.cgi?id=173877
Reviewed by Brady Eidson.
Update favicons unit test to ensure we wait until the database is updated in testGetFavicon() before starting
the next tests.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
(testGetFavicon):
2017-06-28 Tim Horton <timothy_horton@apple.com>
MobileSafari was constantly using 10-15% CPU viewing a PDF
https://bugs.webkit.org/show_bug.cgi?id=173944
<rdar://problem/33039910>
Reviewed by Simon Fraser.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewStablePresentationUpdateCallback.mm:
Add a test that we ever call the stable presentation update callback
when we have a WKPDFView up, instead of infinitely looping.
2017-06-28 Alex Christensen <achristensen@webkit.org>
Prevent displaying URLs with small capital letters
https://bugs.webkit.org/show_bug.cgi?id=173949
<rdar://problem/32952058>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2017-06-28 Brent Fulgham <bfulgham@apple.com>
Unreviewed test fix.
Disable the file monitor tests on iOS because the 'system' API is unavailable on that platform.
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
2017-06-28 Brent Fulgham <bfulgham@apple.com>
Teach ResourceLoadStatistics to recognize changes in the file system
https://bugs.webkit.org/show_bug.cgi?id=173800
<rdar://problem/32937842>
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/FileMonitor.cpp: Added.
(TestWebKitAPI::FileMonitorTest::tempFilePath):
(TestWebKitAPI::handleFileModification):
(TestWebKitAPI::handleFileDeletion):
(TestWebKitAPI::resetTestState):
(TestWebKitAPI::TEST_F):
2017-06-28 Brady Eidson <beidson@apple.com>
DocumentLoader should always notify the client if there are pending icon loads when the load is stopped.
https://bugs.webkit.org/show_bug.cgi?id=173874
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:
2017-06-28 Don Olmstead <don.olmstead@sony.com>
Unreviewed, adding Don Olmstead to contributors.json
* Scripts/webkitpy/common/config/contributors.json:
2017-06-28 Alex Christensen <achristensen@webkit.org>
WebsitePolicies given with navigation policy for redirects should apply to the provisional document
https://bugs.webkit.org/show_bug.cgi?id=173886
<rdar://problem/32543191>
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(ParsedRange::ParsedRange):
(-[TestSchemeHandler initWithVideoData:]):
(-[TestSchemeHandler webView:startURLSchemeTask:]):
(-[TestSchemeHandler webView:stopURLSchemeTask:]):
(TEST):
2017-06-27 JF Bastien <jfbastien@apple.com>
WebAssembly: running out of executable memory should throw OoM
https://bugs.webkit.org/show_bug.cgi?id=171537
<rdar://problem/32963338>
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests: add a configuration which runs the
tests under limited executable memory and avoids non-WebAssembly
code generation so that we more reliably run out of executable
memory in WebAssembly.
2017-06-27 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Support dragging out of contenteditable areas without a prior selection
https://bugs.webkit.org/show_bug.cgi?id=173854
<rdar://problem/32236827>
Reviewed by Ryosuke Niwa and Tim Horton.
Adds a new test to check that an image can be dragged out of a contenteditable and dropped.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-target.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-06-27 Don Olmstead <don.olmstead@sony.com>
[PAL] Add symbol export macros for PAL
https://bugs.webkit.org/show_bug.cgi?id=171519
Reviewed by Konstantin Tokarev.
* DumpRenderTree/config.h:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/config.h:
* WebKitTestRunner/config.h:
2017-06-27 John Wilander <wilander@apple.com>
Resource Load Statistics: Add telemetry
https://bugs.webkit.org/show_bug.cgi?id=173499
<rdar://problem/32826094>
Reviewed by Brent Fulgham.
Adds three new testRunner functions:
- installStatisticsDidRunTelemetryCallback()
- statisticsFireTelemetryHandler()
- setStatisticsNotifyPagesWhenTelemetryWasCaptured()
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::installStatisticsDidRunTelemetryCallback):
(WTR::TestRunner::statisticsDidRunTelemetryCallback):
(WTR::TestRunner::statisticsFireTelemetryHandler):
(WTR::TestRunner::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::statisticsFireTelemetryHandler):
(WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-06-27 Ting-Wei Lan <lantw44@gmail.com>
Add missing includes to fix compilation error on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=172919
Reviewed by Mark Lam.
* ImageDiff/cairo/PlatformImageCairo.cpp:
2017-06-26 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r218783.
Causing accessibility/mac/setting-attributes-is-
asynchronous.html to crash consistently on mac-wk2 Debug
Reverted changeset:
"AX: Cannot call setValue() on contenteditable or ARIA text
controls"
https://bugs.webkit.org/show_bug.cgi?id=173520
http://trac.webkit.org/changeset/218783
2017-06-26 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Drop Thread::create(obsolete things) API since we can use lambda
https://bugs.webkit.org/show_bug.cgi?id=173825
Reviewed by Saam Barati.
* DumpRenderTree/JavaScriptThreading.cpp:
(runJavaScriptThread):
(startJavaScriptThreads):
* DumpRenderTree/mac/DumpRenderTree.mm:
(runThread):
(runPthread):
(testThreadIdentifierMap):
2017-06-26 David Kilzer <ddkilzer@apple.com>
[TestWebKitAPI] Fix false-positive bad release warnings found by clang static analyzer
<https://webkit.org/b/173837>
Reviewed by Geoffrey Garen.
The clang static analyzer can't reason about objects that are
assigned to a delegate as +1 retained, and then released
later in a different method when the delegate is cleared.
Instead, use a common idiom where the object setting the
delegate retains it as an instance variable on initialization.
Then the same object clears the delegate and releases its
instance variable during teardown.
Also add EXPECT_TRUE() tests to make sure the delegate objects
match before teardown.
* TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:
(TestWebKitAPI::FullscreenZoomInitialFrame::initializeView):
(TestWebKitAPI::FullscreenZoomInitialFrame::teardownView):
* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
(TestWebKitAPI::PageVisibilityStateWithWindowChanges::initializeView):
(TestWebKitAPI::PageVisibilityStateWithWindowChanges::teardownView):
2017-06-26 David Kilzer <ddkilzer@apple.com>
[TestWebKitAPI] REGRESSION (r218750): Fix leak of NSURLResponse in WKURLSchemeHandler-1.mm
<https://webkit.org/b/173836>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
(-[RedirectSchemeHandler webView:startURLSchemeTask:]): Use
adoptNS() to fix the leak. Also use auto/adoptNS() for other
objects in this test.
2017-06-26 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] Add support for aria-details and aria-errormessage
https://bugs.webkit.org/show_bug.cgi?id=172588
Reviewed by Chris Fleizach.
Add additional methods to test ARIA properties which are exposed via
AtkRelation. Also bump minimum versions of at-spi2-core and at-spi2-atk
to versions which support the details and error-message relation types.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex):
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex):
* gtk/jhbuild.modules:
2017-06-26 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Add libfii to GTK+ install dependencies script.
* gtk/install-dependencies:
2017-06-25 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, rolling out r215190.
Broke product select element on GNOME Bugzilla
Reverted changeset:
"[GTK] Misplaced right click menu on web page due to
deprecated gtk_menu_popup()"
https://bugs.webkit.org/show_bug.cgi?id=170553
http://trac.webkit.org/changeset/215190
2017-06-24 Joseph Pecoraro <pecoraro@apple.com>
Remove Reflect.enumerate
https://bugs.webkit.org/show_bug.cgi?id=173806
Reviewed by Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
2017-06-24 Chris Fleizach <cfleizach@apple.com>
AX: Cannot call setValue() on contenteditable or ARIA text controls
https://bugs.webkit.org/show_bug.cgi?id=173520
Reviewed by Ryosuke Niwa.
Add setValue() method to WKTR (already existed in DRT).
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::setValue):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setValue):
2017-06-23 Keith Miller <keith_miller@apple.com>
Switch VMTraps to use halt instructions rather than breakpoint instructions
https://bugs.webkit.org/show_bug.cgi?id=173677
Reviewed by JF Bastien.
* TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
(TEST):
2017-06-23 Youenn Fablet <youenn@apple.com>
Set getUserMedia permission to true by default on WTR
https://bugs.webkit.org/show_bug.cgi?id=173610
Reviewed by Alex Christensen.
Adding a way to reset the getUserMedia permission to pending.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::setUserMediaPermissionAsUnset):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUserMediaPermissionAsUnset):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::setUserMediaPermissionAsUnset):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2017-06-23 Alex Christensen <achristensen@webkit.org>
Add SPI to WKURLSchemeTask for redirection
https://bugs.webkit.org/show_bug.cgi?id=173730
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
(-[SchemeHandler webView:startURLSchemeTask:]):
(-[SchemeHandler webView:stopURLSchemeTask:]):
(TEST):
(-[RedirectSchemeHandler webView:startURLSchemeTask:]):
(-[RedirectSchemeHandler webView:stopURLSchemeTask:]):
(-[RedirectSchemeHandler webView:didReceiveServerRedirectForProvisionalNavigation:]):
(-[RedirectSchemeHandler webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[RedirectSchemeHandler userContentController:didReceiveScriptMessage:]):
2017-06-23 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Use JSC API to send script messages from web extension in tests
https://bugs.webkit.org/show_bug.cgi?id=173757
Reviewed by Žan Doberšek.
The GTK+ uses DOM bindings to send the messages. We can just build the message string and use JSEvaluateScript
to run postMessage().
Fixes: /wpe/WebKitSecurityManager/file-xhr
/wpe/WebKitConsoleMessage/console-api
/wpe/WebKitConsoleMessage/js-exception
/wpe/WebKitConsoleMessage/network-error
/wpe/WebKitConsoleMessage/security-error
* TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
(testWebKitConsoleMessageSecurityError): Remove ifdefs.
(beforeAll): Ditto.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextSecurityFileXHR): Ditto.
(beforeAll): Ditto.
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(consoleMessageSentCallback): Use JSEvaluateScript in WPE. We need to escape the '"' in the message string.
(pageCreatedCallback): Remove ifdefs.
2017-06-23 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix WPE /wpe/WebKitWebView/javascript-dialogs and /wpe/WebKitWebView/window-properties
Skip onbeforeunload dialog tests for now in WPE since we don't have a implemention for
simulateUserInteraction(). And do not expect changes in "geometry" property of WebKitWindowProperties that
doesn't exist yet in WPE.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewJavaScriptDialogs):
(testWebViewWindowProperties):
2017-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Upgrade pixman and cairo in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=173710
Reviewed by Carlos Alberto Lopez Perez.
* gtk/jhbuild.modules:
2017-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r218686): [GTK] Several unit tests are failing after r218686 in the bots
https://bugs.webkit.org/show_bug.cgi?id=173711
Reviewed by Carlos Alberto Lopez Perez.
I can't reproduce it locally, but it's complaining about a g_setenv() and I only added one in r218686 to recover
the XDG_RUNTIME_DIR, because it's required by Wayland to work. So, I guess that env var is not set in the bots.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp:
(WebKitTestBus::run): Ensure value is not nullptr before calling g_setenv().
2017-06-22 David Kilzer <ddkilzer@apple.com>
REGRESSION (r218419): 7 leaks in PluginLoadClientPolicies.mm
<https://webkit.org/b/173721>
Reviewed by Joseph Pecoraro.
Use RetainPtr<> to create NSMutableDictionary and NSNumber
objects to fix leaks and to avoid the autoreleasepool.
* TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm:
(TEST):
2017-06-22 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r218633.
The test is failing frequently on Sierra Debug and Windows
Reverted changeset:
"AX: Cannot call setValue() on contenteditable or ARIA text
controls"
https://bugs.webkit.org/show_bug.cgi?id=173520
http://trac.webkit.org/changeset/218633
2017-06-22 David Kilzer <ddkilzer@apple.com>
[TestWebKitAPI] Fix misuse of -[NSData dataWithBytesNoCopy:length:] with global variables
<https://webkit.org/b/173690>
Reviewed by Chris Dumez.
Per documentation, -[NSData dataWithBytesNoCopy:length:] takes
ownership of malloc()-ed memory, then frees it when it's
released. These tests were passing global variables into the
method, which is not malloc()-ed memory, which violates the API
contract.
The fix is to switch to use
-[NSData dataWithBytesNoCopy:length:freeWhenDone:] and to pass
NO for the last argument.
Caught by the clang static analyzer.
* TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
(TEST):
2017-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Upgrade Harfbuzz to version 1.4.2
https://bugs.webkit.org/show_bug.cgi?id=173592
Reviewed by Carlos Alberto Lopez Perez.
* gtk/jhbuild.modules:
2017-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Update WPEBackend-mesa
https://bugs.webkit.org/show_bug.cgi?id=173705
Reviewed by Carlos Alberto Lopez Perez.
A crash has been fixed, needed for unit tests to work.
* wpe/jhbuild.modules:
2017-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
Remove unused coordinated graphics C API
https://bugs.webkit.org/show_bug.cgi?id=173706
Reviewed by Žan Doberšek.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewRestoreZoomAndScrollBackForward.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewUserViewportToContents.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/backforward1.html: Removed.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/backforward2.html: Removed.
2017-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Build glib API tests
https://bugs.webkit.org/show_bug.cgi?id=173702
Reviewed by Žan Doberšek.
Many of the tests pass without problems, others need to be investigated, and some others are known issues. The
main difference between the GTK+ and WPE WebKitWebView is that in GTK+ it's a GtkWidget, so initially
unowned. The tests assume that webkit_web_view_new methods return a floating reference. This patch adds
Test::adoptView() method that returns a GRefPtr<WebKitWebView> with a different implementation in GTK+ and
WPE. In the case of GTK+, it sinks the floating reference, while in WPE it simply adopts the reference. Another
difference is that in GTK+ the web view is initially hidden and needs to be added to a window to make it
visible. Also, some tests need the web view to be realized to work, and others need that the view is added to a
toplevel window, instead of a popup window. All those things are not needed at all in WPE. I've added several
#ifdefs with FIXME comments for the things that we know don't work in WPE yet, for example, because we haven't
implemented the methods to send events to the web view. Those will be removed eventually when we fix the issues
and implement the missing features.
* CMakeLists.txt:
* TestWebKitAPI/Tests/WebKit2Gtk/EditorTest.cpp:
* TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
(testAutomationSessionRequestSession):
* TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
(testWebKitWebViewSessionState):
(testWebKitWebViewSessionStateWithFormData):
(testWebKitWebViewNavigationAfterSessionRestore):
* TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerEphemeral):
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(testBlobDownload):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
(testProcessPerWebView):
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewCreateNavigationData):
(testWebViewJavaScriptDialogs):
(testWebViewWindowProperties):
(testWebViewMouseTarget):
(testWebViewGeolocationPermissionRequests):
(testWebViewUserMediaPermissionRequests):
(testWebViewAudioOnlyUserMediaPermissionRequests):
(testWebViewFileChooserRequest):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
(testPrivateBrowsing):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
(testFindControllerHide):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
(testWebViewNewWithUserContentManager):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextEphemeral):
(testWebContextProxySettings):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewWebContext):
(testWebViewWebContextLifetime):
(testWebViewEphemeral):
(testWebViewSettings):
(testWebViewCanShowMIMEType):
(testWebViewPageVisibility):
(testWebViewIsPlayingAudio):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataEphemeral):
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(documentLoadedCallback):
(pageCreatedCallback):
(methodCallCallback):
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h:
* TestWebKitAPI/glib/CMakeLists.txt:
* TestWebKitAPI/glib/PlatformGTK.cmake:
* TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp:
* TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
(main):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::adoptView):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp:
(WebKitTestBus::run):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::~WebViewTest):
(WebViewTest::initializeWebView):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
* TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp: Added.
(WebViewTest::platformDestroy):
(WebViewTest::platformInitializeWebView):
(WebViewTest::quitMainLoopAfterProcessingPendingEvents):
(WebViewTest::resizeView):
(WebViewTest::hideView):
(parentWindowMapped):
(WebViewTest::showInWindow):
(WebViewTest::showInWindowAndWaitUntilMapped):
(WebViewTest::mouseMoveTo):
(WebViewTest::clickMouseButton):
(WebViewTest::emitPopupMenuSignal):
(WebViewTest::keyStroke):
(WebViewTest::doMouseButtonEvent):
* TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp: Copied from Tools/TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h.
(WebViewTest::platformDestroy):
(WebViewTest::platformInitializeWebView):
(WebViewTest::quitMainLoopAfterProcessingPendingEvents):
(WebViewTest::resizeView):
(WebViewTest::hideView):
(WebViewTest::mouseMoveTo):
(WebViewTest::clickMouseButton):
(WebViewTest::keyStroke):
2017-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Move WebKit2 GLib API tests to glib directories
https://bugs.webkit.org/show_bug.cgi?id=173642
Reviewed by Žan Doberšek.
* CMakeLists.txt:
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/resources/webkit2gtk-tests.gresource.xml: Removed.
* TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestConsoleMessage.cpp.
(testWebKitConsoleMessageNetworkError):
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp.
(testLoadFromGResource):
* TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFindController.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSecurityOrigin.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp.
(testWebViewRunJavaScript):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp.
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp.
(registerGResource):
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp.
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h.
* TestWebKitAPI/Tests/WebKitGLib/resources/blank.ico: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/blank.ico.
* TestWebKitAPI/Tests/WebKitGLib/resources/boring.html: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/boring.html.
* TestWebKitAPI/Tests/WebKitGLib/resources/link-title.js: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/link-title.js.
* TestWebKitAPI/Tests/WebKitGLib/resources/silence.mpg: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/silence.mpg.
* TestWebKitAPI/Tests/WebKitGLib/resources/simple.json: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/simple.json.
* TestWebKitAPI/Tests/WebKitGLib/resources/test-cert.pem: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/test-cert.pem.
* TestWebKitAPI/Tests/WebKitGLib/resources/test-key.pem: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/test-key.pem.
* TestWebKitAPI/Tests/WebKitGLib/resources/test.pdf: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/test.pdf.
* TestWebKitAPI/Tests/WebKitGLib/resources/track.ogg: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/track.ogg.
* TestWebKitAPI/Tests/WebKitGLib/resources/webkitglib-tests.gresource.xml: Added.
* TestWebKitAPI/glib/CMakeLists.txt: Added.
* TestWebKitAPI/glib/PlatformGTK.cmake: Added.
* TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp.
* TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.h.
* TestWebKitAPI/glib/WebKitGLib/TestMain.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp.
(registerGResource):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h.
(Test::getResourcesDir):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.h.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.cpp.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.h.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h.
2017-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Add initial web extensions API
https://bugs.webkit.org/show_bug.cgi?id=173640
Reviewed by Žan Doberšek.
Add style checker exceptions for WPE web extensions API files.
* Scripts/webkitpy/style/checker.py:
2017-06-21 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] [WK2] Cancelling a drag interaction using the ObjC SPI causes subsequent dragging to fail
https://bugs.webkit.org/show_bug.cgi?id=173659
<rdar://problem/32879788>
Reviewed by Tim Horton.
Adds a new test to verify that a lift cancelled within the UI process does not cause subsequent dragging to fail.
* TestWebKitAPI/Tests/WebKit2Cocoa/link-and-target-div.html:
Augment this test page to log dragend and dragstart events on the drag source as well.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkStringArraysAreEqual):
(TestWebKitAPI::TEST):
2017-06-21 Antoine Quint <graouts@apple.com>
Ensure DRT always logs rAF suspension debugging code
https://bugs.webkit.org/show_bug.cgi?id=173681
Reviewed by Tim "Mr. T" Horton.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
2017-06-21 Chris Dumez <cdumez@apple.com>
Allow constructing a WTF:Function from a function pointer
https://bugs.webkit.org/show_bug.cgi?id=173660
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WTF/Function.cpp:
(TestWebKitAPI::returnThree):
(TestWebKitAPI::returnFour):
(TestWebKitAPI::returnPassedValue):
(TestWebKitAPI::TEST):
2017-06-21 Antoine Quint <graouts@apple.com>
Add logging to identify when the Page suspends scripted animations
https://bugs.webkit.org/show_bug.cgi?id=173626
Reviewed by Tim Horton.
Turn the new logging on for WK1/DRT since the issue we're trying to pinpoint only occurs on WK1 bots.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
2017-06-21 Chris Fleizach <cfleizach@apple.com>
AX: Cannot call setValue() on contenteditable or ARIA text controls
https://bugs.webkit.org/show_bug.cgi?id=173520
Reviewed by Ryosuke Niwa.
Add setValue() method to WKTR (already existed in DRT).
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::setValue):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setValue):
2017-06-21 Zan Dobersek <zdobersek@igalia.com>
List libtasn1 packages in GTK+ and WPE install-dependencies scripts
as one of the dependencies required to build the product.
Rubber-stamped by Carlos Garcia Campos.
* gtk/install-dependencies:
* wpe/install-dependencies:
2017-06-20 Myles C. Maxfield <mmaxfield@apple.com>
Disable font variations on macOS Sierra and iOS 10
https://bugs.webkit.org/show_bug.cgi?id=173618
<rdar://problem/32879164>
Reviewed by Jon Lee.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-06-20 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] [WK2] Remove custom logic for disambiguating long press action sheet gestures and drag lift
https://bugs.webkit.org/show_bug.cgi?id=173578
<rdar://problem/32825028>
Reviewed by Tim Horton.
Slight tweak to ensure that DataInteractionTests.CustomActionSheetPopover still passes and verifies that showing
a custom popover does not cause dragging to fail when the popover is presented.
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _advanceProgress]):
2017-06-20 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Add initial implementation of glib API
https://bugs.webkit.org/show_bug.cgi?id=173546
Reviewed by Žan Doberšek.
Disable geolocation because WPE doesn't implement any provider and update the style checker exceptions to
include WPE glib API files.
* Scripts/webkitperl/FeatureList.pm:
* Scripts/webkitpy/style/checker.py:
* Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
2017-06-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Upgrade to ICU to version 57.1
https://bugs.webkit.org/show_bug.cgi?id=173538
Reviewed by Žan Doberšek.
* gtk/jhbuild.modules:
2017-06-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Remove unneeded modules from the jhbuild
https://bugs.webkit.org/show_bug.cgi?id=170540
Reviewed by Michael Catanzaro.
We are building libxslt and libffi that we don't really need to build from sources.
* gtk/jhbuild.modules:
2017-06-19 Frederic Wang <fwang@igalia.com>
[Mac] Add an experimental feature setting for async frame scrolling
https://bugs.webkit.org/show_bug.cgi?id=173359
Reviewed by Simon Fraser.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures): Do not enable async frame scrolling for now.
(resetWebPreferencesToConsistentValues): Disable async frame scrolling by default.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting): Initalize to async frame scrolling to false.
2017-06-19 Guillaume Emont <guijemont@igalia.com>
Unreviewed, adding myself to contributors.json
* Scripts/webkitpy/common/config/contributors.json:
2017-06-19 Joseph Pecoraro <pecoraro@apple.com>
test262: Completion values for control flow do not match the spec
https://bugs.webkit.org/show_bug.cgi?id=171265
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests:
Include a :failDueToOutdatedOrBadTest to mark failures with justification.
2017-06-19 Zalan Bujtas <zalan@apple.com>
Opening certain mails brings up a mail that grows indefinitely.
https://bugs.webkit.org/show_bug.cgi?id=173562
<rdar://problem/32766579>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
(TEST):
2017-06-19 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Support .zip archives for file uploads via drag and drop
https://bugs.webkit.org/show_bug.cgi?id=173511
<rdar://problem/32521025>
Reviewed by Tim Horton.
Adds tests for dropping .zip archives into a JavaScript-based file upload area, as well as into a file input.
Also verifies that URLs are not handled as file drops. See WebCore ChangeLog for more details.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/compressed-files.zip: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(testZIPArchive):
(TestWebKitAPI::TEST):
2017-06-18 Darin Adler <darin@apple.com>
Fix Ref to deref before assignment, add tests for this to RefPtr, Ref, Function
https://bugs.webkit.org/show_bug.cgi?id=173526
Reviewed by Sam Weinig.
* TestWebKitAPI/CMakeLists.txt: Added Function.cpp.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
* TestWebKitAPI/Tests/WTF/Function.cpp: Added. Contains basic tests and some
tests for assignment before destruction ones.
* TestWebKitAPI/Tests/WTF/MoveOnly.h: Added a () operator so this can be used
as a function, so it can be used in WTF::Function tests.
* TestWebKitAPI/Tests/WTF/Ref.cpp: Use EXPECT macros insead of ASSERT.
Added tests for swap and for assignment before deref.
* TestWebKitAPI/Tests/WTF/RefLogger.cpp: Stopped using inlining; no good reason
to inline everything. Also removed the unnecessary clearing of the log every time
the DerivedRefLogger constructor is called.
* TestWebKitAPI/Tests/WTF/RefLogger.h: Ditto.
* TestWebKitAPI/Tests/WTF/RefPtr.cpp: Use EXPECT macros instead of ASSERT.
Added tests for assignment before deref and similar for releaseNonNull.
2017-06-19 Sam Weinig <sam@webkit.org>
[WebIDL] Properly model buffer source / typed arrays as their own IDL types
https://bugs.webkit.org/show_bug.cgi?id=173513
Reviewed by Alex Christensen.
* DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
* WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
Replace IsNonPointerType subroutine with IsPrimitiveType so we can remove IsNonPointerType.
2017-06-19 Per Arne Vollan <pvollan@apple.com>
[Win] fast/dom/assign-to-window-status.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=173512
Reviewed by Alex Christensen.
We should not dump status callbacks when test is done.
* DumpRenderTree/win/UIDelegate.cpp:
(UIDelegate::setStatusText):
2017-06-19 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE][JHBuild] Update WPEBackend-mesa
https://bugs.webkit.org/show_bug.cgi?id=173433
Unreviewed.
Update WPEBackend-mesa back (like it was done originally in r218344)
after fixing the issue with the DISPLAY environment variables that
caused the crashes.
* wpe/jhbuild.modules:
2017-06-19 Carlos Alberto Lopez Perez <clopez@igalia.com>
Rename unit test file after r218482
https://bugs.webkit.org/show_bug.cgi?id=173483
Unreviewed.
* Scripts/webkitpy/port/waylanddriver_unittest.py: Renamed from Tools/Scripts/webkitpy/port/wayland_unittest.py.
2017-06-19 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix wrong style checker condition added in r218487.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
2017-06-19 Adrian Perez de Castro <aperez@igalia.com>
Missing <functional> includes make builds fail with GCC 7.x
https://bugs.webkit.org/show_bug.cgi?id=173544
Unreviewed gardening.
Fix compilation with GCC 7.
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
* TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h:
2017-06-19 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Move GTK+ API files that could be shared to glib dirs
https://bugs.webkit.org/show_bug.cgi?id=173545
Reviewed by Žan Doberšek.
Update paths of GTK+ API in watchlist and style checker.
* Scripts/webkitpy/common/config/watchlist:
* Scripts/webkitpy/style/checker.py:
* Scripts/webkitpy/style/checkers/cpp.py:
(check_identifier_name_in_declaration):
2017-06-19 Carlos Alberto Lopez Perez <clopez@igalia.com>
Port setup_environ_for_server should not set environment variables related with the driver.
https://bugs.webkit.org/show_bug.cgi?id=173483
Reviewed by Carlos Garcia Campos.
The port setup_environ_for_server() should not set environment variables
that depend on the type of driver (like DISPLAY or GDK_BACKEND).
This varibles should be only set on the driver setup_environ_for_test().
This causes that (for example) the variable DISPLAY or XAUTHORITY leaks
into the test environment even when running the tests with a driver
that is not the Xorg or Xvfb one.
* Scripts/webkitpy/port/base.py: Stop setting XAUTHORITY and DISPLAY here.
(Port.to.setup_environ_for_server):
* Scripts/webkitpy/port/driver.py: Remove unneded WEBKIT_OUTPUTDIR that is already set on base.py
(Driver._setup_environ_for_driver):
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_setup_environ_for_test):
(DriverTest):
(DriverTest.test_setup_environ_base_vars):
* Scripts/webkitpy/port/gtk.py: Stop setting GDK_BACKEND here and do that on the driver (Xvfb).
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wayland_unittest.py: Added.
(WaylandDriverTest):
(WaylandDriverTest.make_driver):
(WaylandDriverTest.make_environment):
(WaylandDriverTest.test_checkdriver):
(WaylandDriverTest.test_environment_needed_variables):
(WaylandDriverTest.test_environment_forbidden_variables):
(WaylandDriverTest.test_environment_optional_variables):
* Scripts/webkitpy/port/waylanddriver.py: Allow the driver to run also with WAYLAND_SOCKET.
(WaylandDriver.check_driver):
(WaylandDriver._setup_environ_for_test):
* Scripts/webkitpy/port/xorgdriver.py:
(XorgDriver.check_driver):
(XorgDriver._setup_environ_for_test):
* Scripts/webkitpy/port/xorgdriver_unittest.py: Added.
(XorgDriverTest):
(XorgDriverTest.make_driver):
(XorgDriverTest.make_environment):
(XorgDriverTest.test_checkdriver):
(XorgDriverTest.test_environment_needed_variables):
(XorgDriverTest.test_environment_forbidden_variables):
(XorgDriverTest.test_environment_optional_variables):
* Scripts/webkitpy/port/xvfbdriver.py:
(XvfbDriver._setup_environ_for_test):
* Scripts/webkitpy/port/xvfbdriver_unittest.py:
(XvfbDriverTest.assertDriverStartSuccessful):
2017-05-14 Frederic Wang <fwang@igalia.com>
Add heuristic to avoid flattening "fullscreen" iframes
https://bugs.webkit.org/show_bug.cgi?id=171914
Reviewed by Simon Fraser.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues): Use WebKitFrameFlatteningDisabled.
2017-06-18 Chris Dumez <cdumez@apple.com>
Crash when re-entering MediaDevicesEnumerationRequest::cancel()
https://bugs.webkit.org/show_bug.cgi?id=173522
<rdar://problem/31185739>
Reviewed by Darin Adler.
Add API test for re-entering Function's assignment operators.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Function.cpp: Added.
(TestWebKitAPI::TestObject::TestObject):
(TestWebKitAPI::TestObject::~TestObject):
(TestWebKitAPI::TestObject::operator()):
(TestWebKitAPI::TEST):
2017-06-16 Dan Bernstein <mitz@apple.com>
[Cocoa] Some declarations have missing or incorrect availability attributes
https://bugs.webkit.org/show_bug.cgi?id=173508
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/ios/PositionInformationTests.mm:
(TestWebKitAPI::TEST): Updated for renames.
2017-06-16 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Upstream iOS drag and drop implementation into OpenSource WebKit
https://bugs.webkit.org/show_bug.cgi?id=173366
<rdar://problem/32767014>
Reviewed by Tim Horton.
Move test pages and pieces of DataInteractionSimulator hidden behind WebKitAdditions into TestWebKitAPI. No
change in behavior.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-textarea.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/div-and-large-image.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/file-uploading.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/link-and-target-div.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/prevent-operation.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/prevent-start.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/textarea-to-input.html: Added.
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[MockDragDropSession initWithItems:location:window:]):
(-[MockDragDropSession allowsMoveOperation]):
(-[MockDragDropSession isRestrictedToDraggingApplication]):
(-[MockDragDropSession hasItemsConformingToTypeIdentifiers:]):
(-[MockDragDropSession canLoadObjectsOfClass:]):
(-[MockDragDropSession canLoadObjectsOfClasses:]):
(-[MockDragDropSession items]):
(-[MockDragDropSession setItems:]):
(-[MockDragDropSession locationInView:]):
(-[MockDataOperationSession initWithProviders:location:window:]):
(-[MockDataOperationSession session]):
(-[MockDataOperationSession isLocal]):
(-[MockDataOperationSession progress]):
(-[MockDataOperationSession setProgressIndicatorStyle:]):
(-[MockDataOperationSession progressIndicatorStyle]):
(-[MockDataOperationSession operationMask]):
(-[MockDataOperationSession localDragSession]):
(-[MockDataOperationSession hasItemsConformingToTypeIdentifier:]):
(-[MockDataOperationSession canCreateItemsOfClass:]):
(-[MockDataOperationSession loadObjectsOfClass:completion:]):
(-[MockDataInteractionSession initWithWindow:]):
(-[MockDataInteractionSession localOperationMask]):
(-[MockDataInteractionSession externalOperationMask]):
(-[MockDataInteractionSession session]):
(-[DataInteractionSimulator _advanceProgress]):
2017-06-16 Alex Christensen <achristensen@webkit.org>
Show punycode to user if a URL has dotless i or j followed by diacritic dot
https://bugs.webkit.org/show_bug.cgi?id=173431
Reviewed by Darin Adler.
* TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2017-06-16 Chris Dumez <cdumez@apple.com>
[WK2] Add WKProcessPool SPI to efficiently reset all plugin load client policies
https://bugs.webkit.org/show_bug.cgi?id=173472
<rdar://problem/28858817>
Reviewed by Brady Eidson.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm: Added.
(TEST):
2017-06-16 Brady Eidson <beidson@apple.com>
REGRESSION (r218015) IconLoaders for already-cached resources expect to be asynchronous, no longer are.
<rdar://problem/32817519> and https://bugs.webkit.org/show_bug.cgi?id=173478
Reviewed by Daniel Bates.
* TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:
2017-06-16 Chris Dumez <cdumez@apple.com>
DRT fails to reset page visibility between tests
https://bugs.webkit.org/show_bug.cgi?id=173485
Reviewed by Alexey Proskuryakov.
DRT fails to reset page visibility between tests and relies on tests calling testRunner.resetPageVisibility().
Fix this to address flakiness.
I confirmed this by commenting out the call to testRunner.resetPageVisibility() in
fast/events/page-visibility-onvisibilitychange.html and running the test in a loop.
The test became flaky without the DRT change and was no longer flaky with the DRT
change.
WebKitTestRunner already does this.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
2017-06-16 Alex Christensen <achristensen@webkit.org>
Implement basic authentication in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=173443
Reviewed by Tim Horton.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController webView:didReceiveAuthenticationChallenge:completionHandler:]):
2017-06-16 Jer Noble <jer.noble@apple.com>
[WebRTC] Removing a MediaStreamTrack from a MediaStream reports no recording to WebKit clients
https://bugs.webkit.org/show_bug.cgi?id=173398
<rdar://problem/32592961>
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Added.
(-[MediaStreamTrackDetachedUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[MediaStreamTrackDetachedUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(-[MediaStreamTrackDetachedUIDelegate _webView:mediaCaptureStateDidChange:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Added.
2017-06-16 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r218375.
The API test MediaStreamTrackDetached is still timing out
after the patch
Reverted changeset:
"[WebRTC] Removing a MediaStreamTrack from a MediaStream
reports no recording to WebKit clients"
https://bugs.webkit.org/show_bug.cgi?id=173398
http://trac.webkit.org/changeset/218375
2017-06-15 Jer Noble <jer.noble@apple.com>
[WebRTC] Removing a MediaStreamTrack from a MediaStream reports no recording to WebKit clients
https://bugs.webkit.org/show_bug.cgi?id=173398
<rdar://problem/32592961>
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Added.
(-[MediaStreamTrackDetachedUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[MediaStreamTrackDetachedUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(-[MediaStreamTrackDetachedUIDelegate _webView:mediaCaptureStateDidChange:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Added.
2017-06-15 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r218365.
The revision caused API timeouts on all builds.
Reverted changeset:
"[WebRTC] Removing a MediaStreamTrack from a MediaStream
reports no recording to WebKit clients"
https://bugs.webkit.org/show_bug.cgi?id=173398
http://trac.webkit.org/changeset/218365
2017-06-15 Jer Noble <jer.noble@apple.com>
[WebRTC] Removing a MediaStreamTrack from a MediaStream reports no recording to WebKit clients
https://bugs.webkit.org/show_bug.cgi?id=173398
<rdar://problem/32592961>
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Added.
(-[MediaStreamTrackDetachedUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[MediaStreamTrackDetachedUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(-[MediaStreamTrackDetachedUIDelegate _webView:mediaCaptureStateDidChange:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Added.
2017-06-15 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r218344): [WPE] Thousands of layout test crashes
https://bugs.webkit.org/show_bug.cgi?id=173433
Unreviewed.
* wpe/jhbuild.modules: Revert the update of WPEBackend-mesa.
2017-06-15 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE] The run-minibrowser script should allow to execute also a WPE launcher
https://bugs.webkit.org/show_bug.cgi?id=173061
Reviewed by Žan Doberšek.
Launch dyz <https://github.com/Igalia/dyz> with the script
run-minibrowser for the wpe port. It is now built as part of the
WPE dependencies with JHBuild.
* Scripts/run-minibrowser:
* Scripts/webkitdirs.pm:
(launcherPath):
(launcherName):
* wpe/install-dependencies: Luajit is needed for building dyz.
* wpe/jhbuild.modules: Add dyz and update the revision for WPEBackend-mesa.
2017-06-15 Wenson Hsieh <wenson_hsieh@apple.com>
Using -[WebItemProviderPasteboard setItemProviders:] to swap out item providers before a drop breaks item provider loading
https://bugs.webkit.org/show_bug.cgi?id=173338
<rdar://problem/32777720>
Reviewed by Tim Horton.
Adds new unit tests to ensure that -_webView:willPerformDropWithSession: can be used to filter out drag items
used by WebKit when handling a drop. These tests ensure that WebItemProviderPasteboard is still able to handle
these remaining items on drop.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
Add -overridePerformDropBlock, which can be set to provide custom handling of dropped items.
(-[DataInteractionSimulator _webView:willPerformDropWithSession:]):
2017-06-15 Per Arne Vollan <pvollan@apple.com>
[Win] Crash in accessibility layout test.
https://bugs.webkit.org/show_bug.cgi?id=173401
Reviewed by Brent Fulgham.
We should not manually release the punkVal IUnknown member in a _variant_t object, since the punkVal
member will be automatically released when the _variant_t object goes out of scope if the vt member
does not equal VT_UNKNOWN | VT_BYREF.
See https://msdn.microsoft.com/en-us/library/windows/desktop/ms221165(v=vs.85).aspx.
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::titleUIElement):
2017-06-15 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add API to allow overriding popup menus
https://bugs.webkit.org/show_bug.cgi?id=172905
Reviewed by Michael Catanzaro.
Add a unit test to check the new API.
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
* TestWebKitAPI/Tests/WebKit2Gtk/TestOptionMenu.cpp: Added.
(OptionMenuTest::OptionMenuTest):
(OptionMenuTest::~OptionMenuTest):
(OptionMenuTest::destroyMenu):
(OptionMenuTest::showOptionMenuCallback):
(OptionMenuTest::menuCloseCallback):
(OptionMenuTest::showOptionMenu):
(OptionMenuTest::clickAtPositionAndWaitUntilOptionMenuShown):
(OptionMenuTest::close):
(OptionMenuTest::activateItem):
(OptionMenuTest::selectItem):
(testOptionMenuSimple):
(testOptionMenuGroups):
(testOptionMenuActivate):
(testOptionMenuSelect):
(beforeAll):
(afterAll):
2017-06-15 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] DumpRenderTree.cpp: error C3861: 'CFURLCacheCreate': identifier not found
https://bugs.webkit.org/show_bug.cgi?id=173399
Reviewed by Per Arne Vollan.
OpenCFLite doesn't have CFURLCacheCreate and CFURLCacheSetSharedURLCache.
Curl port needs to do nothing because libcurl doesn't have disk cache.
* DumpRenderTree/win/DumpRenderTree.cpp:
(prepareConsistentTestingEnvironment): Call CFURLCacheCreate() and
CFURLCacheSetSharedURLCache() only if USE(CFURLCONNECTION).
2017-06-14 Tomas Popela <tpopela@redhat.com>
[GTK] integer expression expected if running Tools/gtk/install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=173356
Reviewed by Michael Catanzaro.
Use the correct operator to compare the strings.
* gtk/install-dependencies:
2017-06-14 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r218285.
https://bugs.webkit.org/show_bug.cgi?id=173391
API test fails on iOS (Requested by alexchristensen on
#webkit).
Reverted changeset:
"Add SPI for immediate injection of user scripts"
https://bugs.webkit.org/show_bug.cgi?id=173342
http://trac.webkit.org/changeset/218285
2017-06-14 Chris Dumez <cdumez@apple.com>
WebKit falsely reports that a web process is unresponsive if you close a page shortly after stopping a load
https://bugs.webkit.org/show_bug.cgi?id=173384
<rdar://problem/32723779>
Reviewed by Dan Bernstein.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/ResponsivenessTimer.cpp: Added.
Add API test coverage.
* TestWebKitAPI/cocoa/UtilitiesCocoa.mm:
(TestWebKitAPI::Util::sleep):
Update implementation of Util::sleep() so that we actually run the run loop.
Otherwise, we don't process events while sleeping.
2017-06-14 Alex Christensen <achristensen@webkit.org>
Add SPI for immediate injection of user scripts
https://bugs.webkit.org/show_bug.cgi?id=173342
<rdar://problem/29202285>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
(waitForMessage):
(TEST):
2017-06-14 Claudio Saavedra <csaavedra@igalia.com>
Add WPE to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=173365
Reviewed by Carlos Alberto Lopez Perez.
* TestResultServer/static-dashboards/builders.jsonp:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
(resetGlobals):
* TestResultServer/static-dashboards/loader_unittests.js:
2017-06-14 Brady Eidson <beidson@apple.com>
WKIconLoadingDelegate never gets asked about the default favicon if touch/touch-precomposed icons are in the <head>
<rdar://problem/32614328> and https://bugs.webkit.org/show_bug.cgi?id=173376
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm: Added.
(-[IconLoadingDelegate webView:shouldLoadIconWithParameters:completionHandler:]):
(-[IconLoadingSchemeHandler initWithData:mimeType:]):
(-[IconLoadingSchemeHandler webView:startURLSchemeTask:]):
(-[IconLoadingSchemeHandler webView:stopURLSchemeTask:]):
(TEST):
2017-06-14 Tim Horton <timothy_horton@apple.com>
WKContentViewEditingActions API test always fails
https://bugs.webkit.org/show_bug.cgi?id=173374
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKContentViewEditingActions.mm:
(TEST):
selectAll isn't working, because canPerformAction for selectAll returns NO
if selectionIsNone (which is true in the non-contenteditable case).
Instead, make use of r218180's test page, which knows how to select itself.
Also, reset the pasteboard at the beginning of the test to reduce confusion
(I landed the test broken because my simulator had the correct text
stuck in its pasteboard).
2017-06-14 Jonathan Bedard <jbedard@apple.com>
Configure screen scale for running layout tests on plus devices
https://bugs.webkit.org/show_bug.cgi?id=173319
Reviewed by Tim Horton.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Include UIKitTestSPI.h in project.
* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpRenderTree): Set screen scale to 2.0.
* TestRunnerShared/spi/UIKitTestSPI.h: Copied from Tools/WebKitTestRunner/ios/UIKitSPI.h,
add _setScale for UIScreen.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Include UIKitTestSPI.h in project.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: Import UIKitTestSPI.h instead of UIKitSPI.h.
* WebKitTestRunner/ios/HIDEventGenerator.h: Ditto.
* WebKitTestRunner/ios/HIDEventGenerator.mm: Ditto.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm: Ditto.
* WebKitTestRunner/ios/TestControllerIOS.mm: Ditto.
(WTR::TestController::platformInitialize): Set screen scale to 2.0.
* WebKitTestRunner/ios/UIKitSPI.h: Moved to TestRunnerShared/spi/UIKitTestSPI.h.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm: Import UIKitTestSPI.h instead of UIKitSPI.h.
* WebKitTestRunner/ios/mainIOS.mm: Ditto.
2017-06-14 Alexey Proskuryakov <ap@apple.com>
Add iOS 11 support to the bot watcher's dashboard
https://bugs.webkit.org/show_bug.cgi?id=173369
Reviewed by Lucas Forschler.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
2017-06-14 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] Raise the timeout values for layout tests
https://bugs.webkit.org/show_bug.cgi?id=173368
Reviewed by Carlos Garcia Campos.
Raise the values to 15 seconds in Release builds and 30 seconds (2x) in Debug builds.
When running under valgrind a 10x multiplier is applied.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.default_timeout_ms):
* Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_default_timeout_ms):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.default_timeout_ms):
* Scripts/webkitpy/port/wpe_unittest.py: Copied from Tools/Scripts/webkitpy/port/gtk_unittest.py.
(WPEPortTest):
(WPEPortTest.make_port):
(WPEPortTest.test_default_timeout_ms):
(WPEPortTest.test_get_crash_log):
2017-06-14 Alex Christensen <achristensen@webkit.org>
Test persistent WKHTTPCookieStorages on iOS.
https://bugs.webkit.org/show_bug.cgi?id=173284
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(TEST):
Make the bots green again for now. There's still a problem, and I'll investigate and fix.
2017-06-14 Per Arne Vollan <pvollan@apple.com>
[Win] DRT should not use disk cache.
https://bugs.webkit.org/show_bug.cgi?id=173361
Reviewed by Darin Adler.
Like on macOS/iOS, DRT on Windows should only use memory cache.
* DumpRenderTree/win/DumpRenderTree.cpp:
(setDefaultsToConsistentValuesForTesting):
(prepareConsistentTestingEnvironment):
2017-06-14 Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
MediaSource duration attribute should not be equal to Infinity when set to a value greater than 2^64
https://bugs.webkit.org/show_bug.cgi?id=171668
Reviewed by Jer Noble.
MediaSource duration attribute is a double represented in MediaSource by a MediaTime instance created with
MediaTime::CreateWithDouble(). This method implements an overflow control mechanism which sets MediaTime to
Infinity when the double value passed as argument is greater than 2^64.
This patch removes the overflow control mechanism when time value is represented as a double. This patch also
modifies the behavior of mathematical operations between a double MediaTime and rational MediaTime: the rational
MediaTime is converted to a double before applying the operation. Double MediaTime precision is the same as for
double. Overflow mechanisms still apply to the conversion of a double MediaTime to rational with setTimescale()
method. No behavior change for rational MediaTime.
* TestWebKitAPI/Tests/WTF/MediaTime.cpp: Add tests to check operation results between double and rational MediaTime.
(TestWebKitAPI::TEST):
2017-06-13 Alex Christensen <achristensen@webkit.org>
Test persistent WKHTTPCookieStorages on iOS
https://bugs.webkit.org/show_bug.cgi?id=173284
<rdar://problem/32260156>
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(TEST):
2017-06-13 Matt Rajca <mrajca@apple.com>
WebsitePolicies: let clients select specific autoplay quirks
https://bugs.webkit.org/show_bug.cgi?id=173343
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST): Updated tests.
2017-06-13 Daniel Bates <dabates@apple.com>
Implement W3C Secure Contexts Draft Specification
https://bugs.webkit.org/show_bug.cgi?id=158121
<rdar://problem/26012994>
Reviewed by Brent Fulgham.
Part 4
Expose the isSecureContext attribute by default in DumpRenderTree and WebKitTestRunner.
Teach DumpRenderTree for Mac and WebKitTestRunner to parse the test option enableIsSecureContextAttribute
to toggle the runtime enabled feature flag isSecureContextAttributeEnabled.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions):
2017-06-13 Alex Christensen <achristensen@webkit.org>
Test persistent WKHTTPCookieStorages on iOS
https://bugs.webkit.org/show_bug.cgi?id=173284
<rdar://problem/32260156>
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(TEST):
2017-06-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Blob download doesn't work
https://bugs.webkit.org/show_bug.cgi?id=172442
Reviewed by Carlos Alberto Lopez Perez.
Add a unit test to check blob downloads.
* TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
(testBlobDownload):
(beforeAll):
2017-06-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Do not include WTR, DumpRendererTree and ImageDiff in tarballs
https://bugs.webkit.org/show_bug.cgi?id=173316
Reviewed by Alex Christensen.
It's not really possible to run layout tests from the tarball, so it's better not to include those files.
* gtk/manifest.txt.in:
2017-06-13 Carlos Garcia Campos <cgarcia@igalia.com>
[WTR] Crash in WebGeolocationManagerProxy::~WebGeolocationManagerProxy() when running several tests
https://bugs.webkit.org/show_bug.cgi?id=173315
Reviewed by Darin Adler.
This has started to happen after r218165, but I don't think it's a regression, but that r218165 revealed the bug
somehow in WTR. The problem is that GeolocationProviderMock keeps a pointer to the WKGeolocationManagerRef
returned by WKContextGetGeolocationManager. But in TestController::generatePageConfiguration() the context is
freed before the GeolocationProviderMock. When the GeolocationProviderMock is then destroyed, it calls
WKGeolocationManagerSetProvider(m_geolocationManager, 0); but the WKGeolocationManagerRef has already been
destroyed. GeolocationProviderMock should keep a reference to the WKContext to ensure the
WKGeolocationManagerRef is not destroyed.
* WebKitTestRunner/GeolocationProviderMock.cpp:
(WTR::GeolocationProviderMock::GeolocationProviderMock):
* WebKitTestRunner/GeolocationProviderMock.h:
2017-06-13 Wenson Hsieh <wenson_hsieh@apple.com>
Unable to paste text that was copied from a page into the universal search field
https://bugs.webkit.org/show_bug.cgi?id=173293
<rdar://problem/32440918>
Reviewed by Ryosuke Niwa.
Adds 2 new unit tests for copying plain and rich selected web content.
See WebCore and WebKit ChangeLogs for more detail.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/rich-and-plain-text.html: Added.
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: Added.
(TestWebKitAPI::dataForPasteboardType):
(TestWebKitAPI::setUpWebViewForPasteboardTests):
(TestWebKitAPI::TEST):
2017-06-13 Joanmarie Diggs <jdiggs@igalia.com>
AX: [ATK] Implement missing AtkRelation types
https://bugs.webkit.org/show_bug.cgi?id=155494
Reviewed by Darin Adler.
Add additional methods to test ARIA properties which are exposed via
AtkRelation. Implement ATK support for ariaOwnsElementAtIndex().
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
(WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaLabelledByElementAtIndex):
(WTR::AccessibilityUIElement::ariaLabelledByReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByElementAtIndex):
(WTR::AccessibilityUIElement::ariaDescribedByReferencingElementAtIndex):
2017-06-12 Daniel Bates <dabates@apple.com>
Add unit tests for SecurityOrigin::IsPotentiallyTrustworthy()
https://bugs.webkit.org/show_bug.cgi?id=173286
<rdar://problem/32726102>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
(TestWebKitAPI::TEST_F):
2017-06-12 Lucas Forschler <lforschler@apple.com>
<rdar://problem/32683422>
Teach copy-webkitlibraries-to-product-directory script about updated libraries.
Reviewed by Conrad Schultz.
* Scripts/copy-webkitlibraries-to-product-directory:
2017-06-12 Tim Horton <timothy_horton@apple.com>
[iOS] Cmd-C doesn't copy text from WKWebView
https://bugs.webkit.org/show_bug.cgi?id=173277
<rdar://problem/32396742>
Reviewed by Dan Bernstein.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tests/WebKit2Cocoa/WKContentViewEditingActions.mm:
Add a test ensuring that -copy on WKContentView will cause text to be copied.
2017-06-12 Jiewen Tan <jiewen_tan@apple.com>
[WebCrypto] Remove experimental feature flag of SubtleCrypto
https://bugs.webkit.org/show_bug.cgi?id=173197
<rdar://problem/32688148>
Reviewed by Brent Fulgham.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setSubtleCryptoEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-06-12 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Allow the injected bundle to add client data when writing an image to the pasteboard
https://bugs.webkit.org/show_bug.cgi?id=173238
<rdar://problem/31943370>
Reviewed by Ryosuke Niwa and Tim Horton.
Add a new unit test to verify that data inserted by the injected bundle when beginning a drag on an image
element is plumbed across to the UI delegate. Also refactors injected bundle unit tests to use the new version
of adjustedDataInteractionItemProvidersForItemProvider: that takes representing objects and additional data.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
(-[DataInteractionSimulator _webView:adjustedDataInteractionItemProviders:]): Deleted.
2017-06-12 Wenson Hsieh <wenson_hsieh@apple.com>
WebItemProviderPasteboard should call its completion block immediately after a synchronous load
https://bugs.webkit.org/show_bug.cgi?id=173225
<rdar://problem/32713144>
Reviewed by Tim Horton.
Adds a new unit test to verify whether the completion block is called synchronously or asynchronously, in both
cases where the synchronous timeout is very large, and the synchronous timeout is not used (0).
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-06-12 Jonathan Bedard <jbedard@apple.com>
Return correct process names for iOS on-device testing
https://bugs.webkit.org/show_bug.cgi?id=173263
Reviewed by Alex Christensen.
When running tests on iOS devices, process names do not end with '.Development'
as they do on Mac and iOS simulator.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::webProcessName): Return correct process name without '.Development'
for iOS on-device testing.
(WTR::TestController::networkProcessName): Ditto.
(WTR::TestController::databaseProcessName): Ditto.
2017-06-12 Chris Dumez <cdumez@apple.com>
Regression(r217867): Legacy SessionHistoryEntryData format should not change
https://bugs.webkit.org/show_bug.cgi?id=173267
<rdar://problem/32701257>
Reviewed by Simon Fraser.
Restrict test to stop covering saving / restore of scrollRestoration via the legacy
SessionHistoryEntryData. Maintain coverage for the default value of scrollRestoration
though as this covers the crash that r217867 was fixing.
* TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp:
(TestWebKitAPI::createSessionStateData):
(TestWebKitAPI::TEST):
(TestWebKitAPI::createSessionStateDataContainingScrollRestoration): Deleted.
2017-06-12 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Stop dismissing menus attached to the web view for every injected event
https://bugs.webkit.org/show_bug.cgi?id=172708
Reviewed by Alex Christensen.
It's a workaround we added in r184015 that has worked so far for the context menu, but doesn't really work now
that we also attach popup menus to the web view. We really need to be able to show a popup menu, and then send
events while the menu is open.
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::contextClick): Use WKBundlePageCopyContextMenuAtPointInWindow() also in GTK+ port.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::EventSenderProxy::dispatchEvent): Stop calling PlatformWebView::dismissAllPopupMenus().
2017-06-12 Miguel Gomez <magomez@igalia.com>
[GTK][WPE] Enable GStreamer GL on development builds
https://bugs.webkit.org/show_bug.cgi?id=173248
Enable GStreamer GL for GTK and WPE.
Reviewed by Carlos Garcia Campos.
* Scripts/webkitperl/FeatureList.pm:
2017-06-12 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/notification after r216641.
Notifications are no longer cleared on page navigation.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewNotification):
2017-06-11 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ test /webkit2/WebKitAutomationSession/request-session after r217831.
DBus interface and object path names were updated in r217831.
* TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp:
2017-06-10 Dan Bernstein <mitz@apple.com>
Reverted r218056 because it made the IDE reindex constantly.
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* ImageDiff/cg/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* WebEditingTester/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
2017-06-10 Dan Bernstein <mitz@apple.com>
[Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
https://bugs.webkit.org/show_bug.cgi?id=173223
Reviewed by Sam Weinig.
The rebuilds were happening due to a difference in the compiler options that the IDE and
xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
specify an appropriate path in CLANG_INDEX_STORE_PATH.
* ContentExtensionTester/Configurations/DebugRelease.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* ImageDiff/cg/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* MobileMiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* WebEditingTester/Configurations/DebugRelease.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
2017-06-10 Jonathan Bedard <jbedard@apple.com>
webkitpy: Reduce polling in ServerProcess
https://bugs.webkit.org/show_bug.cgi?id=173116
Reviewed by Ryosuke Niwa.
We should be smarter about polling. We do not need to poll every time a line is read from
stdout and stderr since lines are usually read from cached data. We should only poll
when extracting that cached data from stdout and stderr.
* Scripts/webkitpy/port/driver.py:
(Driver._read_block): Rely on output of the ServerProcess to detect a crash or a timeout
and on ServerProcess to poll the process if not data is available in stdout and stderr.
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_read_block_crashed_process): Test that the Driver will handle a crashing
ServerProcess.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess._read): Allow for data to be read from _output even if the process has
crashed. Only poll the process if data needs to be extracted from stdout or stderr.
* Scripts/webkitpy/port/server_process_mock.py:
(MockServerProcess): Add number_of_times_polled.
(MockServerProcess.poll): Increment number_of_times_polled.
(MockServerProcess.has_crashed): Poll before returning crash state.
(MockServerProcess.read_stdout_line): MockServerProcess should return None if it has crashed,
just like a ServerProcess would.
(MockServerProcess.read_stdout): Ditto.
* Scripts/webkitpy/port/server_process_unittest.py:
(TestServerProcess.test_basic): Use stdin.readline() instead of time.sleep() to prevent the
process from ending before stdout and stderr are read. This is the reason this test was flakey.
(TestServerProcess):
(TestServerProcess.test_process_crashing): Test that when a process crashes, data can be read until
the processes is polled.
(TestServerProcess.test_process_crashing_no_data): Test that when a process which has not output any
data to stdout and stderr crashes, ServerProcess._read(...) polls the process to detect the crash.
2017-06-10 Andy Estes <aestes@apple.com>
[QuickLook] PreviewLoader needs to check if its ResourceLoader has reached the terminal state before calling didReceiveResponse() and friends
https://bugs.webkit.org/show_bug.cgi?id=173190
<rdar://problem/31360659>
Reviewed by Brady Eidson.
Added a release assert that tries to create a proper test failure if the web process crashes.
* TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm:
(-[QuickLookDecidePolicyDelegate _webViewWebProcessDidCrash:]):
2017-06-09 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS DnD] Add a hook to perform two-step drops in editable content
https://bugs.webkit.org/show_bug.cgi?id=172992
<rdar://problem/32590174>
Reviewed by Tim Horton.
Adds 2 new API tests to cover using the injected editing bundle to override performTwoStepDrop.
Tests: DataInteractionTests.InjectedBundleOverridePerformTwoStepDrop
DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm:
(-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:performTwoStepDrop:atDestination:isMove:]):
Allow the BundleOverridePerformTwoStepDrop bundle parameter to determine whether or not two-step drops should
be overridden. Currently, this is overridden to just return true.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
2017-06-09 Zan Dobersek <zdobersek@igalia.com>
[WPE] Enable ENCRYPTED_MEDIA for build-webkit builds
https://bugs.webkit.org/show_bug.cgi?id=173103
Reviewed by Xabier Rodriguez-Calvar.
* Scripts/webkitperl/FeatureList.pm: Enable ENCRYPTED_MEDIA flag
when building the WPE port through build-webkit.
2017-06-09 Zan Dobersek <zdobersek@igalia.com>
[WPE] Enable MEDIA_SOURCE for build-webkit builds
https://bugs.webkit.org/show_bug.cgi?id=173136
Reviewed by Xabier Rodriguez-Calvar.
* Scripts/webkitperl/FeatureList.pm: Enable the MEDIA_SOURCE feature for WPE.
2017-06-08 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Use API::FormClient instead of the C API in WebKitFormClient
https://bugs.webkit.org/show_bug.cgi?id=173098
Reviewed by Žan Doberšek.
Fix memory leak and runtime warning when running /webkit2/WebKitWebView/submit-form. The web extension is
assuming that all tests containing forms define ids for the form elements like
/webkit2/WebKitWebExtension/form-controls-associated-signal does.
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(formControlsAssociatedCallback):
2017-06-08 Jonathan Bedard <jbedard@apple.com>
webkitpy: Run sample/spindump on iOS devices
https://bugs.webkit.org/show_bug.cgi?id=171881
<rdar://problem/32084602>
Reviewed by Daniel Bates.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.sample_process): Only add sudo prefix if the platform is Mac, which
requires sudo to run spindump.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.look_for_new_samples): Deleted.
(IOSDevicePort.sample_process): Deleted.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest): iOS devices use 'ios' and their os_name.
(IOSDeviceTest.test_spindump):
(IOSDeviceTest.test_sample_process):
(IOSDeviceTest.test_sample_process_exception):
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest): iOS Simulators run on Mac and use 'mac' as their os_name.
2017-06-08 Keith Miller <keith_miller@apple.com>
WebAssembly: We should only create wrappers for functions that can be exported
https://bugs.webkit.org/show_bug.cgi?id=173088
Reviewed by Saam Barati.
Add quick mode for wasm tests.
* Scripts/run-jsc-stress-tests:
2017-06-08 Darin Adler <darin@apple.com>
WTF tests have incorrect RefLogger lifetimes making it impossible to test with Address Sanitizer
https://bugs.webkit.org/show_bug.cgi?id=173106
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/HashCountedSet.cpp: Define RefLogger objects first, so they are
destroyed last.
* TestWebKitAPI/Tests/WTF/HashMap.cpp: Ditto.
* TestWebKitAPI/Tests/WTF/HashSet.cpp: Ditto.
2017-06-07 Dan Bernstein <mitz@apple.com>
[Cocoa] additionalReadAccessAllowedURLs doesn’t preserve non-Latin1 paths
https://bugs.webkit.org/show_bug.cgi?id=173086
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
(TEST):
2017-06-07 Alexey Proskuryakov <ap@apple.com>
Add High Sierra support to WebKit tools
https://bugs.webkit.org/show_bug.cgi?id=173080
Rubber-stamped by Daniel Bates.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
Added dashboard support.
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
Trigger the right build queues on check-in.
* Scripts/webkitpy/common/system/platforminfo.py:
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
* Scripts/webkitpy/port/mac.py:
* Scripts/webkitpy/port/mac_unittest.py:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
Added cases for Sierra, and updated tests for new baseline search paths.
2017-06-07 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r217902.
This change appears to have caused imported/w3c/web-platform-
tests/fetch/api/cors tests to fail on El Capitan.
Reverted changeset:
"Teach run-webkit-tests how to run HTTPS Web Platform Tests"
https://bugs.webkit.org/show_bug.cgi?id=172930
http://trac.webkit.org/changeset/217902
2017-06-07 Daniel Bates <dabates@apple.com>
Teach run-webkit-tests how to run HTTPS Web Platform Tests
https://bugs.webkit.org/show_bug.cgi?id=172930
<rdar://problem/32570201>
Reviewed by Youenn Fablet.
Some web platform tests need to be run from an HTTPS server in order to exercise functionality
that is conditioned on the page being delivered over a secure protocol. One example of such
a test is LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/secure_context/crypto-subtle-secure-context-available.https.sub.html.
Ideally we should look to use wptrunner to run Web Platform Tests. For now, modify run-webkit-tests
to access web platform tests from an HTTPS server when the filename of the test contains ".https.".
This makes run-webkit-test match the behavior of wptrunner: <https://github.com/w3c/web-platform-tests/blob/7ce469d1c46dd45aacfe1b408bf2ad36a630e089/tools/manifest/item.py#L42>.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(https_base_url): Parses the Web Platform Tests JSON configuration and returns the base URL
to the Web Platform Tests HTTPS server.
* Scripts/webkitpy/port/base.py:
(Port.to.web_platform_test_server_https_base_url): Turns around and calls https_base_url().
* Scripts/webkitpy/port/driver.py:
(Driver.__init__): Caches the base URL to the Web Platform Tests HTTPS server. Also rename
instance variables web_platform_test_server_doc_root, web_platform_test_server_base_url to
_web_platform_test_server_doc_root and _web_platform_test_server_base_url, respectively to
indicate that they should be considered private instance variables.
(Driver.is_web_platform_test): Update code for renamed instance variables.
(Driver):
(Driver._web_platform_test_base_url_for_test): Returns the URL to access the specified test.
(Driver.test_to_uri): Modified to use Driver._web_platform_test_base_url_for_test() to
determine the base URL to use to access the test.
(Driver.uri_to_test): Added logic to compute the filesystem local test name from a Web
Platform Tests HTTPS URL. Also updated code for renamed instance variables.
2017-06-07 Per Arne Vollan <pvollan@apple.com>
Support removal of authentication data through the Website data store API.
https://bugs.webkit.org/show_bug.cgi?id=171217
Reviewed by Brady Eidson.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::removeAllSessionCredentials):
(WTR::TestRunner::callDidRemoveAllSessionCredentialsCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didRemoveAllSessionCredentials):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::removeAllSessionCredentials):
2017-06-07 Charlie Turner <cturner@igalia.com>
Add Charlie Turner as contributor
https://bugs.webkit.org/show_bug.cgi?id=173055
Reviewed by Carlos Alberto Lopez Perez.
I also ran the Tools/Scripts/validate-committer-lists --canonicalize command at the suggestion
of webkit-patch upload, which reordered some fields and removed a newline.
* Scripts/webkitpy/common/config/contributors.json:
2017-06-06 Chris Dumez <cdumez@apple.com>
RELEASE_ASSERT(static_cast<size_t>(enumerationValue) < WTF_ARRAY_LENGTH(values)) hit in convertEnumerationToJS<WebCore::History::ScrollRestoration>()
https://bugs.webkit.org/show_bug.cgi?id=173033
<rdar://problem/32591099>
Reviewed by Simon Fraser.
Add API test coverage to make sure History's scrollRestoration is properly saved / restored via the
WKPageCopySessionState() / WKPageRestoreFromSessionState() C API.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::createSessionStateDataContainingScrollRestoration):
(TestWebKitAPI::TEST):
2017-06-06 Andy Estes <aestes@apple.com>
REGRESSION (r199558): WKWebView upload file which name contains Chinese character results in garbled code
https://bugs.webkit.org/show_bug.cgi?id=172849
<rdar://problem/32567454>
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm: Added.
(-[RunOpenPanelUIDelegate webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
2017-06-06 Yoav Weiss <yoav@yoav.ws>
[preload] Conditional support for media preloading and align media `as` values.
https://bugs.webkit.org/show_bug.cgi?id=172501
Reviewed by Dean Jackson.
Turn on media preloading preference for tests.
* DumpRenderTree/mac/DumpRenderTree.mm: Turn on media preloading preference.
* DumpRenderTree/win/DumpRenderTree.cpp: Turn on media preloading preference.
* WebKitTestRunner/TestController.cpp: Turn on media preloading preference.
2017-06-06 Jonathan Bedard <jbedard@apple.com>
webkitpy: Return correct process names from SimulatorProcess
https://bugs.webkit.org/show_bug.cgi?id=172940
Reviewed by Aakash Jain.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.plist_data_from_bundle): Share plist access code for accessing different plist entries.
(DarwinPort.app_identifier_from_bundle): Use plist_data_from_bundle.
(DarwinPort.app_executable_from_bundle): Access name of app executable from provided app bundle.
* Scripts/webkitpy/port/driver.py:
(Driver.has_crashed): Use _server_process.process_name() instead of _server_process.name() since
_server_process.name() will not return the correct process name for iOS.
(Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
(Driver._read_block): Ditto.
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_check_for_driver_crash.FakeServerProcess.process_name): Update since Driver uses
process_name() instead of name().
* Scripts/webkitpy/port/server_process.py:
(ServerProcess._start): Use process_name() instead of name().
(ServerProcess.stop): Ditto.
(ServerProcess.name): Deleted.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.process_name): Check the provided bundle for the process name.
2017-06-06 Dean Johnson <dean_johnson@apple.com>
test-webkitpy: stop forking unsafely from within a spawned process
https://bugs.webkit.org/show_bug.cgi?id=172774
Reviewed by Darin Adler.
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
(Builder.__init__): We don't use mechanize.Browser() as part of testing, so only initialize it when
it's going to be used.
(Builder.force_build):
2017-06-06 Jonathan Bedard <jbedard@apple.com>
webkitpy: Process crash-logs for iOS devices
https://bugs.webkit.org/show_bug.cgi?id=171976
<rdar://problem/32134551>
Reviewed by David Kilzer.
When running layout tests on an iOS device, crash logs should be processed.
Implement crash log searching and parsing for iOS devices.
* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs): Moved process regular expression for Darwin to class variable.
(CrashLogs.__init__): Accept optional list of crash logs to ignore.
(CrashLogs.find_newest_log): Add iOS as a potential platform.
(CrashLogs.find_all_logs): Ditto.
(CrashLogs._parse_darwin_crash_log): Share code for parsing of Darwin crash logs.
Do not assume that a Darwin crash log starts with the process.
(CrashLogs._find_newest_log_darwin): Remove .app in process name for iOS, use
shared code for parsing Darwin crash logs.
(CrashLogs._find_newest_log_darwin.is_crash_log): Skip crash logs passed into this
object so that crash logs already on the system before testing are not parsed.
(CrashLogs._find_newest_log_win.is_crash_log): Ditto.
(CrashLogs._find_all_logs_darwin.is_crash_log): Ditto.
(CrashLogs._find_all_logs_darwin): Use shared code for parsing Darwin crash logs.
* Scripts/webkitpy/common/system/crashlogs_unittest.py:
(make_mock_crash_report_darwin): Crash logs may not have their process on the first line.
* Scripts/webkitpy/common/system/systemhost.py:
(SystemHost.symbolicate_crash_log_if_needed): The symbolicated crash log for most
systems is just the crashlog, use this behavior by default.
* Scripts/webkitpy/common/system/systemhost_mock.py:
(MockSystemHost.symbolicate_crash_log_if_needed): The symbolicated crash log for most
systems is just the crashlog, use this behavior by default.
* Scripts/webkitpy/port/apple.py:
(ApplePort): Add a dictionary mapping hosts to a list of crash logs to be skipped.
(ApplePort.setup_test_run): Set the list of crash logs to be skipped to the crash logs on
the system before testing begins
* Scripts/webkitpy/port/base.py:
(Port._get_crash_log): Pass optional target host when getting crash logs.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort._look_for_all_crash_logs_in_log_dir): Pass list of crash logs to be skipped to
CrashLogs object.
(DarwinPort._get_crash_log): Pass optional target host when getting crash logs, pass list of crash
logs to be skipped to CrashLogs object.
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_get_crash_log): Removed unused local function.
(DarwinTest.test_get_crash_log.fake_time_cb): Deleted.
* Scripts/webkitpy/port/device.py:
(Device.symbolicate_crash_log_if_needed): If the platform device has a function with this
name, call it. Otherwise, assume the default behavior and read the file at the provided path.
* Scripts/webkitpy/port/driver.py:
(Driver._get_crash_log): Pass optional target host when getting crash logs.
* Scripts/webkitpy/port/gtk.py:
(GtkPort._get_crash_log): Pass optional target host when getting crash logs.
* Scripts/webkitpy/port/ios.py: Ditto.
(IOSPort.setup_test_run): Each device is treated as an independent host. Set the list of crash logs
to be skipped for each host.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.path_to_crash_logs): Consult apple_additions for the path to crash logs.
(IOSDevicePort._look_for_all_crash_logs_in_log_dir): Search every connected device for
crash logs and pass list of crash logs to ignore to each instance of CrashLogs.
(IOSDevicePort._get_crash_log): Search the specified target host for a crash log if a target
host is specified. Else, search all connected devices for the specified crash-log.
(IOSDevicePort.look_for_new_crash_logs): Deleted.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_crashlog_path): Without apple_additions, an exception should be raised.
(IOSDeviceTest.test_get_crash_log): Ditto.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.process_name): Check the provided bundle for the process name.
* Scripts/webkitpy/port/win.py:
(WinPort._get_crash_log): Pass optional target host when getting crash logs, pass list of crash
logs to be skipped to CrashLogs object.
* Scripts/webkitpy/port/wpe.py:
(WPEPort._get_crash_log): Pass optional target host when getting crash logs.
2017-06-06 David Kilzer <ddkilzer@apple.com>
Move WTF_ATTRIBUTE_PRINTF() from implementation to declaration
<https://webkit.org/b/172804>
Reviewed by Darin Adler.
WTF_ATTRIBUTE_PRINTF() only works outside the current
compilation unit if it's on the declaration, not the
implementation, of a function or class method.
* DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
* DumpRenderTree/TestNetscapePlugIn/PluginObject.h:
* DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
* DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
- Move WTF_ATTRIBUTE_PRINTF() macro to declaration.
* DumpRenderTree/TestNetscapePlugIn/main.cpp:
- Remove redundant CRASH() macro definition. Use the one from
<wtf/Assertions.h> instead.
2017-06-06 Joseph Pecoraro <pecoraro@apple.com>
Move Resource Timing / User Timing from experimental features into main preferences
https://bugs.webkit.org/show_bug.cgi?id=172950
Reviewed by Darin Adler.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
Move out no longer experimental features to the main list.
2017-06-06 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE] Add an install-dependencies script
https://bugs.webkit.org/show_bug.cgi?id=172948
Reviewed by Žan Doberšek.
It is based on the gtk/install-dependencies script.
Includes support for Debian based distrubutions, Fedora and Arch.
It has been tested on a minimal Debian 9 chroot.
* wpe/install-dependencies: Added.
2017-06-05 Wenson Hsieh <wenson_hsieh@apple.com>
Refactor -[WebItemProviderPasteboard valuesForPasteboardType:inItemSet:] to check readable types
https://bugs.webkit.org/show_bug.cgi?id=172891
<rdar://problem/32204540>
Reviewed by Darin Adler.
Adds 2 new API tests to exercise data interaction of HTML data and an attributed string into a rich
contenteditable. See WebCore ChangeLog for more details.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-06-05 Daniel Bates <dabates@apple.com>
webkitpy: Abstract Executive class
https://bugs.webkit.org/show_bug.cgi?id=172928
<rdar://problem/32569531>
Reviewed by Ryosuke Niwa.
Adds an AbstractExecutive class and makes Executive extend AbstractExecutive.
This will make it straightforward to create additional derived classes that
adhere to the same interface, say for iOS on-device testing.
* Scripts/webkitpy/common/system/abstractexecutive.py: Added.
(AbstractExecutive):
(AbstractExecutive.run_and_throw_if_fail):
(AbstractExecutive.cpu_count):
(AbstractExecutive.interpreter_for_script):
(AbstractExecutive.shell_command_for_script):
(AbstractExecutive.kill_process):
(AbstractExecutive.check_running_pid):
(AbstractExecutive.running_pids):
(AbstractExecutive.wait_newest):
(AbstractExecutive.wait_limited):
(AbstractExecutive.interrupt):
(AbstractExecutive.default_error_handler):
(AbstractExecutive.ignore_error):
(AbstractExecutive._stringify_args):
(AbstractExecutive.command_for_printing):
(AbstractExecutive.run_command):
(AbstractExecutive.popen):
(AbstractExecutive.run_in_parallel):
* Scripts/webkitpy/common/system/executive.py:
(Executive):
(Executive.cpu_count):
(Executive.running_pids):
(Executive.kill_all):
(Executive._compute_stdin):
(Executive.interpreter_for_script): Deleted.
(Executive.shell_command_for_script): Deleted.
(Executive.wait_newest): Deleted.
(Executive.wait_limited): Deleted.
(Executive.default_error_handler): Deleted.
(Executive.ignore_error): Deleted.
(Executive.command_for_printing): Deleted.
2017-06-05 Jonathan Bedard <jbedard@apple.com>
webkitpy: Add iOS to platform
https://bugs.webkit.org/show_bug.cgi?id=172931
Reviewed by Daniel Bates.
* Scripts/webkitpy/common/system/platforminfo.py:
PlatformInfo.__init__): Use platform_module.release() as the os_version for iOS device.
(PlatformInfo.is_ios): Added.
(PlatformInfo._determine_os_name): A platform name of 'ios' means that the os name is 'ios'.
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.is_ios): Added.
2017-06-05 Carlos Alberto Lopez Perez <clopez@igalia.com>
[WPE][JHBuild] Switch github repository from git:// to https://
https://bugs.webkit.org/show_bug.cgi?id=172921
Reviewed by Alex Christensen.
* wpe/jhbuild.modules:
2017-06-05 Tim Horton <timothy_horton@apple.com>
ASSERTION FAILED: m_currentScriptCallbackID in UIScriptContext::requestUIScriptCompletion(JSStringRef) running fast/events/ios/autocorrect-with-range-selection.html
https://bugs.webkit.org/show_bug.cgi?id=172887
<rdar://problem/32546061>
Reviewed by Sam Weinig.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::applyAutocorrection):
applyAutocorrection can call its completion handler synchronously,
which makes UIScriptController unhappy (see bug 172884).
2017-06-03 Jonathan Bedard <jbedard@apple.com>
webkitpy: Add contextmanager to disable logging for a block
https://bugs.webkit.org/show_bug.cgi?id=172876
Reviewed by Daniel Bates.
Add a context manager which will use an OutputCapture object to capture logging
in a block and hold it in a variable.
* Scripts/webkitpy/common/system/outputcapture.py:
(OutputCaptureScope):
(OutputCaptureScope.__init__): Construct with OutputCapture object.
(OutputCaptureScope.__enter__): Begin capturing output.
(OutputCaptureScope.__exit__): Restore output and save captured output to a variable.
output and retain the resulting log.
* Scripts/webkitpy/common/system/outputcapture_unittest.py:
(OutputCaptureTest.test_output_capture_scope): Added.
2017-06-02 Zalan Bujtas <zalan@apple.com>
Cleanup FrameView::autoSizeIfEnabled.
https://bugs.webkit.org/show_bug.cgi?id=172889
<rdar://problem/32550783>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
(-[AutoLayoutWKWebView load:withWidth:expectingContentSize:resettingWidth:]): progression.
(TEST):
2017-06-02 Chris Dumez <cdumez@apple.com>
ResourceLoadStatistics are not using unique paths during test runs
https://bugs.webkit.org/show_bug.cgi?id=172861
<rdar://problem/32442251>
Reviewed by Darin Adler.
Make sure WebKitTestRunner sets a temporary path for saving resource
load statistics.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generateContextConfiguration):
2017-06-02 Brady Eidson <beidson@apple.com>
Prevent scheme handlers from handling all built-in URL schemes.
<rdar://problem/32404790> and https://bugs.webkit.org/show_bug.cgi?id=172869
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
2017-06-02 Stephan Szabo <stephan.szabo@am.sony.com>
[JSCOnly] Build static jsc.exe on Windows
https://bugs.webkit.org/show_bug.cgi?id=172833
Reviewed by Konstantin Tokarev.
* CMakeLists.txt:
* Scripts/build-jsc:
2017-06-02 Zalan Bujtas <zalan@apple.com>
Disable ViewportSizeForViewportUnits tests on iOS.
https://bugs.webkit.org/show_bug.cgi?id=172872
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm:
2017-06-02 Zalan Bujtas <zalan@apple.com>
Allow clients to override viewport size for CSS viewport units.
https://bugs.webkit.org/show_bug.cgi?id=172838
<rdar://problem/32523441>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm: Added.
(TEST):
2017-06-02 Simon Fraser <simon.fraser@apple.com>
Get <chrono> out of StdLibExtras.h
https://bugs.webkit.org/show_bug.cgi?id=172744
Reviewed by Zalan Bujtas.
* TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
2017-06-02 Zan Dobersek <zdobersek@igalia.com>
[WPE] Enable SUBTLE_CRYPTO
https://bugs.webkit.org/show_bug.cgi?id=172756
Reviewed by Michael Catanzaro.
* Scripts/webkitperl/FeatureList.pm: Set ENABLE_SUBTLE_CRYPTO to 1 for WPE.
* wpe/jhbuild.modules: Add libgpg-error and libgcrypt dependencies.
* wpe/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Added. Prevents
exhausting entropy when running the crypto layout tests.
2017-06-01 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bump GTK+ and its dependencies in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=171918
Reviewed by Carlos Alberto Lopez Perez.
* WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::initializeGtkSettings):
* gtk/jhbuild.modules:
* gtk/patches/gtk+-configure-fix-detecting-CUPS-2.x.patch: Removed.
* gtk/patches/librsvg-2.36.1-bump-up-config.guess-to-support-aarch64.patch: Removed.
2017-06-01 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bump wayland and weston in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=171921
Reviewed by Carlos Alberto Lopez Perez.
* gtk/jhbuild.modules:
* gtk/patches/weston-libweston-include-weston-egl-ext.h-in-drm-x11-and-wa.patch: Added.
2017-06-01 Andy Estes <aestes@apple.com>
REGRESSION (r217626): ENABLE_APPLE_PAY_SESSION_V3 was disabled by mistake
https://bugs.webkit.org/show_bug.cgi?id=172828
Reviewed by Beth Dakin.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-06-01 Jonathan Bedard <jbedard@apple.com>
webkitpy: Remove unneeded simulator teardown
https://bugs.webkit.org/show_bug.cgi?id=171891
Reviewed by Aakash Jain.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.clean_up_test_run): Remove FIFO deletion since TCP is used
for communication between Python and WebKitTestRunner/DumpRenderTree.
2017-06-01 Keith Miller <keith_miller@apple.com>
Undo rollout in r217638 with bug fix
https://bugs.webkit.org/show_bug.cgi?id=172824
Unreviewed, reland patch with unused set_state code removed.
* TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
(runThreadMessageTest):
(TEST):
2017-06-01 Jonathan Bedard <jbedard@apple.com>
webkitpy: Do not send 0 or -1 as a pid to kill_process
https://bugs.webkit.org/show_bug.cgi?id=172818
Reviewed by Darin Adler.
Sending a signal to process 0 will result in all processes in the group receiving
the signal. Sending a signal to process -1 will result in all non-system processes
receiving the signal. Both Executive.kill_process and Executive.check_running_pid
should consider these cases
* Scripts/webkitpy/common/system/executive.py:
(Executive.kill_process): Throw exception if pid is undefined, 0 or negative.
(Executive.check_running_pid): An undefined pid, pid 0 or a negative pid will
never be running, although os.kill may succeed.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.stop): Do not kill process if it is undefined.
2017-05-31 Alexey Proskuryakov <ap@apple.com>
JSC EWS bot does not run on WTF only patches
https://bugs.webkit.org/show_bug.cgi?id=172777
rdar://problem/32495975
Reviewed by Aakash Jain.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance): Add a missing comma.
2017-05-31 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r217611 and r217631.
https://bugs.webkit.org/show_bug.cgi?id=172785
"caused wasm-hashset-many.html to become flaky." (Requested by
keith_miller on #webkit).
Reverted changesets:
"Reland r216808, underlying lldb bug has been fixed."
https://bugs.webkit.org/show_bug.cgi?id=172759
http://trac.webkit.org/changeset/217611
"Use dispatch queues for mach exceptions"
https://bugs.webkit.org/show_bug.cgi?id=172775
http://trac.webkit.org/changeset/217631
2017-05-31 Ryan Haddad <ryanhaddad@apple.com>
EWS bots should reboot themselves more frequently
https://bugs.webkit.org/show_bug.cgi?id=172402
Reviewed by Alexey Proskuryakov.
Instead of rebooting once a day, EWS bots will reboot after running 10 iterations.
* EWSTools/start-queue-mac.sh: Remove the restriction placed on the time that the bot will perform a reboot.
2017-05-31 Ryan Haddad <ryanhaddad@apple.com>
Reallocate hardware for iOS bots.
https://bugs.webkit.org/show_bug.cgi?id=172657
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2017-05-31 Andy Estes <aestes@apple.com>
Rename ENABLE_APPLE_PAY_DELEGATE to ENABLE_APPLE_PAY_SESSION_V3 and bump the supported version number
https://bugs.webkit.org/show_bug.cgi?id=172366
Reviewed by Daniel Bates.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-05-31 Jiewen Tan <jiewen_tan@apple.com>
Unreviewed, add Jiewen Tan as a reviewer
* Scripts/webkitpy/common/config/contributors.json:
2017-05-31 Adrian Perez de Castro <aperez@igalia.com>
[GTK] MiniBrowser's browser_window_get_or_create_web_view_for_automation never creates new windows
https://bugs.webkit.org/show_bug.cgi?id=172770
Reviewed by Michael Catanzaro.
* MiniBrowser/gtk/BrowserWindow.c:
(browser_window_get_or_create_web_view_for_automation): Removed stray semicolon
which caused the body of the if-clause to be accidentally empty.
2017-05-31 Keith Miller <keith_miller@apple.com>
Reland r216808, underlying lldb bug has been fixed.
https://bugs.webkit.org/show_bug.cgi?id=172759
Unreviewed, relanding old patch. See: rdar://problem/31183352
* TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
(runThreadMessageTest):
(TEST):
2017-05-31 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r217603.
This patch broke the internal builds.
Reverted changeset:
"Get <chrono> out of StdLibExtras.h"
https://bugs.webkit.org/show_bug.cgi?id=172744
http://trac.webkit.org/changeset/217603
2017-05-31 Brent Fulgham <bfulgham@apple.com>
Make ResourceLoadStatistics testing more reliable
https://bugs.webkit.org/show_bug.cgi?id=172730
<rdar://problem/32028373>
Reviewed by Andy Estes.
When we tell the UIProcess (WebKitTestRunner) to notify the system about statistics update notifications,
we also need to tell the WebProcess to do so, too, or else the test system doesn't get messages.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
2017-05-31 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][WPE] run-javascriptcore-tests should use the jhbuild
https://bugs.webkit.org/show_bug.cgi?id=172757
Reviewed by Xabier Rodriguez-Calvar.
When needed, add the jhbuild wrapper at the beginning of the array
that will be invoked to execute the run-jsc-stress-test or testapi
commands.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* Scripts/webkitdirs.pm:
(shouldUseJhbuild):
2017-05-31 Simon Fraser <simon.fraser@apple.com>
Get <chrono> out of StdLibExtras.h
https://bugs.webkit.org/show_bug.cgi?id=172744
Reviewed by Saam Barati.
* TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
2017-05-30 Tim Horton <timothy_horton@apple.com>
Keyboard autocorrections do not apply with an active selection (but keyboard acts like they did)
https://bugs.webkit.org/show_bug.cgi?id=172735
<rdar://problem/32015977>
Reviewed by Enrica Casucci.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::applyAutocorrection):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::applyAutocorrection):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::applyAutocorrection):
Expose applyAutocorrection to UIScriptController. Use a WKTesting method
because I don't know how to tap the button in the autocorrection bar from a test.
2017-05-30 Daniel Bates <dabates@apple.com>
Add unit test for WebKit2 C SPI runBeforeUnloadConfirmPanel()
https://bugs.webkit.org/show_bug.cgi?id=172671
Reviewed by Alex Christensen.
We should add a unit test to ensure we do not regress the WKPageUIClient runBeforeUnloadConfirmPanel() callback.
For completeness, the callback runBeforeUnloadConfirmPanel() existed since inception of WKPageUIClient (WKPageUIClientV0).
* TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp:
(TestWebKitAPI::analyzeDialogArguments): Test the runBeforeUnloadConfirmPanel() callback last as we need
to trigger a navigation to test it.
(TestWebKitAPI::runBeforeUnloadConfirmPanel): Added.
(TestWebKitAPI::createNewPage): Wire up the runBeforeUnloadConfirmPanel callback.
2017-05-30 Jonathan Bedard <jbedard@apple.com>
webkitpy: Start servers before setting-up for testing
https://bugs.webkit.org/show_bug.cgi?id=172176
<rdar://problem/32225538>
Reviewed by Alexey Proskuryakov.
On-device testing requires that servers are started before ports set-up their
test environments.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.__init__): Start servers when initializing LayoutTestRunner.
Servers are unconditionally stopped on exit.
(LayoutTestRunner.run_tests): Move the starting of servers to the initializer. The
Manager now stops servers.
(LayoutTestRunner.start_servers): Set flag to indicate servers are running.
(LayoutTestRunner.stop_servers): Check flag, only shutdown servers if they are shutdown.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__): Delay construction of the test runner until we can determine
if servers need to be started.
(Manager.run): Determine if servers need to be started and construct the test runner.
Shut servers down when the test run is finished.
(Manager._run_tests): Move the determination of servers to run into Manager.run.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(is_wpt_server_running): Server is not running if no config is found.
* Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket.is_running): Check if this WebSocket server is running.
* Scripts/webkitpy/port/base.py:
(Port.__init__): Define secure WebSocket server.
(Port.to.is_websocket_server_running): Check if WebSocket servers are defined.
2017-05-30 Daniel Bates <dabates@apple.com>
[WK2] Add runBeforeUnloadConfirmPanel WKUIDelegate SPI; support onbeforeunload confirm panel in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=172603
<rdar://problem/32471306>
Reviewed by Brady Eidson.
Implement the -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: delegate
method in MiniBrowser to show a confirm panel as to whether to allow the unloading of the page when
unloading is initiated for a page that registered a onbeforeunload handler.
Modify TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm to test that the -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:
is called. Also fix style nit; pass YES instead of true to avoid implicit conversion from bool to BOOL
when invoking the completion handler in -_webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:.
Until we fix <https://bugs.webkit.org/show_bug.cgi?id=172614> the unit test in TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm
for -_webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler: is only run on Mac
as we do not have the infrastructure to simulate a click/tap on iOS and a click/tap on the page that
registered an onbeforeunload handler is required to show a confirm panel when the page will be unloaded.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
* TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html:
* TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm:
(sawDialog):
(-[ModalAlertsUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ModalAlertsUIDelegate _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
2017-05-30 Alex Christensen <achristensen@webkit.org>
Update libwebrtc configuration
https://bugs.webkit.org/show_bug.cgi?id=172727
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-05-30 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] TestWebKitAPI: ASSERTION FAILED: m_eglDisplay == EGL_NO_DISPLAY
https://bugs.webkit.org/show_bug.cgi?id=172702
Reviewed by Alex Christensen.
EGL PlatformDisplay needs to be shut down before existing a
program on Windows.
* TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp:
(TestWebKitAPI::ScaleWebView::TearDown): Call shutDownWebKit().
* TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp:
(TestWebKitAPI::WebViewDestruction::TearDown): Ditto.
2017-05-30 Per Arne Vollan <pvollan@apple.com>
[Win] fast/shadow-dom/fullscreen-in-slot-fullscreenElement.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=172709
Reviewed by Brent Fulgham.
Exit fullscreen mode after a fullscreen test.
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
2017-05-30 Antti Koivisto <antti@apple.com>
ASSERTION FAILED: !needsLayout() in com.apple.WebCore: WebCore::FrameView::paintContents in fast/events/tabindex-focus-blur-all.html on WK1
https://bugs.webkit.org/show_bug.cgi?id=172713
Reviewed by Zalan Bujtas.
* DumpRenderTree/mac/ResourceLoadDelegate.mm:
(-[ResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
Remove forced display from plugin resource load delegate. It is testing some long-obsolete
Safari WK1 behavior. Forcing display from this resource load delegate will hit the assertion
because on Mac WK1 it may get invoked from middle of a layout.
Painting code skips out after the assert so it doesn't indicate unsafe access of any sort.
2017-05-30 Carlos Alberto Lopez Perez <clopez@igalia.com>
Add a WPE EWS queue
https://bugs.webkit.org/show_bug.cgi?id=172693
Reviewed by Carlos Garcia Campos.
* QueueStatusServer/config/queues.py:
* QueueStatusServer/model/queues.py: Capitalize the name of the
port on the tooltip of the bubbles. Do the same for the GTK port.
(Queue.display_name):
* Scripts/webkitpy/common/config/ews.json: Update the watcher mail
for the GTK+ EWS also. Set for both ports as watcher the alias
bugs-noreply@webkitgtk.org that maintainers of both ports follow.
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.port):
(WpePort):
(WpePort.build_webkit_command):
(WpePort.run_webkit_tests_command):
* Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest):
(DeprecatedPortTest.test_wpe_port):
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(test_ews_name):
2017-05-29 Zan Dobersek <zdobersek@igalia.com>
Unreviewed. Bumping the WPEBackend-mesa dependency version.
* wpe/jhbuild.modules: Use the latest version that uses proper GLib
priorities for IPC communication.
2017-05-27 Yusuke Suzuki <utatane.tea@gmail.com>
[JSC] Map and Set constructors should have fast path for cloning
https://bugs.webkit.org/show_bug.cgi?id=172413
Reviewed by Saam Barati.
* TestWebKitAPI/Tests/WTF/MathExtras.cpp:
(TestWebKitAPI::TEST):
2017-05-27 Zalan Bujtas <zalan@apple.com>
enclosingIntRect returns a rect with -1 width/height when the input FloatRect overflows integer.
https://bugs.webkit.org/show_bug.cgi?id=172676
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/FloatRect.cpp:
(TestWebKitAPI::TEST):
2017-05-26 Zalan Bujtas <zalan@apple.com>
TestWebKitAPI: EnclosingIntRect and RoundedIntRect should use EXPECT_EQ.
https://bugs.webkit.org/show_bug.cgi?id=172674
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/FloatRect.cpp:
(TestWebKitAPI::TEST):
2017-05-26 Wenson Hsieh <wenson_hsieh@apple.com>
Add test resources back into TestWebKitAPI Copy Resources phase
Rubber-stamped by Beth Dakin.
Add two files back into the Copy Resources phase after they were unintentionally
removed in r217447 and r217496.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2017-05-26 Beth Dakin <bdakin@apple.com>
Media documents inside iframes should not get controls in the TouchBar unless the
video is playing
https://bugs.webkit.org/show_bug.cgi?id=172620
-and corresponding-
rdar://problem/32165477
Reviewed by Jon Lee.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/offscreen-iframe-of-media-document.html: Added.
2017-05-25 Joseph Pecoraro <pecoraro@apple.com>
_WKUserStyleSheet and WKUserScript leak string data
https://bugs.webkit.org/show_bug.cgi?id=172583
<rdar://problem/32395209>
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
We should not have been adopting an autoreleased object.
2017-05-25 Myles C. Maxfield <mmaxfield@apple.com>
[WK1] iframes in layer-backed NSViews are not cleared between successive draws
https://bugs.webkit.org/show_bug.cgi?id=172554
<rdar://problem/31247133>
Reviewed by Simon Fraser.
Previously, there was no way to make DumpRenderTree's views layer-backed. Unfortunately,
simply setting [WebView setWantsLayer:] is insufficient; turning it on and then off again
leaves some state around inside the NSWindow which isn't easily cleaned up. Instead,
we should just tear down and rebuild the window whenever we need a layer-backed WebView.
We can also use the "webkit-test-runner" header comment to trigger this new layer-backed
codepath.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
(TestOptions::webViewIsCompatibleWithOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(shouldIgnoreWebCoreNodeLeaks):
(allowedFontFamilySet):
(-[DRTMockScroller rectForPart:]):
(-[DRTMockScroller drawKnob]):
(-[DRTMockScroller drawRect:]):
(createWebViewAndOffscreenWindow):
(initializeGlobalsFromCommandLineOptions):
(prepareConsistentTestingEnvironment):
(dumpRenderTree):
(dumpAudio):
(dumpHistoryItem):
(dumpBackForwardListForWebView):
(resetWebViewToConsistentStateBeforeTesting):
(WebThreadLockAfterDelegateCallbacksHaveCompleted):
(runTest):
2017-05-25 Sam Weinig <sam@webkit.org>
[WebIDL] Use the term 'operation' more consistently
https://bugs.webkit.org/show_bug.cgi?id=172601
Reviewed by Chris Dumez.
We were using the term 'operation', a WebIDL term for function-like
constructs, inconsistently in the code generator. Now, when we use
'operation' when referring to the IDL concept (usually the object the
parser produces) and 'function' when referring to code being generated.
* DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
* WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
2017-05-25 Jer Noble <jer.noble@apple.com>
Unreviewed build fix after r217447; only run test where JSC's ObjC API is available.
* TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm:
2017-05-25 Jer Noble <jer.noble@apple.com>
System sleeps while playing to wireless target, ending stream.
https://bugs.webkit.org/show_bug.cgi?id=172541
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.html: Added.
* TestWebKitAPI/Tests/mac/MediaPlaybackSleepAssertion.mm: Added.
(-[MediaPlaybackSleepAssertionLoadDelegate webView:didCreateJavaScriptContext:forFrame:]):
(-[MediaPlaybackSleepAssertionPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
(TestWebKitAPI::simulateKeyDown):
(TestWebKitAPI::hasAssertionType):
(TestWebKitAPI::TEST):
2017-05-25 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r217423 and r217424.
https://bugs.webkit.org/show_bug.cgi?id=172607
These caused an api failure on all testers. (Requested by
mlewis13 on #webkit).
Reverted changesets:
"REGRESSION (r216977): 4 leaks introduced in new
WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test"
https://bugs.webkit.org/show_bug.cgi?id=172558
http://trac.webkit.org/changeset/217423
"REGRESSION (r217423): Fix last-second typo in 'auto'"
http://trac.webkit.org/changeset/217424
2017-05-25 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] Expose doc-footnote ARIA role with ATK_ROLE_FOOTNOTE
https://bugs.webkit.org/show_bug.cgi?id=172355
Reviewed by Chris Fleizach.
Add map ATK_ROLE_FOOTNOTE to "AXFootnote" and bump jhbuild minimum
versions of atk, at-spi2-core, and at-spi2-atk to 2.25.2 (the earliest
releases which support the new platform footnote accessibility role.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
* gtk/jhbuild.modules:
2017-05-25 David Kilzer <ddkilzer@apple.com>
REGRESSION (r217423): Fix last-second typo in 'auto'
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test): Fix typo.
2017-05-24 David Kilzer <ddkilzer@apple.com>
REGRESSION (r216977): 4 leaks introduced in new WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test
<https://webkit.org/b/172558>
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(WebKit2_WKHTTPCookieStoreWithoutProcessPool_Test): Fix the leaks.
2017-05-24 Don Olmstead <don.olmstead@am.sony.com>
[CMake] Consolidate CMake code related to Cairo
https://bugs.webkit.org/show_bug.cgi?id=172568
Reviewed by Alex Christensen.
* DumpRenderTree/config.h:
* TestWebKitAPI/config.h:
2017-05-24 Wenson Hsieh <wenson_hsieh@apple.com>
Plumb additional image metadata to item providers when beginning data interaction on an image
https://bugs.webkit.org/show_bug.cgi?id=172536
<rdar://problem/32371300>
Reviewed by Beth Dakin.
Tweak existing image data interaction tests to check for suggested name and estimated size on the generated
source item providers.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkSuggestedNameAndEstimatedSize):
(TestWebKitAPI::TEST):
2017-05-24 Per Arne Vollan <pvollan@apple.com>
[Win] Create unique network storage session for each DRT.
https://bugs.webkit.org/show_bug.cgi?id=172540
Reviewed by Brent Fulgham.
During layout testing, each DRT instance should have its own network storage session.
* DumpRenderTree/win/DumpRenderTree.cpp:
(prepareConsistentTestingEnvironment):
2017-05-24 Wenson Hsieh <wenson_hsieh@apple.com>
Respect image UTIs when writing to item providers when beginning data interaction on an image
https://bugs.webkit.org/show_bug.cgi?id=172436
<rdar://problem/31786569>
Reviewed by Beth Dakin.
Tweaks existing unit tests and adds a new test for image data interaction. See WebCore ChangeLog for more
details.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/apple.gif: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/gif-and-file-input.html: Added.
Create a new test page containing a GIF and a file input.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkTypeIdentifierIsRegisteredAtIndex):
(TestWebKitAPI::TEST):
2017-05-23 Per Arne Vollan <pvollan@apple.com>
[Win] Increase test timeout for slow tests.
https://bugs.webkit.org/show_bug.cgi?id=172449
Reviewed by Alexey Proskuryakov.
Instead of using a fixed timeout of 30 seconds for all tests, we should use the
timeout member in the TestRunner class.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setWaitToDump):
2017-05-15 Matt Rajca <mrajca@apple.com>
Replace autoplay events that fire at navigation with a DidAutoplayMediaPastThreshold event.
https://bugs.webkit.org/show_bug.cgi?id=172138
Reviewed by Alex Christensen.
Added API tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/js-autoplay-audio.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/silence-long.m4a: Added.
2017-05-23 Simon Fraser <simon.fraser@apple.com>
Stop consulting -viewsNeedDisplay when doing layer flushing in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=172522
rdar://problem/31071812
Reviewed by Sam Weinig.
Remove NSWindowStyleMaskFullSizeContentView which is no longer referenced in code.
We set this in the .xib file now.
* MiniBrowser/mac/MiniBrowser_Prefix.pch:
2017-05-22 Simon Fraser <simon.fraser@apple.com>
Snapshotting via -renderInContext: should do synchronous image decodes
https://bugs.webkit.org/show_bug.cgi?id=172485
rdar://problem/32276146
Reviewed by Tim Horton.
New API test.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/ios/SnapshotViaRenderInContext.mm: Added.
(-[RenderInContextWebViewDelegate webViewDidFinishLoad:]):
(-[RenderInContextWebViewDelegate webView:didFailLoadWithError:]):
(TestWebKitAPI::getPixelIndex):
(TestWebKitAPI::TEST):
2017-05-23 Myles C. Maxfield <mmaxfield@apple.com>
Remove dead ENABLE(FONT_LOAD_EVENTS) code
https://bugs.webkit.org/show_bug.cgi?id=172517
Rubber-stamped by Simon Fraser.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-05-23 Wenson Hsieh <wenson_hsieh@apple.com>
Multiple links should be inserted separately when performing data interaction
https://bugs.webkit.org/show_bug.cgi?id=172489
<rdar://problem/31510832>
Reviewed by Dan Bernstein.
Adds a new test that performs data interaction in a contenteditable with multiple items containing URLs.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-05-23 Tim Horton <timothy_horton@apple.com>
REGRESSION: API test WebKit2.WKObject is failing
https://bugs.webkit.org/show_bug.cgi?id=172497
<rdar://problem/31694641>
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm:
(TestWebKitAPI::TEST):
Add a test that ensures that we pretend to at least be *some* kind of
NSString, which my first fix would not have passed.
2017-05-23 youenn fablet <youenn@apple.com>
There should be an easy way to run HTTP/WPT served tests on a browser
https://bugs.webkit.org/show_bug.cgi?id=172068
Reviewed by Sam Weinig.
Adding a new script open-layout-test to open a layout-test in a
browser and making sure it is served as done through run-webkit-tests.
In case tests should be run using a server, detecting whether the
server are running. If not, calling run-webkit-httpd to run the
servers and open the URL in a browser.
Otherwise, open directly the URL.
Adding an option in run-webkit-httpd to open an URL after having
started the servers.
Adding the --no-http-servers option in run-webkit-tests to not start any HTTP server.
This allows running run-webkit-httpd once and not having to restart
servers everytime a test should be served.
Moving most of run-webkit-httpd logic in its own python file to reuse
it in open-layout-test script.
Adding routines to check whether HTTP and WPT servers are running.
* Scripts/open-layout-test: Added.
(parse_args):
(main):
* Scripts/run-webkit-httpd:
(main):
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.find_tests):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* Scripts/webkitpy/layout_tests/servers/http_server_base.py:
(HttpServerBase._is_server_running_on_all_ports):
(HttpServerBase):
(HttpServerBase._is_running_on_port):
(HttpServerBase._check_that_all_ports_are_available):
(is_http_server_running):
* Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py: Copied from Tools/Scripts/run-webkit-httpd.
(parse_args):
(main):
(run_server):
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(is_wpt_server_running):
* Scripts/webkitpy/port/base.py:
(Port.to.is_http_server_running):
(Port.to):
(Port.to.is_wpt_server_running):
(Port.to.start_web_platform_test_server):
* Scripts/webkitpy/port/driver.py:
(DriverProxy.is_web_platform_test):
(DriverProxy):
(DriverProxy.is_webkit_specific_web_platform_test):
2017-05-23 Emilio Cobos Álvarez <ecobos@igalia.com>
Add a RuntimeEnabledFeature for display: contents, defaulted to false.
https://bugs.webkit.org/show_bug.cgi?id=171984
Reviewed by Antti Koivisto.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-05-20 Alex Christensen <achristensen@webkit.org>
REGRESSION(r215686): O(n^2) algorithm in CachedRawResource::addDataBuffer
https://bugs.webkit.org/show_bug.cgi?id=172406
<rdar://32109532>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::checkBuffer):
(TestWebKitAPI::TEST_F):
2017-05-22 Jason Marcell <jmarcell@apple.com>
Do not enter Subversion-specific logic when parsing Git-based Trac data.
https://bugs.webkit.org/show_bug.cgi?id=172433
<rdar://problem/32234188>
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
(Trac.prototype._convertCommitInfoElementToObject):
2017-05-22 Tim Horton <timothy_horton@apple.com>
ExplicitSnapshotsChangeUponNavigation API test often fails
https://bugs.webkit.org/show_bug.cgi?id=172475
<rdar://problem/31688322>
Reviewed by Simon Fraser.
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView _setUpTestWindow:]):
Make TestWKWebView's window layer-backed. This is now the default,
and it's also easy to accidentally write a test that depends on it
(for example, ExplicitSnapshotsChangeUponNavigation adds an NSBox,
which becomes layer backed, just like the WKWebView, but with no
common layer-backed ancestor).
2017-05-22 youenn fablet <youenn@apple.com>
Resync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
https://bugs.webkit.org/show_bug.cgi?id=172426
Reviewed by Chris Dumez.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.remove_deleted_files): Outputting warning when trying to delete a file that no longer exists.
2017-05-22 Konstantin Tokarev <annulen@yandex.ru>
Unreviewed, change my status to reviewer and fill "expertise" field
* Scripts/webkitpy/common/config/contributors.json:
2017-05-22 Tomas Popela <tpopela@redhat.com>
Remove some of the EFL port leftovers
https://bugs.webkit.org/show_bug.cgi?id=172440
Reviewed by Carlos Garcia Campos.
* BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):
(extractBuiltProduct):
* BuildSlaveSupport/test-result-archive:
(archiveTestResults):
* ImageDiff/PlatformEfl.cmake: Removed.
* Scripts/run-efl-tests: Removed.
* Scripts/webkit-build-directory:
* Scripts/webkitpy/common/config/contributionareas.py:
* Scripts/webkitpy/common/config/watchlist:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
(_set_up_derived_options):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.__init__):
* Scripts/webkitpy/style/checker.py:
* Scripts/webkitpy/style/checker_unittest.py:
(GlobalVariablesTest.test_path_rules_specifier):
* gtk/manifest.txt.in:
* jhbuild/jhbuild-wrapper:
2017-05-22 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Do not include WPE files in GTK+ tarballs.
* gtk/manifest.txt.in:
2017-05-22 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add webkit_context_menu_item_new_from_gaction
https://bugs.webkit.org/show_bug.cgi?id=159631
Reviewed by Michael Catanzaro.
Update context menu tests to check the new GAction API.
* TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
(testContextMenuPopulateMenu):
2017-05-21 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Remove Firefox user agent quirk for Google domains
https://bugs.webkit.org/show_bug.cgi?id=171941
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk): Deleted.
2017-05-20 Ting-Wei Lan <lantw44@gmail.com>
[GTK] gtkdoc-fixxref needs --module argument to work
https://bugs.webkit.org/show_bug.cgi?id=172415
Reviewed by Michael Catanzaro.
* gtk/gtkdoc.py:
(GTKDoc._run_gtkdoc_fixxref):
2017-05-20 Alexey Proskuryakov <ap@apple.com>
make-new-script-test should create tests that use js-test.js, not js-test-pre.js
https://bugs.webkit.org/show_bug.cgi?id=172416
Reviewed by Daniel Bates.
* Scripts/make-new-script-test:
2017-05-19 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] error LNK2005: WebCore::JSNode::checkSubClassPatchpoint() already defined in WebKit.lib
https://bugs.webkit.org/show_bug.cgi?id=172267
Reviewed by Per Arne Vollan.
TestWebCoreLib and TestWebKitLib have linked both WebCore and WebKit.
TestWebCoreLib should link only with WebCore. And, TestWebKitLib
should link only with WebKit.
Unfortunately, there is a layer violation at the moment.
WebCore::Image::loadPlatformResource needs loadResourceIntoBuffer
in WebKit. This change contains a stub of loadResourceIntoBuffer
in TestWebCoreLib for the workaround.
* TestWebKitAPI/PlatformWin.cmake: Do not link WebKit to
TestWebCoreLib. Do not link WebCore to TestWebKitLib.
* TestWebKitAPI/win/TestWebCoreStubs.cpp: Added.
(loadResourceIntoBuffer): Added a stub.
2017-05-19 Simon Fraser <simon.fraser@apple.com>
Fix dump-class-layout to handle different file architectures
https://bugs.webkit.org/show_bug.cgi?id=172392
Reviewed by Zalan Bujtas.
Instead of using lldb.LLDB_ARCH_DEFAULT by default, run 'file' on the binary
and use the first architecture reported. Also add a "--architecture" argument
to allow the user to specify an architecture.
* Scripts/dump-class-layout:
(import_lldb):
(verify_type_recursive):
(get_first_file_architecture):
(dump_class):
(main):
(find_build_directory): Deleted.
2017-05-19 Jonathan Bedard <jbedard@apple.com>
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort._create_devices): Ignore failure to open Simulator.app.
2017-05-19 Jonathan Bedard <jbedard@apple.com>
webkitpy: Use simctl boot to run multiple simulators at once
https://bugs.webkit.org/show_bug.cgi?id=172374
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.xcode_version): Return the current version of Xcode.
* Scripts/webkitpy/common/system/platforminfo_mock.py:
(MockPlatformInfo.xcode_version): Return version 8.0 for testing.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.use_multiple_simulator_apps): Return true if we need to
run multiple Simulator.app instances.
(IOSSimulatorPort._create_simulators): Only copy the simulator app for older
versions of Xcode.
(IOSSimulatorPort._create_devices): Use 'simctl boot' directly unless using
an older version of Xcode.
2017-05-19 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix the build on the latest internal SDK.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-05-19 Filip Pizlo <fpizlo@apple.com>
arrayProtoPrivateFuncConcatMemcpy needs to be down with firstArray being undecided
https://bugs.webkit.org/show_bug.cgi?id=172369
Reviewed by Mark Lam.
Because I wrote a test that relies on the NoCJIT config scribbling free cells, I thought it
would be a good idea to write this down.
* Scripts/run-jsc-stress-tests:
2017-05-19 Jonathan Bedard <jbedard@apple.com>
webkitpy: Layout tests which have no output will succeed
https://bugs.webkit.org/show_bug.cgi?id=172322
<rdar://problem/32258350>
Reviewed by David Kilzer.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_text): Add FailreNotTested to failures if test has no output.
* Scripts/webkitpy/layout_tests/models/test_failures.py:
(determine_result_type): FailureNotTested means that the test could not be loaded. This
is classified as a MISSING failure.
(FailureNotTested): Added.
(FailureNotTested.message):
2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com>
Add SixSpeed benchmark to PerformanceTests
https://bugs.webkit.org/show_bug.cgi?id=172326
Reviewed by Sam Weinig.
* Scripts/run-jsc-benchmarks:
2017-05-19 Wenson Hsieh <wenson_hsieh@apple.com>
[WK1] MiniBrowser should navigate when handling a dropped URL
https://bugs.webkit.org/show_bug.cgi?id=172350
Reviewed by Tim Horton.
Allow all drop actions, including URL navigation, for WebKit1 MiniBrowser.
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
2017-05-18 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION (r216694 - 216712): Performance test Speedometer/Full.html is failing
https://bugs.webkit.org/show_bug.cgi?id=172077
Reviewed by Chris Dumez.
Fixed perftest.py by updating the lines to ignore in Speedometer.
Also start report the results as "Speedometer" instead of "DoYouEvenBench/Full.html" to perf.webkit.org.
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest._lines_to_ignore_in_parser_result): Updated for Speedometer 2.0.
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._collect_tests): Use "Speedometer" instead of "Speedometer/index.html" as the test name.
(_generate_results_dict): Removed the workaround to keep reporting Speedometer as DoYouEvenBench.
* Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.test_collect_tests_with_index_html_and_resources): Added.
2017-05-18 Andy Estes <aestes@apple.com>
ENABLE(APPLE_PAY_DELEGATE) should be NO on macOS Sierra and earlier
https://bugs.webkit.org/show_bug.cgi?id=172305
Reviewed by Anders Carlsson.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-05-18 Wenson Hsieh <wenson_hsieh@apple.com>
Selection around attachment elements should not persist when beginning a drag
https://bugs.webkit.org/show_bug.cgi?id=172319
<rdar://problem/32283008>
Reviewed by Tim Horton.
Tests that temporary selection around an attachment does not persist longer than it needs to.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-05-18 John Wilander <wilander@apple.com>
Resource Load Statistics: Grandfather domains for existing data records
https://bugs.webkit.org/show_bug.cgi?id=172155
<rdar://problem/24913532>
Reviewed by Alex Christensen.
Adds test infrastructure needed for the added functionality.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsGrandfathered):
(WTR::TestRunner::isStatisticsGrandfathered):
(WTR::TestRunner::installStatisticsDidScanDataRecordsCallback):
(WTR::TestRunner::statisticsDidScanDataRecordsCallback):
(WTR::TestRunner::setStatisticsGrandfatheringTime):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsGrandfathered):
(WTR::TestController::isStatisticsGrandfathered):
(WTR::TestController::setStatisticsGrandfatheringTime):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-05-18 Saam Barati <sbarati@apple.com>
WebAssembly: perform stack checks
https://bugs.webkit.org/show_bug.cgi?id=165546
<rdar://problem/29760307>
Reviewed by Filip Pizlo.
Add some new testing modes for using and not using fast TLS wasm contexts.
* Scripts/run-jsc-stress-tests:
2017-05-18 Daniel Bates <dabates@apple.com>
REGRESSION (r209608): Cross-origin plugin document opened in child window blocked by parent
window CSP when object-src 'none' is set
https://bugs.webkit.org/show_bug.cgi?id=172038
<rdar://problem/32258262>
Reviewed by Andy Estes.
Teach the test Netscape plugin to look for a URL that contains plugin-document-alert-and-notify-done.pl.
When it sees this URL it will show a JavaScript alert and call testRunner.notifyDone().
* DumpRenderTree/TestNetscapePlugIn/main.cpp:
(NPP_New):
2017-05-18 Per Arne Vollan <pvollan@apple.com>
[Win] Many layout tests are failing.
https://bugs.webkit.org/show_bug.cgi?id=172286
Reviewed by Brent Fulgham.
Add a FIXME comment about unimplemented functions, instead of writing this to the test result file.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::grantWebNotificationPermission):
(TestRunner::denyWebNotificationPermission):
(TestRunner::removeAllWebNotificationPermissions):
(TestRunner::simulateWebNotificationClick):
2017-05-18 Don Olmstead <don.olmstead@am.sony.com>
[Win] Remove usage of _snprintf
https://bugs.webkit.org/show_bug.cgi?id=172251
Reviewed by Per Arne Vollan.
* DumpRenderTree/TestNetscapePlugIn/PluginTest.h:
* MiniBrowser/win/PageLoadTestClient.cpp:
(PageLoadTestClient::dumpRunStatistics):
2017-05-17 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r217014.
This change caused mac-wk2 LayoutTests to exit early due to
crashes.
Reverted changeset:
"Resource Load Statistics: Grandfather domains for existing
data records"
https://bugs.webkit.org/show_bug.cgi?id=172155
http://trac.webkit.org/changeset/217014
2017-05-17 John Wilander <wilander@apple.com>
Resource Load Statistics: Grandfather domains for existing data records
https://bugs.webkit.org/show_bug.cgi?id=172155
<rdar://problem/24913532>
Reviewed by Alex Christensen.
Adds test infrastructure needed for the added functionality.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsGrandfathered):
(WTR::TestRunner::isStatisticsGrandfathered):
(WTR::TestRunner::installStatisticsDidScanDataRecordsCallback):
(WTR::TestRunner::statisticsDidScanDataRecordsCallback):
(WTR::TestRunner::setStatisticsGrandfatheringTime):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsGrandfathered):
(WTR::TestController::isStatisticsGrandfathered):
(WTR::TestController::setStatisticsGrandfatheringTime):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-05-17 Alex Christensen <achristensen@webkit.org>
Fix ios-simulator API test after r216977
https://bugs.webkit.org/show_bug.cgi?id=171987
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(TEST):
<rdar://problem/32260156> covers the investigation of this, but fixing it is
not as urgent as having the rest of this working. Notably the ephemeral part of the
test works, so something is just wrong with the persistent part.
2017-05-17 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r216955.
This change caused strange behavior with web-platform-tests
locally and on EWS.
Reverted changeset:
"webkitpy: Start servers before setting-up for testing"
https://bugs.webkit.org/show_bug.cgi?id=172176
http://trac.webkit.org/changeset/216955
2017-05-17 Wenson Hsieh <wenson_hsieh@apple.com>
A URL type is vended for a non-URL plain text string when starting data interaction
https://bugs.webkit.org/show_bug.cgi?id=172228
<rdar://problem/32166729>
Reviewed by Andy Estes.
Adds two new data interaction tests, SinglePlainTextWordTypeIdentifiers and SinglePlainTextURLTypeIdentifiers,
to verify that a URL UTI is not vended when beginning a data interaction on a single word, but that a URL is
still vended when beginning data interaction on something that resembles a link.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2017-05-17 David Kilzer <ddkilzer@apple.com>
BlobDataFileReference::generateReplacementFile() should use mkstemp()
<https://webkit.org/b/172192>
Reviewed by Brent Fulgham.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_language): Add check for mktemp.
(CppChecker): Add 'security/temp_file' category.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_insecure_temp_file): Add test.
2017-05-17 Devin Rousso <drousso@apple.com>
Unreviewed, change my email.
* Scripts/webkitpy/common/config/contributors.json:
2017-05-17 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r216974.
Revision caused consistent timeouts on all platforms.
Reverted changeset:
"Add a RuntimeEnabledFeature for display: contents, defaulted
to false."
https://bugs.webkit.org/show_bug.cgi?id=171984
http://trac.webkit.org/changeset/216974
2017-05-17 Alex Christensen <achristensen@webkit.org>
Interacting with WKHTTPCookieStores before creating WKWebViews and WKProcessPools should affect cookies used
https://bugs.webkit.org/show_bug.cgi?id=171987
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2017-05-17 Emilio Cobos Álvarez <ecobos@igalia.com>
Add a RuntimeEnabledFeature for display: contents, defaulted to false.
https://bugs.webkit.org/show_bug.cgi?id=171984
Reviewed by Antti Koivisto.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-05-16 Timothy Horton <timothy_horton@apple.com>
Fix the build
* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
(TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
2017-05-16 Tim Horton <timothy_horton@apple.com>
PageVisibilityStateWithWindowChanges tests sometimes time out
https://bugs.webkit.org/show_bug.cgi?id=172202
<rdar://problem/29653266>
Reviewed by Dean Jackson.
* TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
(TestWebKitAPI::PageVisibilityStateWithWindowChanges::runTest):
Make sure the window is miniaturizable, otherwise, in some cases, miniaturize: will not work.
2017-05-16 Jonathan Bedard <jbedard@apple.com>
webkitpy: Start servers before setting-up for testing
https://bugs.webkit.org/show_bug.cgi?id=172176
<rdar://problem/32225538>
Reviewed by Alexey Proskuryakov.
On-device testing requires that servers are started before ports set-up their
test environments.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.__init__): Start servers when initializing LayoutTestRunner.
(LayoutTestRunner.run_tests): Move the starting of servers to the initializer.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__): Delay construction of the test runner until we can determine
if servers need to be started.
(Manager.run): Determine if servers need to be started and construct the test runner.
(Manager._run_tests): Move the determination of servers to run into Manager.run.
2017-05-16 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed, adding myself to contributors.json
* Scripts/webkitpy/common/config/contributors.json:
2017-05-16 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Tests that always pass when run alone, but fail in the bots
https://bugs.webkit.org/show_bug.cgi?id=168572
Reviewed by Michael Catanzaro.
PlatformWebView::viewSupportsOptions() is basically a comparison
that checks that the passed options are the ones supported by the
web view. There is no reason for them to be implemented for each
platform differently. In fact doing so causes issues each time a
new option is added, if the corresponding platform implementation
is not updated accordingly.
A consequence of not updating the viewSupportOptions()
implementations when new options are added is that tests that need
these options might fail if they are executed after a test that
didn't need the option, as the webview will be reused even if the
option is not supported. This cannot be spotted when running the
tests individually. See bug #165133 for other example of the same
problem.
Remove the platform implementations and make the comparison a
method of the TestOptions structure, so that the check is in one
place. For the time being, only include in the comparison the
options that were checked in the mac platform, which seem to be
the only ones relevant this far (unless newer ones have also been
forgotten).
* WebKitTestRunner/PlatformWebView.h:
(WTR::PlatformWebView::viewSupportsOptions): Use the method
defined below.
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions): Added.
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::viewSupportsOptions): Deleted.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::viewSupportsOptions): Deleted.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::viewSupportsOptions): Deleted.
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::viewSupportsOptions): Deleted.
2017-05-15 Yusuke Suzuki <utatane.tea@gmail.com>
[JSC] Build testapi in non Apple ports
https://bugs.webkit.org/show_bug.cgi?id=172103
Reviewed by Filip Pizlo.
Now testapi is drived in JSCOnly, GTK and WPE ports too.
* Scripts/build-jsc:
* Scripts/run-javascriptcore-tests:
2017-05-15 Youenn Fablet <youenn@apple.com>
WPT test importer should not account for slow manual tests
https://bugs.webkit.org/show_bug.cgi?id=172127
Reviewed by Ryosuke Niwa.
Making sure manual tests are not triggering updating tests-options.json file.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.find_importable_tests):
(TestImporter._already_identified_as_resource_file):
(TestImporter.update_tests_options):
* Scripts/webkitpy/w3c/test_importer_unittest.py:
(test_manual_slow_test):
2017-05-15 Jonathan Bedard <jbedard@apple.com>
webkitpy: Some versions of simctl do not place parenthesis around runtime identifiers
https://bugs.webkit.org/show_bug.cgi?id=172142
Reviewed by Tim Horton.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator._parse_runtimes): Newer versions of simctl output do not put parenthesis
around runtime identifiers.
* Scripts/webkitpy/xcode/simulator_unittest.py: Add tests for new simctl output.
2017-05-15 Ryosuke Niwa <rniwa@webkit.org>
Update ARES-6 plan file to use the latest version
https://bugs.webkit.org/show_bug.cgi?id=172139
Reviewed by Keith Miller.
Include r216538.
* Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan:
2017-05-15 Jeremy Jones <jeremyj@apple.com>
Disable Picture In Picture API tests on unsupported platforms.
https://bugs.webkit.org/show_bug.cgi?id=172125
rdar://problem/32199477
Reviewed by Simon Fraser.
The callbacks and allowing picture-in-picture require new SPI.
* TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm:
2017-05-15 Brady Eidson <beidson@apple.com>
[ios-simulator] API test WKWebView.ClearAppCache is failing.
https://bugs.webkit.org/show_bug.cgi?id=172120
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
(TEST): ios-sim needs explicit deleting of the app cache paths that I'd removed in 216805.
Restoring that code fixes this.
2017-05-15 Timothy Horton <timothy_horton@apple.com>
Null deref under WebContentReader::readURL when interacting with a file URL
https://bugs.webkit.org/show_bug.cgi?id=172045
<rdar://problem/25880647>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
The text of the file URL is pasted because a textual version of it gets
onto the pasteboard. However, this test would have crashed before. Also
tests that we don't make an <a>.
2017-05-14 Per Arne Vollan <pvollan@apple.com>
[Win] fast/cookies/local-file-can-set-cookies.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=172071
Reviewed by Alexey Proskuryakov.
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
2017-05-14 Chris Dumez <cdumez@apple.com>
Drop PassRefPtr class from WTF
https://bugs.webkit.org/show_bug.cgi?id=172091
Reviewed by Alex Christensen.
Drop API test coverage.
* TestWebKitAPI/Tests/WTF/Ref.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::passWithPassRefPtr): Deleted.
2017-05-13 Eric Carlson <eric.carlson@apple.com>
[MediaStream] deviceId constraint doesn't work with getUserMedia
https://bugs.webkit.org/show_bug.cgi?id=171877
<rdar://problem/31899730>
Reviewed by Jer Noble.
The device ID hash salt is now required for getUserMedia to check deviceId constraint, so
implement the "checkUserMediaPermission" callback.
* TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
(TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack):
(TestWebKitAPI::checkUserMediaPermissionCallback):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm:
(-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
2017-05-13 Chris Dumez <cdumez@apple.com>
Stop using RefPtr::release()
https://bugs.webkit.org/show_bug.cgi?id=172074
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WTF/RefPtr.cpp:
(TestWebKitAPI::TEST):
2017-05-13 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r216808.
https://bugs.webkit.org/show_bug.cgi?id=172075
caused lldb to hang when debugging (Requested by smfr on
#webkit).
Reverted changeset:
"Use Mach exceptions instead of signals where possible"
https://bugs.webkit.org/show_bug.cgi?id=171865
http://trac.webkit.org/changeset/216808
2017-05-12 Alex Christensen <achristensen@webkit.org>
Rename WKContentExtension to WKContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=172053
<rdar://problem/32141005>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm:
(WKContentRuleListStoreTest::SetUp):
(TEST_F):
(-[ContentRuleListDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(WKContentExtensionStoreTest::SetUp): Deleted.
(-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.
2017-05-12 Keith Miller <keith_miller@apple.com>
Use Mach exceptions instead of signals where possible
https://bugs.webkit.org/show_bug.cgi?id=171865
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
(runThreadMessageTest):
(TEST):
2017-05-12 Jeremy Jones <jeremyj@apple.com>
Add objc version of WK2 UIPageClient setHasVideoInPictureInPicture and rename it to hasVideoInPictureInPictureDidChange.
https://bugs.webkit.org/show_bug.cgi?id=172048
rdar://problem/32163054
Reviewed by Simon Fraser.
Add a WKWebView test for hasVideoInPictureInPictureDidChange UIDelegate callback.
* TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html:
* TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm:
(hasVideoInPictureInPictureDidChange):
(-[PictureInPictureUIDelegate _webView:hasVideoInPictureInPictureDidChange:]):
(-[PictureInPictureUIDelegate userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):
2017-05-12 Brady Eidson <beidson@apple.com>
REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
https://bugs.webkit.org/show_bug.cgi?id=172030
Unreviewed - Test gardening
Try to resolve this once and for all by using the WebsiteDataStore API to nuke everything
before the test starts.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
(defaultWebsiteCacheDirectory):
(defaultApplicationCacheDirectory):
(TEST):
(defaultWebsiteDataDirectory): Deleted.
2017-05-12 David Quesada <david_quesada@apple.com>
Add SPI for overriding WKWebView's clipping behavior for _visibleContentRect
https://bugs.webkit.org/show_bug.cgi?id=172000
rdar://problem/32144756
Reviewed by Simon Fraser.
Added API tests to verify that WKWebView provides the expected value for
_visibleContentRect in various configurations. (i.e. not inside a scrollview,
inside a scrollview but not clipped, clipped by an ancestor scrollview,
clipped by the webview's _enclosingViewForExposedRectComputation)
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/VisibleContentRect.mm: Added.
(-[TestWKWebViewWithEnclosingView _enclosingViewForExposedRectComputation]):
(TestWebKitAPI::TEST):
2017-05-12 Brady Eidson <beidson@apple.com>
REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
https://bugs.webkit.org/show_bug.cgi?id=172030
Unreviewed - Test gardening, in effect...
More exploration as to why this continues to fail on the bots.
This change should give us a smoking gun.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
(TEST):
2017-05-12 Hyungwook Lee <hyungwook.lee@navercorp.com>
[GTK] Fix compile warnings in PlatformImageCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=171850
Reviewed by Michael Catanzaro.
* ImageDiff/cairo/PlatformImageCairo.cpp:
(ImageDiff::PlatformImage::createFromStdin):
(ImageDiff::PlatformImage::writeAsPNGToStdout):
2017-05-12 Jeremy Jones <jeremyj@apple.com>
Add UIClient callback for when picture-in-picture is activated.
https://bugs.webkit.org/show_bug.cgi?id=172023
Reviewed by Simon Fraser.
Added a test for WKPageUIClientV10 setHasVideoInPictureInPicture.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm: Added.
(onLoadedCompletedCallback):
(waitUntilOnLoadIsCompleted):
(didFinishLoadForFrame):
(setHasVideoInPictureInPicture):
(TestWebKitAPI::TEST):
2017-05-12 Jonathan Bedard <jbedard@apple.com>
Unreviewed follow-up to r216776.
* Scripts/webkitpy/port/base.py:
(Port.path_to_crash_logs): Raise not implemented.
* Scripts/webkitpy/port/test.py:
(TestPort.path_to_crash_logs): Return results directory as the location of crash logs.
* Scripts/webkitpy/port/win.py:
(WinPort.path_to_crash_logs): Ditto.
2017-05-12 Alexey Proskuryakov <ap@apple.com>
Bot watcher's dashboard shows results links twice sometimes
https://bugs.webkit.org/show_bug.cgi?id=172043
Reviewed by Tim Horton.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
2017-05-12 Brady Eidson <beidson@apple.com>
REGRESSION (r216711): API test WKWebView.ClearAppCache is failing.
https://bugs.webkit.org/show_bug.cgi?id=172030
Unreviewed - Test gardening, in effect...
This failure is only being seen by the bots.
I believe this test is utterly broken in the first place; when it checks the .wal file's
size that is not actually an indicator that the records were deleted.
But that isn't what's coming up as failure on the bots.
This patch is an attempt to:
1 - More forcefully clear the Website data directory of leftovers before the test starts.
2 - Give an earlier indication of the failure that the bots are seeing, to possibly reveal more.
* TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm:
(defaultWebsiteDataDirectory):
(defaultApplicationCacheDirectory):
(TEST):
2017-05-12 Jonathan Bedard <jbedard@apple.com>
webkitpy: Pass directory with crash logs into CrashLogs
https://bugs.webkit.org/show_bug.cgi?id=172033
<rdar://problem/32157616>
Reviewed by Daniel Bates.
Refactor CrashLogs and the callers of CrashLogs so that the port object owns
the location of crash logs.
* Scripts/webkitpy/common/system/crashlogs.py:
(CrashLogs.__init__): Pass mandatory crash_log_directory when constructing.
(CrashLogs._find_newest_log_darwin): Use self._crash_log_directory instead of
generating one.
(CrashLogs._find_newest_log_win): Use self._crash_log_directory instead of
self._results_directory.
(CrashLogs._find_all_logs_darwin): Use self._crash_log_directory instead of
generating one.
(CrashLogs._log_directory_darwin): Moved to port.
* Scripts/webkitpy/common/system/crashlogs_unittest.py: Update tests since the path
to the crash log is no longer owned by CrashLogs.
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Use the general
directory for uploading crash logs. Note that crash logs are only supported on Mac
and Windows.
* Scripts/webkitpy/port/apple.py: Remove unneeded CrashLogs import.
* Scripts/webkitpy/port/base.py:
(Port.path_to_crash_logs): Unless ports declare otherwise, crash logs are assumed
to be in the results directory.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.path_to_crash_logs): Moved from CrashLogs._log_directory_darwin.
(DarwinPort._look_for_all_crash_logs_in_log_dir): Use port specific crash log path.
(DarwinPort._get_crash_log): Ditto.
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_crashlog_path): Test that the Darwin ports are correctly calculating
the path to crash logs.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.path_to_crash_logs): Currently, crash log retrieval is undefined for iOS.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_crashlog_path): Currently, crash log retrieval is undefined for iOS.
* Scripts/webkitpy/port/ios_simulator.py: Remove unneeded CrashLogs import.
* Scripts/webkitpy/port/mac.py: Ditto.
* Scripts/webkitpy/port/test.py:
(TestDriver.run_test): Use port specific crash log path when retrieving crash logs.
* Scripts/webkitpy/port/win.py:
(WinPort._get_crash_log): Ditto.
* Scripts/webkitpy/tool/commands/queries.py:
(execute): Construct a port object since this is the object which owns the path to crash logs.
2017-05-12 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/create-navigation-data after r216615.
In r216615 the custom code for window.open() was removed. The generated code now correctly handles the optional
URL parameter using the default value "about:blank" when not provided.
* TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
(testWebViewCreateNavigationData):
2017-05-11 Youenn Fablet <youenn@apple.com>
Allow WPT server to serve specific WebKit test
https://bugs.webkit.org/show_bug.cgi?id=171479
Reviewed by Ryosuke Niwa.
Adding a new mount point to WPT server.
It points to LayoutTests/http/wpt folder and is triggered on "/WebKit" urls.
Updating the webkitpy infrastructure to launch WPT server and do test url mapping for LayoutTests/wpt tests.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__):
(Manager._is_http_test):
(Manager._needs_web_platform_test):
(Manager._run_tests):
(Manager._is_web_platform_test): Deleted.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
(build_routes):
(main):
* Scripts/webkitpy/port/driver.py:
(Driver):
(Driver.is_webkit_specific_web_platform_test):
(Driver.test_to_uri):
(Driver._command_from_driver_input):
2017-05-11 Brady Eidson <beidson@apple.com>
[WKWebsiteDataStore removeDataOfTypes:...] doesn't work for IndexedDB if the data store has a custom IDB path.
<rdar://problem/30612463> and https://bugs.webkit.org/show_bug.cgi?id=171994
Reviewed by Andy Estes.
Informal review by Maureen Daum.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2017-05-11 Joseph Pecoraro <pecoraro@apple.com>
REGRESSION(r216217): lldb_webkit.py no longer prints out a WTFString, StringImpl needs to handle StringImplShape change
https://bugs.webkit.org/show_bug.cgi?id=171989
Reviewed by Brian Burg.
* lldb/lldb_webkit.py:
(WTFStringImplProvider.get_data8):
(WTFStringImplProvider.get_data16):
m_data8 and m_data16 are now part of the superclass StringImplShape
instead of directly in StringImpl. So first get the shape by getting
index 0, and the data properties are the same offset within that.
2017-05-11 Joseph Pecoraro <pecoraro@apple.com>
Remove Vibration API
https://bugs.webkit.org/show_bug.cgi?id=171766
Rubber-stamped by Alexey Proskuryakov.
* Scripts/webkitperl/FeatureList.pm:
2017-05-11 Carlos Alberto Lopez Perez <clopez@igalia.com>
Add WPE release bots
https://bugs.webkit.org/show_bug.cgi?id=171973
Reviewed by Žan Doberšek.
This adds a WPE Release Build bot (64-bit) and a WPE Release Test bot.
It also adds a new WPE buildbot category.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(InstallWpeDependencies):
(appendCustomBuildFlags):
(Factory.__init__):
(loadBuilderConfig):
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
* BuildSlaveSupport/build.webkit.org-config/templates/root.html:
2017-05-09 Sam Weinig <sam@webkit.org>
Remove support for legacy Notifications
https://bugs.webkit.org/show_bug.cgi?id=171487
Reviewed by Jon Lee.
* DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
(DRTDesktopNotificationPresenter::checkNotificationPermission):
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
Remove use and definition of ENABLE_LEGACY_NOTIFICATIONS.
2017-05-10 Michael Catanzaro <mcatanzaro@igalia.com>
Remove user agent quirk for Slack
https://bugs.webkit.org/show_bug.cgi?id=171869
Reviewed by Carlos Garcia Campos.
Remove the corresponding test.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2017-05-10 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r216578.
https://bugs.webkit.org/show_bug.cgi?id=171920
Broke the GTK+ build with Wayland enabled (Requested by KaL on
#webkit).
Reverted changeset:
"[GTK] Bump GTK+ and its dependencies in jhbuild"
https://bugs.webkit.org/show_bug.cgi?id=171918
http://trac.webkit.org/changeset/216578
2017-05-10 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bump GTK+ and its dependencies in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=171918
Reviewed by Carlos Alberto Lopez Perez.
* WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::initializeGtkSettings):
* gtk/jhbuild.modules:
* gtk/patches/gtk+-configure-fix-detecting-CUPS-2.x.patch: Removed.
* gtk/patches/librsvg-2.36.1-bump-up-config.guess-to-support-aarch64.patch: Removed.
2017-05-10 Don Olmstead <don.olmstead@am.sony.com>
[Win] Set CMake args in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=171436
Reviewed by Per Arne Vollan.
* Scripts/build-webkit:
2017-05-10 Carlos Garcia Campos <cgarcia@igalia.com>
ImageDiff: Add CG implementation for new ImageDiff
https://bugs.webkit.org/show_bug.cgi?id=170608
Reviewed Alex Christensen.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/win/ImageDiffCairo.cpp: Removed.
* DumpRenderTree/win/ImageDiffWin.cpp: Removed.
* ImageDiff/CMakeLists.txt:
* ImageDiff/Cairo.cmake:
* ImageDiff/ImageDiff.cpp:
(main):
* ImageDiff/ImageDiff.xcodeproj/project.pbxproj:
* ImageDiff/PlatformImage.cpp:
* ImageDiff/PlatformImage.h:
* ImageDiff/cairo/PlatformImageCairo.cpp:
* ImageDiff/cg/ImageDiff.cpp: Removed.
* ImageDiff/cg/PlatformImageCG.cpp: Added.
(ImageDiff::PlatformImage::createFromStdin):
(ImageDiff::PlatformImage::createFromDiffData):
(ImageDiff::PlatformImage::PlatformImage):
(ImageDiff::PlatformImage::~PlatformImage):
(ImageDiff::PlatformImage::width):
(ImageDiff::PlatformImage::height):
(ImageDiff::PlatformImage::rowBytes):
(ImageDiff::PlatformImage::hasAlpha):
(ImageDiff::PlatformImage::pixels):
(ImageDiff::PlatformImage::writeAsPNGToStdout):
2017-05-10 Zan Dobersek <zdobersek@igalia.com>
Enable FTL JIT by default on AArch64
https://bugs.webkit.org/show_bug.cgi?id=144039
Reviewed by Yusuke Suzuki.
* Scripts/build-jsc: Enable the FTL JIT option by default on ARM64.
* Scripts/run-jsc-stress-tests: Unmark the ARM64 and Linux combination
as an unsupported FTL platform.
* Scripts/webkitdirs.pm:
(isARM64): Returns 1 if the determined architecture is 'arm64'.
* Scripts/webkitperl/FeatureList.pm: Enable FTL_JIT and WEBASSEMBLY on ARM64.
2017-05-09 Jonathan Bedard <jbedard@apple.com>
webkitpy: Remove unneeded crash log retrieval, refactor Darwin crash retrieval
https://bugs.webkit.org/show_bug.cgi?id=170857
<rdar://problem/31635373>
Reviewed by Aakash Jain.
Since LayoutTestRelay has been removed, iOS Simulators and Macs can use the same
code to search for crash logs.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort._get_crash_log): Moved from MacPort.
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_get_crash_log): Moved from MacTest.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort._get_crash_log): Implement pass-through for iOS device, since iOS
devices must search for crash-logs remotely.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort._get_crash_log): Deleted.
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.test_get_crash_log): Deleted.
* Scripts/webkitpy/port/mac.py:
(MacPort._get_crash_log): Moved to DarwinPort
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_get_crash_log): Moved to DarwinTest.
2017-05-09 Jonathan Bedard <jbedard@apple.com>
build ImageDiff with host SDK from Make
https://bugs.webkit.org/show_bug.cgi?id=171835
Reviewed by Alexey Proskuryakov.
ImageDiff should be built for the default SDK and default architecture when
the SDKROOT is set to either iOS device or iOS simulator. Check the
DO_NOT_BUILD_IMAGE_DIFF flag to skip the ImageDiff build.
* ImageDiff/Makefile: Use Mac SDK when building for iOS Simulator or iOS device.
* Makefile: Do not build ImageDiff if the DO_NOT_BUILD_IMAGE_DIFF flag is set.
2017-05-09 Matt Lewis <jlewis3@apple.com>
Unreviewed, adding myself to contributors.json
* Scripts/webkitpy/common/config/contributors.json:
2017-05-09 Jonathan Bedard <jbedard@apple.com>
REGRESSION: ImageDiff not building with make
https://bugs.webkit.org/show_bug.cgi?id=171788
Reviewed by Alex Christensen.
* Makefile: Build ImageDiff for all platforms.
2017-05-09 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] ImageDiff isn't built since Bug 168945
https://bugs.webkit.org/show_bug.cgi?id=171847
Reviewed by Alex Christensen.
* CMakeLists.txt: Add 'ImageDiff' sub-directory to build if WIN32.
* ImageDiff/ImageDiff.cpp: Include some header files to fix compilation errors.
* ImageDiff/PlatformWin.cmake: Define USE_CAIRO if WinCairo port.
2017-05-09 Zan Dobersek <zdobersek@igalia.com>
Upstream the WPE port
https://bugs.webkit.org/show_bug.cgi?id=171110
Reviewed by Alex Christensen.
webkit-dev thread:
https://lists.webkit.org/pipermail/webkit-dev/2017-April/028923.html
Add WPE support to various tooling scripts, TestWebKitAPI and WebKitTestRunner.
In-file changes removed from this ChangeLog entry for brevity.
* BuildSlaveSupport/built-product-archive:
* BuildSlaveSupport/test-result-archive:
* CMakeLists.txt:
* ImageDiff/PlatformWPE.cmake: Added.
* Scripts/build-dumprendertree:
* Scripts/build-webkit:
* Scripts/build-webkittestrunner:
* Scripts/update-webkit-libs-jhbuild:
* Scripts/update-webkitwpe-libs: Added.
* Scripts/webkitdirs.pm:
* Scripts/webkitperl/FeatureList.pm:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
* Scripts/webkitpy/port/factory.py:
* Scripts/webkitpy/port/wpe.py: Added.
* TestWebKitAPI/PlatformWPE.cmake: Added.
* TestWebKitAPI/wpe/InjectedBundleControllerWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
* TestWebKitAPI/wpe/PlatformUtilitiesWPE.cpp: Added.
* TestWebKitAPI/wpe/main.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Added.
* WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Added.
* WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp: Added.
* WebKitTestRunner/InjectedBundle/wpe/InjectedBundleWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
* WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
* WebKitTestRunner/PlatformWPE.cmake: Added.
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp: Added.
* WebKitTestRunner/wpe/HeadlessViewBackend.cpp: Added.
* WebKitTestRunner/wpe/HeadlessViewBackend.h: Copied from Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h.
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp: Added.
* WebKitTestRunner/wpe/TestControllerWPE.cpp: Added.
* WebKitTestRunner/wpe/main.cpp: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
* jhbuild/jhbuild-wrapper:
* wpe/generate-inspector-gresource-manifest.py: Added.
* wpe/jhbuild.modules: Added.
* wpe/jhbuildrc: Added.
* wpe/patches/cairo-egl-device-create-for-egl-surface.patch: Added.
* wpe/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Added.
* wpe/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Added.
* wpe/patches/gdate-suppress-string-format-literal-warning.patch: Added.
* wpe/patches/glib-warning-fix.patch: Added.
* wpe/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Added.
* wpe/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Added.
* wpe/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Added.
* wpe/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Added.
* wpe/patches/gstreamer-typefind-Only-push-a-CAPS-event-downstream-if-the-.patch: Added.
2017-05-08 Jonathan Bedard <jbedard@apple.com>
Implement PlatformWebView::windowSnapshotImage and createBitmapContextFromWebView for iOS devices
https://bugs.webkit.org/show_bug.cgi?id=169421
<rdar://problem/30950171>
Reviewed by Tim Horton.
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView): Implement for IOSurface.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage): Use snapshot API for device.
2017-05-08 Jonathan Bedard <jbedard@apple.com>
buildbot: Cleanup simulators after running tests
https://bugs.webkit.org/show_bug.cgi?id=171679
Reviewed by Aakash Jain.
simctl is partitioned for each user. Since kill-old-processes
is run as root, we need to specify the buildbot user when tearing
down simulators between steps.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(KillOldProcesses): Pass buildbot user to kill-old-processes.
* BuildSlaveSupport/kill-old-processes:
(main): Specify the user for simctl if one has been provided.
2017-05-08 Carlos Alberto Lopez Perez <clopez@igalia.com>
REGRESSION(r216179): [GTK] Script install-dependencies misses liborc
https://bugs.webkit.org/show_bug.cgi?id=171681
Reviewed by Carlos Garcia Campos.
* gtk/install-dependencies:
2017-05-08 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ test /webkit2/WebKitConsoleMessage/network-error after r215556.
Glib uses now Unicode quotes in error messages.
* TestWebKitAPI/Tests/WebKit2Gtk/TestConsoleMessage.cpp:
(testWebKitConsoleMessageNetworkError):
2017-05-08 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r215404.
Sending down+up keys is no longer enough to simulate a real user interaction after r215404, the key events now
should be handled by the web process to be considered a user interaction. So, add an input to the HTML and send
characters to the input. Also fix typo in the function name.
* TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
(testWebViewJavaScriptDialogs):
2017-05-07 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Cannot sign in with new Google sign-in page
https://bugs.webkit.org/show_bug.cgi?id=171770
Unreviewed. This just adds a test.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2017-05-06 Simon Fraser <simon.fraser@apple.com>
[iOS WK2] Make rotation tests more reliable
https://bugs.webkit.org/show_bug.cgi?id=171778
Reviewed by Tim Horton.
Switching between "safari-style" rotation and normal rotation left state on the WKWebView
that would cause later viewport-sensitive tests to fail. The WKWebView would be left
with override layout parameters, and an override orientation, and these caused viewport
size to leak into later tests, and WebCore orientation to not get reset correctly.
Also, WKWebView was unregistering for UIWindowDidRotateNotification notifications when
an override orientation was set, and would never re-register, causing lost orientationchanged
events.
Fix by exposing WKWebView SPI to clear the various bits of overide state. Also don't unregister
from the UIWindowDidRotateNotification notification; it's already ignored anyway if it fires.
Also wait for a visible content rect update after resizing the WKWebVeiw between tests, to make sure
the WebProcess is caught up before proceeding with the test.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::TestController::platformConfigureViewForTest):
2017-05-06 Csaba Osztrogonác <ossy@webkit.org>
[Mac][cmake] Buildfix after r216047
https://bugs.webkit.org/show_bug.cgi?id=171769
Unreviewed buildfix.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
2017-05-05 Brady Eidson <beidson@apple.com>
API test WebKit2.WebsiteDataStoreCustomPaths is failing on ios-simulator.
<rdar://problem/31977294> and https://bugs.webkit.org/show_bug.cgi?id=171513
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2017-05-05 Brian Burg <bburg@apple.com>
[Cocoa] Converting from WebCore::Cookie to NSHTTPCookie always marks cookies as session cookies
https://bugs.webkit.org/show_bug.cgi?id=171748
<rdar://problem/32027327>
Reviewed by Michael Catanzaro.
Remove temporary workaround now that the assertion failure is fixed.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(TEST):
2017-05-05 Simon Fraser <simon.fraser@apple.com>
Make it possible to test rotation in iOS WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=171755
Reviewed by Tim Horton.
Add to UIScriptController:
void simulateRotation(DeviceOrientation orientation, object callback);
void simulateRotationLikeSafari(DeviceOrientation orientation, object callback);
The former just does a view resize, as a simple WKWebView app would do. The second does
animation more like MobileSafari, using _begin/_endAnimatedResize. and associated override
layout size and interface orientation. The two behaviors produce different resize and
orientationchange events and sizes, and both need to be tested.
Rotation is initiated by a call on UIDevice, and responded to by the root view controller,
which is now a custom subclass (PlatformWebViewController).
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::simulateRotation):
(WTR::UIScriptController::simulateRotationLikeSafari):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::simulateRotation):
(WTR::UIScriptController::simulateRotationLikeSafari):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::toDeviceOrientation):
(WTR::UIScriptController::simulateRotation):
(WTR::UIScriptController::simulateRotationLikeSafari):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dealloc]):
(-[TestRunnerWKWebView _didEndRotation]):
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(-[PlatformWebViewController viewWillTransitionToSize:withTransitionCoordinator:]):
(WTR::PlatformWebView::PlatformWebView):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::toUIDeviceOrientation):
(WTR::UIScriptController::simulateRotation):
(WTR::UIScriptController::simulateRotationLikeSafari):
(WTR::UIScriptController::platformClearAllCallbacks):
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::simulateRotation):
(WTR::UIScriptController::simulateRotationLikeSafari):
2017-05-05 Jonathan Bedard <jbedard@apple.com>
Use ImageDiff built by host SDK and remove ImageDiff from DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=168945
<rdar://problem/30745695>
Reviewed by David Kilzer.
Use ImageDiff built with the host machine's SDK and stop building ImageDiff with the
target SDK. These two changes must happen simultaneously because some archives will
clobber the ImageDiff from the host SDK with the ImageDiff from the target SDK.
* DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Remove ImageDiff from project.
* DumpRenderTree/PlatformWin.cmake: Remove ImageDiff. Note that the CMakeLists.txt in the
tools directory still includes ImageDiff.
* DumpRenderTree/cg/ImageDiffCG.cpp: Removed.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Removed.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort._path_to_image_diff): Return the correct path to ImageDiff when building
locally or when running archives.
* Scripts/webkitpy/port/image_diff.py:
(IOSSimulatorImageDiffer): Deleted.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.diff_image): Deleted.
2017-05-05 Brian Burg <bburg@apple.com>
API test WebKit2.WKHTTPCookieStore fails due to possible issue with handling non-session cookies
https://bugs.webkit.org/show_bug.cgi?id=171748
Unreviewed test gardening.
The assertion failure will be investigated separately in order to avoid rolling out
the fix for "secure" cookies. This assertion fails even without r216258 applied.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(TEST):
2017-05-05 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r216260.
Breaks internal iOS testers
Reverted changeset:
"Use ImageDiff built by host SDK and remove ImageDiff from
DumpRenderTree"
https://bugs.webkit.org/show_bug.cgi?id=168945
http://trac.webkit.org/changeset/216260
2017-05-05 Jonathan Bedard <jbedard@apple.com>
Use ImageDiff built by host SDK and remove ImageDiff from DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=168945
<rdar://problem/30745695>
Reviewed by David Kilzer.
Use ImageDiff built with the host machine's SDK and stop building ImageDiff with the
target SDK. These two changes must happen simultaneously because some archives will
clobber the ImageDiff from the host SDK with the ImageDiff from the target SDK.
* DumpRenderTree/mac/Configurations/ImageDiff.xcconfig: Remove ImageDiff from project.
* DumpRenderTree/PlatformWin.cmake: Remove ImageDiff. Note that the CMakeLists.txt in the
tools directory still includes ImageDiff.
* DumpRenderTree/cg/ImageDiffCG.cpp: Removed.
* DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Removed.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort._path_to_image_diff): Return the correct path to ImageDiff when building
locally or when running archives.
* Scripts/webkitpy/port/image_diff.py:
(IOSSimulatorImageDiffer): Deleted.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.diff_image): Deleted.
2017-05-05 Brian Burg <bburg@apple.com>
[Cocoa] Converting from WebCore::Cookie to NSHTTPCookie always marks cookies as secure
https://bugs.webkit.org/show_bug.cgi?id=171700
<rdar://problem/32017975>
Reviewed by Brady Eidson.
Fix a mistake in the test that should have caught this bug.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(TEST):
The assertions that were meant to check round-tripping were actually checking
the properties of the original cookie objects, not the round-tripped ones.
This test now fails without the bugfix and passes when it is applied.
2017-05-05 Daniel Bates <dabates@apple.com>
Use EXPECT_EQ() when comparing strings in TestWebKitAPI tests
https://bugs.webkit.org/show_bug.cgi?id=171698
Reviewed by Darin Adler.
We should use EXPECT_EQ() instead of EXPECT_TRUE() to compare WTF::String() objects
so that we get pretty diff output when the actual string differs from the expected
string as opposed to seeing a boolean result. The former makes makes it straightforward
to diagnose a regression without reading the code for the test or instrumenting it to
determine the actual string that was compared.
* TestWebKitAPI/Tests/WTF/WTFString.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
(TestWebKitAPI::TEST_F):
2017-05-05 Chris Dumez <cdumez@apple.com>
Rename webProcessDidCrashWithReason callback to webProcessDidTerminate and stop calling webProcessDidCrash for client terminations
https://bugs.webkit.org/show_bug.cgi?id=171624
Reviewed by Dan Bernstein.
Extend API test coverage to cover crashes in addition to terminations requested by the client.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/ProcessDidTerminate.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2/ProcessDidCrashWithReason.cpp.
(TestWebKitAPI::webProcessWasTerminatedByClient):
(TestWebKitAPI::webProcessCrashed):
(TestWebKitAPI::TEST):
2017-05-04 Mark Lam <mark.lam@apple.com>
DRT's setAudioResultCallback() and IDBRequest::setResult() need to acquire the JSLock.
https://bugs.webkit.org/show_bug.cgi?id=171716
<rdar://problem/30878027>
Reviewed by Saam Barati.
setAudioResultCallback() needs to acquire the JSLock before calling toJS() (which
does JS conversion and therefore, potentially JS allocations) and accessing
methods of internal JS data structures (which may do JS invocation, etc).
* DumpRenderTree/TestRunner.cpp:
(setAudioResultCallback):
2017-05-05 Jonathan Bedard <jbedard@apple.com>
buildbot: Cleanup simulators after running tests
https://bugs.webkit.org/show_bug.cgi?id=171679
<rdar://problem/31994361>
Reviewed by Aakash Jain.
We shutdown the simulator process between tests, but in some cases, this is not
sufficient. Explicitly shutdown every booted simulator.
* BuildSlaveSupport/kill-old-processes:
(main): Shutdown all booted simulators.
2017-05-05 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Assertion failure in Inspector::RemoteInspector::setRemoteInspectorClient when disposing WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=171644
Reviewed by Michael Catanzaro.
Check that only one WebKitWebContext can have automation enabled.
* TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp:
(testAutomationSessionRequestSession):
2017-05-05 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] TestController timeout source callback should return G_SOURCE_REMOVE
https://bugs.webkit.org/show_bug.cgi?id=171724
Reviewed by Michael Catanzaro.
It's currently returning CONTINUE which causes it to be called again even if the run loop has been stopped.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::timeoutSource):
2017-05-05 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix wrong assert after r215176.
Cairo surface received by computeMD5HashStringForCairoSurface() doesn't need to be ARGB32 since r215176, it
could also be RGB24 when created from a web view snapshot.
* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
(WTR::computeMD5HashStringForCairoSurface):
2017-05-04 Brian Burg <bburg@apple.com>
lldb_webkit.py should provide a type summary for WebCore::URL
https://bugs.webkit.org/show_bug.cgi?id=171670
Reviewed by Jer Noble.
Just print out the underlying string using the WTFString provider.
* lldb/lldb_webkit.py:
(__lldb_init_module):
(WebCoreURL_SummaryProvider):
(WebCoreURLProvider):
(WebCoreURLProvider.__init__):
(WebCoreURLProvider.to_string):
2017-05-04 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r216206.
https://bugs.webkit.org/show_bug.cgi?id=171714
Multiple LayoutTests crashing in Document::page() (Requested
by ap on #webkit).
Reverted changeset:
"Remove support for legacy Notifications"
https://bugs.webkit.org/show_bug.cgi?id=171487
http://trac.webkit.org/changeset/216206
2017-05-04 Mark Lam <mark.lam@apple.com>
API test WTF.StaticStringImpl crashing in TestWebKitAPI::WTF_StaticStringImpl_Test::TestBody() + 3188
https://bugs.webkit.org/show_bug.cgi?id=171702
Reviewed by Filip Pizlo.
The test was supposed to use the MAKE_STATIC_STRING_IMPL macro. I had previously
changed it to instantiate an automatic StaticStringImpl (i.e. stack allocated) to
confirm that the test will detect a regression. Unfortunately, I forgot to
change it back to using MAKE_STATIC_STRING_IMPL before I landed the test.
This patch fixes that.
* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::neverDestroyedString):
2017-05-04 Ryan Haddad <ryanhaddad@apple.com>
Disable failing API test WebKit2.ResizeWithHiddenContentDoesNotHang.
https://bugs.webkit.org/show_bug.cgi?id=170195
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
(TEST):
2017-05-04 Don Olmstead <don.olmstead@am.sony.com>
[Win] Remove redundant macros that are set in the CMake config
https://bugs.webkit.org/show_bug.cgi?id=171571
Reviewed by Brent Fulgham.
* DumpRenderTree/config.h:
* MiniBrowser/win/stdafx.h:
* TestWebKitAPI/config.h:
2017-05-04 Said Abou-Hallawa <sabouhallawa@apple.com>
Add testRunner.display() to force displaying the web page for testing
https://bugs.webkit.org/show_bug.cgi?id=171694
Reviewed by Simon Fraser.
Unlike testRunner.displayAndTrackRepaints(), this new function forces
drawing the web page but without track repaints.
* DumpRenderTree/TestRunner.cpp:
(displayCallback):
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::display):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::display):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::display):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-05-04 Mark Lam <mark.lam@apple.com>
NeverDestroyed<String>(ASCIILiteral(...)) is not thread safe.
https://bugs.webkit.org/show_bug.cgi?id=171586
<rdar://problem/31873190>
Reviewed by Yusuke Suzuki.
API test for exercising StaticStringImpl and the MAKE_STATIC_STRING_IMPL macro.
* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::neverDestroyedString):
(TestWebKitAPI::getNeverDestroyedStringAtStackDepth):
(TestWebKitAPI::TEST):
2017-05-04 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] Add support for keeping the selection in a focused editable element when dragging begins
https://bugs.webkit.org/show_bug.cgi?id=171585
<rdar://problem/31544320>
Reviewed by Beth Dakin and Zalan Bujtas.
Adds 1 new unit test and tweaks existing tests to check that when first responder status is lost after beginning
a drag while editing, content is still moved (and not copied) when performing data interaction on a different
element. ContentEditableMoveParagraphs checks that content can be shifted within a single element via a move
operation rather than a copy.
See WebCore ChangeLog for more details.
Tests: DataInteractionSimulator.ContentEditableToContentEditable
DataInteractionSimulator.ContentEditableToTextarea
DataInteractionSimulator.ContentEditableMoveParagraphs
DataInteractionSimulator.TextAreaToInput
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/two-paragraph-contenteditable.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator initWithWebView:]):
(-[DataInteractionSimulator dealloc]):
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator waitForInputSession]):
(-[DataInteractionSimulator _webView:focusShouldStartInputSession:]):
(-[DataInteractionSimulator _webView:didStartInputSession:]):
2017-05-04 Said Abou-Hallawa <sabouhallawa@apple.com>
Rename TestRunner.display() to TestRunner::displayAndTrackRepaints()
https://bugs.webkit.org/show_bug.cgi?id=171641
Reviewed by Simon Fraser.
The plan is to add back the TestRunner.display() which does the display
only without track repaints.
* DumpRenderTree/DumpRenderTree.h:
* DumpRenderTree/TestRunner.cpp:
(displayAndTrackRepaintsCallback):
(TestRunner::staticFunctions):
(displayCallback): Deleted.
(displayInvalidatedRegionCallback): Deleted.
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(displayWebView):
(displayAndTrackRepaintsWebView):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::displayAndTrackRepaints):
(TestRunner::display): Deleted.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::displayAndTrackRepaints):
(TestRunner::display): Deleted.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::displayAndTrackRepaints):
(WTR::TestRunner::display): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-05-04 Brady Eidson <beidson@apple.com>
[ios-simulator] API test WebKit2.WebsiteDataStoreCustomPaths is failing.
https://bugs.webkit.org/show_bug.cgi?id=171513
Unreviewed gardening.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
(TEST): Skip the failing parts of the test on iOS for now.
2017-05-03 Jonathan Bedard <jbedard@apple.com>
Make ImageDiff stand-alone
https://bugs.webkit.org/show_bug.cgi?id=168939
Reviewed by David Kilzer.
Create ImageDiff without dependencies on bmalloc and WTF so that it exists as a
stand-alone project. Note that this change does not eliminate the ImageDiff inside
the DumpRenderTree project.
* ImageDiff/ImageDiff.xcodeproj: Added.
* ImageDiff/ImageDiff.xcodeproj/project.pbxproj: Added.
* ImageDiff/Makefile: Use ImageDiff project.
* ImageDiff/PlatformMac.cmake: Added.
* ImageDiff/PlatformWin.cmake: Added.
* ImageDiff/cg: Added.
* ImageDiff/cg/Configurations: Added.
* ImageDiff/cg/Configurations/Base.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/Base.xcconfig.
* ImageDiff/cg/Configurations/DebugRelease.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig.
* ImageDiff/cg/Configurations/ImageDiff.xcconfig: Copied from Tools/DumpRenderTree/mac/Configurations/ImageDiff.xcconfig.
* ImageDiff/cg/ImageDiff.cpp: Copied from Tools/DumpRenderTree/cg/ImageDiffCG.cpp.
(createImageFromStdin): Stop using RetainPtr.
(createDifferenceImage): Ditto.
(main): Ditto.
* Scripts/build-imagediff: Stop building WTF and bmalloc.
2017-05-04 Sam Weinig <sam@webkit.org>
Remove support for legacy Notifications
https://bugs.webkit.org/show_bug.cgi?id=171487
Reviewed by Jon Lee.
* DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
(DRTDesktopNotificationPresenter::checkNotificationPermission):
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
Remove use and definition of ENABLE_LEGACY_NOTIFICATIONS.
2017-05-04 Andy Estes <aestes@apple.com>
Give +testwebkitapi_configurationWithTestPlugInClassName: a shorter name
https://bugs.webkit.org/show_bug.cgi?id=171673
Reviewed by Dan Bernstein.
* TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresource.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm:
(configurationWithContentFilterSettings):
(-[LazilyLoadPlatformFrameworksController init]):
* TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm:
(runTestWithWidth):
* TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorld.mm:
(TEST):
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/WKWebViewConfigurationExtras.h:
* TestWebKitAPI/WKWebViewConfigurationExtras.mm:
(+[WKWebViewConfiguration _test_configurationWithTestPlugInClassName:]):
(+[WKWebViewConfiguration testwebkitapi_configurationWithTestPlugInClassName:]): Renamed to
+_test_configurationWithTestPlugInClassName:
2017-05-04 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Allow host application to enable/disable media capture
https://bugs.webkit.org/show_bug.cgi?id=171292
<rdar://problem/31821492>
Reviewed by Jer Noble.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
(-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
(-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(MediaCaptureDisabledTest::SetUp):
(MediaCaptureDisabledTest::loadTestAndWaitForMessage):
(TEST_F):
* TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
2017-05-04 Caio Lima <ticaiolima@gmail.com>
Unreviewed, Adding self to contributors.json
* Scripts/webkitpy/common/config/contributors.json: Added name.
2017-05-04 Konstantin Tokarev <annulen@yandex.ru>
Fix compilation with ICU 59.1
https://bugs.webkit.org/show_bug.cgi?id=171612
Reviewed by Mark Lam.
ICU 59.1 has broken source compatibility. Now it defines UChar as
char16_t, which does not allow automatic type conversion from unsigned
short in C++ code.
* TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
(UIScriptContext::tryToCompleteUIScriptForCurrentParentCallback):
2017-05-04 Andy Estes <aestes@apple.com>
[Cocoa] Add an optional width parameter to -[WKWebProcessPlugInNodeHandle renderedImageWithOptions:]
https://bugs.webkit.org/show_bug.cgi?id=171646
<rdar://problem/30306321>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm:
(runTestWithWidth):
(TEST):
(-[RenderedImageWithOptionsObject didRenderImageWithSize:]): Deleted.
* TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsPlugIn.mm:
(-[RenderedImageWithOptionsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[RenderedImageWithOptionsPlugIn webProcessPlugInBrowserContextController:didFinishLoadForFrame:]):
(-[RenderedImageWithOptionsPlugIn renderImageWithWidth:completionHandler:]):
* TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsProtocol.h:
2017-05-04 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Fontconfig 2.11.2 in JHBuild does not build with glibc 2.25+ or gperf 3.1+
https://bugs.webkit.org/show_bug.cgi?id=171649
Reviewed by Carlos Garcia Campos.
Add two patches picked from the upstream repository to fix building of
the Fontconfig module in JHBuild. Additionally, this needed a patch to
add "autogen.sh" as it is not included in release tarballs. Also:
building the module with srcdir!=builddir prevents "fcobjshash.gperf"
being regenerated (which is needed) so this is disabled for the
Fontconfig module.
* gtk/jhbuild.modules:
* gtk/patches/fontconfig-2.11.1-add-autogen.patch: Added.
* gtk/patches/fontconfig-Avoid-conflicts-with-integer-width-macros-from-TS-18661-1-2014.patch: Added.
* gtk/patches/fontconfig-Fix-the-build-issue-with-gperf-3.1.patch: Added.
2017-05-04 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r216172.
https://bugs.webkit.org/show_bug.cgi?id=171654
FTBFS for iOS due to missing WebPageProxy::stopMediaCapture()
implementation. (Requested by ddkilzer on #webkit).
Reverted changeset:
"[MediaStream] Allow host application to enable/disable media
capture"
https://bugs.webkit.org/show_bug.cgi?id=171292
http://trac.webkit.org/changeset/216172
2017-05-04 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bump GStreamer version to 1.10.4 in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=171595
Reviewed by Xabier Rodriguez-Calvar.
* gtk/jhbuild.modules:
* gtk/patches/gst-plugins-bad-0001-dtls-port-to-OpenSSL-1.1.0.patch: Removed.
* gtk/patches/gst-plugins-bad-0002-dtlscertificate-Fix-error-checking-in-RSA_generate_k.patch: Removed.
* gtk/patches/gst-plugins-good-0001-rtpbin-pipeline-gets-an-EOS-when-any-rtpsources-byes.patch: Removed.
* gtk/patches/gst-plugins-good-0002-rtpbin-avoid-generating-errors-when-rtcp-messages-ar.patch: Removed.
* gtk/patches/gst-plugins-good-0004-qtdemux-add-context-for-a-preferred-protection.patch:
* gtk/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed.
* gtk/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed.
2017-05-03 Saam Barati <sbarati@apple.com>
How we build polymorphic cases is wrong when making a call from Wasm
https://bugs.webkit.org/show_bug.cgi?id=171527
Reviewed by JF Bastien.
* Scripts/run-jsc-stress-tests:
2017-05-03 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Allow host application to enable/disable media capture
https://bugs.webkit.org/show_bug.cgi?id=171292
<rdar://problem/31821492>
Reviewed by Jer Noble.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
(-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
(-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(MediaCaptureDisabledTest::SetUp):
(MediaCaptureDisabledTest::loadTestAndWaitForMessage):
(TEST_F):
* TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
2017-05-03 John Wilander <wilander@apple.com>
Resource Load Statistics: Remove all statistics for modifiedSince website data removals
https://bugs.webkit.org/show_bug.cgi?id=171584
<rdar://problem/24702576>
Reviewed by Brent Fulgham.
New function to call the clear function that takes a modifiedSince parameter.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-05-03 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r216160 and r216161.
https://bugs.webkit.org/show_bug.cgi?id=171640
These changes broke the iOS build. (Requested by mlewis13 on
#webkit).
Reverted changesets:
"[MediaStream] Allow host application to enable/disable media
capture"
https://bugs.webkit.org/show_bug.cgi?id=171292
http://trac.webkit.org/changeset/216160
"[MediaStream] Allow host application to enable/disable media
capture"
https://bugs.webkit.org/show_bug.cgi?id=171292
http://trac.webkit.org/changeset/216161
2017-05-03 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Allow host application to enable/disable media capture
https://bugs.webkit.org/show_bug.cgi?id=171292
<rdar://problem/31821492>
Reviewed by Jer Noble.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added.
(-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]):
(-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(MediaCaptureDisabledTest::SetUp):
(MediaCaptureDisabledTest::loadTestAndWaitForMessage):
(TEST_F):
* TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added.
2017-04-26 Jiewen Tan <jiewen_tan@apple.com>
[WebCrypto] Add an api test for testing wrapping/unwrapping serialized crypto keys
https://bugs.webkit.org/show_bug.cgi?id=171350
<rdar://problem/28600836>
Patched by Brady Eidson.
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/NavigationClientDefaultCrypto.cpp: Added.
(TestWebKitAPI::runJavaScriptAlert):
(TestWebKitAPI::decidePolicyForNavigationAction):
(TestWebKitAPI::decidePolicyForNavigationResponse):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/navigation-client-default-crypto.html: Added.
2017-05-03 Simon Fraser <simon.fraser@apple.com>
Have WKWebView call _updateVisibleContentRects for the current transaction if possible, rather than always delaying
https://bugs.webkit.org/show_bug.cgi?id=171619
https://bugs.webkit.org/show_bug.cgi?id=170195
Reviewed by Tim Horton.
Re-enable WebKit2.ResizeWithHiddenContentDoesNotHang.
* TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
(TEST):
2017-05-03 Michael Catanzaro <mcatanzaro@igalia.com>
YouTube user agent quirk breaks new YouTube
https://bugs.webkit.org/show_bug.cgi?id=171603
Reviewed by Carlos Garcia Campos.
Remove the YouTube quirk test.
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
2017-05-03 Said Abou-Hallawa <sabouhallawa@apple.com>
Async image decoding should be disabled for snapshots, printing and preview
https://bugs.webkit.org/show_bug.cgi?id=171467
Reviewed by Simon Fraser.
Add a API test for snapshotting with large images. Ensure the images are
drawn correctly which implies they should have been synchronously decoded.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/large-red-square-image.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm:
(TEST):
2017-05-03 Chris Dumez <cdumez@apple.com>
[WK2] Extend processDidCrash delegate to let the client know the reason for the crash
https://bugs.webkit.org/show_bug.cgi?id=171565
<rdar://problem/31204417>
Reviewed by Sam Weinig.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/ProcessDidCrashWithReason.cpp: Added.
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::didCrashWithReason):
(TestWebKitAPI::TEST):
2017-05-02 David Kilzer <ddkilzer@apple.com>
check-webkit-style should also keep js-test-post[-async].js in sync
<https://webkit.org/b/171568>
Reviewed by Joseph Pecoraro.
* Scripts/webkitpy/style/checker.py:
(_NEVER_SKIPPED_JS_FILES): Add new list that just contains
JavaScript files not to be skipped.
(_NEVER_SKIPPED_FILES): Update to use _NEVER_SKIPPED_JS_FILES.
(CheckerDispatcher._create_checker): Update to use
_NEVER_SKIPPED_JS_FILES.
* Scripts/webkitpy/style/checkers/jstest.py:
(ALL_JS_TEST_FUNCTION_FILES): Rename from ALL_JS_TEST_FILES.
This is the list of files containing functions that need to be
kept in sync.
(KEEP_JS_TEST_FILES_IN_SYNC): Change to list-of-lists format so
we can keep more sets of files in sync between
LayoutTests/resources and LayoutTests/http/tests/resources.
(JSTestChecker.check): Update to use KEEP_JS_TEST_FILES_IN_SYNC
as list of lists. Update for ALL_JS_TEST_FUNCTION_FILES rename.
(JSTestChecker.check_js_test_files): Add 'file_group' argument
for list of files to check instead of using
KEEP_JS_TEST_FILES_IN_SYNC.
(JSTestChecker.check_js_test_functions): Update for
ALL_JS_TEST_FUNCTION_FILES rename.
* Scripts/webkitpy/style/checkers/jstest_unittest.py:
(JSTestCheckerTestCase):
(JSTestCheckerTestCase.test_map_functions_to_dict):
- Add test case for map_functions_to_dict() in jstest.py.
2017-05-02 Aakash Jain <aakash_jain@apple.com>
ews should indicate in logs when it fails to fetch the attachment
https://bugs.webkit.org/show_bug.cgi?id=171583
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla.fetch_attachment): Added log statement.
2017-05-02 David Kilzer <ddkilzer@apple.com>
Rolling out jstest_unittest.py so it can be reviewed
Follow-up fix for:
check-webkit-style should keep JavaScript test functions in sync
<https://webkit.org/b/171424>
* Scripts/webkitpy/style/checkers/jstest_unittest.py: Remove.
2017-05-02 David Kilzer <ddkilzer@apple.com>
check-webkit-style should keep JavaScript test functions in sync
<https://webkit.org/b/171424>
Reviewed by Joseph Pecoraro.
Add a new JSTestChecker for check-webkit-style that keeps these
two files in sync:
LayoutTests/http/tests/resources/js-test-pre.js
LayoutTests/resources/js-test-pre.js
And keeps implementations of shouldBe(), shouldNotBe(),
shouldNotThrow(), and shouldThrow() in sync across multiple
files (with the ability to add more functions later):
JSTests/stress/resources/standalone-pre.js
LayoutTests/http/tests/resources/js-test-pre.js
LayoutTests/resources/js-test-pre.js
LayoutTests/resources/js-test.js
LayoutTests/resources/standalone-pre.js
* Scripts/webkitpy/style/checker.py: Remove unused import. Add
import for JSTestChecker.
(_NEVER_SKIPPED_FILES): Add array of file names that are never
skipped regardless of other rules.
(_all_categories): Add JSTestChecker categories.
(CheckerDispatcher.should_skip_without_warning): Use
_NEVER_SKIPPED_FILES.
(CheckerDispatcher._create_checker): Return JSTestChecker for
the files to check.
* Scripts/webkitpy/style/checkers/jstest.py: Add.
(map_functions_to_dict): Parse JavaScript source by splitting on
/^function\s+/ regex. This is good enough for the sanity checks
to keep function implementations in sync.
(strip_blank_lines_and_comments): Strips blank lines and lines
with comments from the end of a chunk of text representing a
function.
(JSTestChecker): New checker.
(JSTestChecker.__init__):
(JSTestChecker.check):
(JSTestChecker.check_js_test_files): Keeps whole files in sync.
(JSTestChecker.check_js_test_functions): Keeps individual
functions in sync.
* Scripts/webkitpy/style/checkers/jstest_unittest.py: Add test
case.
(JSTestTestCase):
(JSTestTestCase.test_map_functions_to_dict):
2017-05-02 Joanmarie Diggs <jdiggs@igalia.com>
AX: Update implementation of aria-orientation
https://bugs.webkit.org/show_bug.cgi?id=171166
Reviewed by Chris Fleizach.
Return "AXUnknownOrientation" when ATK_STATE_VERTICAL and ATK_STATE_HORIZONTAL
are both absent from the state set. Before we were returning an empty string
which was not consistent with what the Mac port does, thus making shared tests
harder.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::orientation):
2017-05-01 David Kilzer <ddkilzer@apple.com>
Stop using sprintf() in JavaScriptCore debugger
<https://webkit.org/b/171512>
Reviewed by Keith Miller.
* Scripts/webkitpy/style/checker.py:
(_PATH_RULES_SPECIFIER): Ignore some formatting checkers since
Source/JavaScriptCore/disassembler/udis86/ is generated code.
2017-05-01 Timothy Horton <timothy_horton@apple.com>
Expose viewport-fit instead of clip-to-safe-area
https://bugs.webkit.org/show_bug.cgi?id=171503
<rdar://problem/31918249>
Reviewed by Simon Fraser.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setSafeAreaInsets):
(WTR::UIScriptController::setObscuredInsets): Deleted.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setSafeAreaInsets):
(WTR::UIScriptController::setObscuredInsets): Deleted.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView setOverrideSafeAreaInsets:]):
(-[TestRunnerWKWebView _safeAreaInsetsForFrame:inSuperview:]):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/ios/UIKitSPI.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setSafeAreaInsets):
(WTR::UIScriptController::setObscuredInsets): Deleted.
Expose a safe area inset setter instead of obscured insets.
2017-05-01 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix the build on a new internal SDK
Replace usages of NSItemProviderRepresentationVisibilityAll with
UIItemProviderRepresentationOptionsVisibilityAll.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
(TestWebKitAPI::TEST):
2017-05-01 David Kilzer <ddkilzer@apple.com>
[Cocoa] Replace uses of [get…Class() alloc] in TestWebKitAPI
<https://webkit.org/b/171493>
Reviewed by Dan Bernstein.
* TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
Remove UIKit soft-link since TestWebKitAPI links to
UIKit.framework.
(TestWebKitAPI::WebKit1_AudioSessionCategoryIOS_Test): Use
UIWindow and UIWebView classes directly.
* TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm:
Remove UIKit soft-link since TestWebKitAPI links to
UIKit.framework.
(RequiresUserActionForPlaybackTest::createWebView): Use UIWindow
class directly.
2017-05-01 Brady Eidson <beidson@apple.com>
Update names in WKURLSchemeHandler/WKURLSchemeHandlerTask APIs.
<rdar://problem/31824838> and https://bugs.webkit.org/show_bug.cgi?id=171508
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
(-[SchemeHandler webView:startURLSchemeTask:]):
(-[SchemeHandler webView:stopURLSchemeTask:]):
(-[SchemeHandler webView:startTask:]): Deleted.
(-[SchemeHandler webView:stopTask:]): Deleted.
2017-05-01 Jason Marcell <jmarcell@apple.com>
Add a new function for getting the Git hash for a pure git directory.
https://bugs.webkit.org/show_bug.cgi?id=171450
Reviewed by David Kilzer.
* Scripts/VCSUtils.pm:
(gitHashForDirectory):
2017-05-01 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] Expose values of aria-rowcount, aria-colcount, aria-rowindex, aria-colindex, aria-rowspan, and aria-colspan as object attributes
https://bugs.webkit.org/show_bug.cgi?id=171496
Reviewed by Chris Fleizach.
Add new attribute names so that the values of the object attributes can be tested.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::numberAttributeValue):
2017-05-01 Beth Dakin <bdakin@apple.com>
On-screen panel for candidate bar is in the wrong place when the caret is at the
start of a paragraph
https://bugs.webkit.org/show_bug.cgi?id=171453
-and corresponding-
rdar://problem/29779764
Reviewed by Tim Horton.
This test hard-codes the y-coordinate for the expected candidateRect.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm:
(TEST):
2017-05-01 David Kilzer <ddkilzer@apple.com>
check-webkit-style: Enable sprintf(), strcat(), strcpy() and printf() format checks
<https://webkit.org/b/171494>
Reviewed by Brent Fulgham.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_language): Change categories for certain checkers from
'runtime/printf' to 'security/printf' so they are no longer
filtered.
(CppChecker.categories): Add 'security/printf'.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_insecure_string_operations): Add new test for
sprintf(), strcat() and strcpy().
(CppStyleTest.test_format_strings): Update test results for new
'security/printf' category use.
2017-05-01 Joanmarie Diggs <jdiggs@igalia.com>
AX: [GTK] Add support to query for aria-current
https://bugs.webkit.org/show_bug.cgi?id=149016
Reviewed by Chris Fleizach.
Implement support for "AXARIACurrent" string attribute value.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2017-05-01 David Kilzer <ddkilzer@apple.com>
REGRESSION (r216000): test-webkitpy fails after adding new soft-linked class checker
Unreviewed.
Follow-up fix for:
[Cocoa] Have check-webkit-style advise against use of [get…Class() alloc]
https://bugs.webkit.org/show_bug.cgi?id=171486
* Scripts/webkitpy/style/checkers/cpp.py:
(check_soft_link_class_alloc): Use (\w+) instead of ([^\s]+) to
match and capture the function name. The latter also mistakenly
matches C-preprocessor directives.
(CppChecker.categories): Add 'runtime/soft-linked-alloc', which
is a requirement for the CppChecker class.
2017-05-01 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add automation session API
https://bugs.webkit.org/show_bug.cgi?id=171428
Reviewed by Carlos Alberto Lopez Perez.
Add an automation mode to MiniBrowser using the new API and add a unit test too.
* MiniBrowser/gtk/BrowserWindow.c:
(webViewTitleChanged):
(webViewDecidePolicy):
(newTabCallback):
(openPrivateWindow):
(browserWindowFinalize):
(browser_window_init):
(browser_window_get_or_create_web_view_for_automation):
* MiniBrowser/gtk/BrowserWindow.h:
* MiniBrowser/gtk/main.c:
(createBrowserTab):
(createWebViewForAutomationCallback):
(automationStartedCallback):
(main):
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
* TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp: Added.
(testAutomationSessionRequestSession):
(beforeAll):
(afterAll):
2017-04-30 Dan Bernstein <mitz@apple.com>
[Cocoa] Have check-webkit-style advise against use of [get…Class() alloc]
https://bugs.webkit.org/show_bug.cgi?id=171486
Reviewed by Sam Weinig.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_soft_link_class_alloc): Added. Looks for [get…Class() alloc] and suggests
alloc…Instance() instead.
(check_style): Invoke new check.
2017-04-30 Brady Eidson <beidson@apple.com>
More fixing after r215991
https://bugs.webkit.org/show_bug.cgi?id=171483
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2017-04-30 Brady Eidson <beidson@apple.com>
Updates to _WKWebsiteDataStoreConfiguration cookie storage location SPI.
<rdar://problem/31906397> and https://bugs.webkit.org/show_bug.cgi?id=171483
Reviewed by Geoff Garen (and kind of Andy Estes).
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2017-04-30 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] Implement support for aria-autocomplete
https://bugs.webkit.org/show_bug.cgi?id=171167
Reviewed by Chris Fleizach.
Add "AXSupportsAutoCompletion" attribute so the presence of
ATK_STATE_SUPPORTS_AUTOCOMPLETION can be tested.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::boolAttributeValue):
2017-04-30 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] ARIA treegrid role should be exposed as ATK_ROLE_TREE_TABLE; not ATK_ROLE_TABLE
https://bugs.webkit.org/show_bug.cgi?id=171170
Reviewed by Chris Fleizach.
Add "AXInterfaceTable" attribute to test which elements implement AtkTable.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::boolAttributeValue):
2017-04-30 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] Emit object:state-changed:busy event when aria-busy value changes
https://bugs.webkit.org/show_bug.cgi?id=171181
Reviewed by Chris Fleizach.
Add handler for AXElementBusyChanged notifications.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
2017-04-29 Aakash Jain <aakash_jain@apple.com>
Use PEP8 style guide for raising exceptions in webkitpy.
https://bugs.webkit.org/show_bug.cgi?id=171439
Reviewed by Daniel Bates.
As per https://www.python.org/dev/peps/pep-0008/
"When raising an exception in Python 2, use raise ValueError('message')
instead of the older form raise ValueError, 'message'"
* Scripts/webkitpy/common/net/irc/ircbot.py: Using new style for raising exceptions.
* Scripts/webkitpy/common/thread/messagepump.py: Same.
* Scripts/webkitpy/tool/bot/queueengine.py: Same.
* Scripts/webkitpy/tool/commands/queues.py: Same.
* Scripts/webkitpy/tool/commands/stepsequence.py: Same.
* Scripts/webkitpy/tool/multicommandtool.py: Same.
* Scripts/webkitpy/tool/steps/abstractstep.py: Same.
2017-04-28 Simon Fraser <simon.fraser@apple.com>
Add system trace points for Document::updateTouchEventRegions()
https://bugs.webkit.org/show_bug.cgi?id=171470
rdar://problem/31901239
Reviewed by Tim Horton.
Add trace markers for updateTouchEventRegions.
* Tracing/SystemTracePoints.plist:
2017-04-28 Jonathan Bedard <jbedard@apple.com>
webkitpy: Add apple_additions to webkitpy to insert Internal tools
https://bugs.webkit.org/show_bug.cgi?id=170461
<rdar://problem/31433077>
Reviewed by Daniel Bates.
Allow a package to be pulled in by run-webkit-tests which provides an interface to
run layout tests on an iOS device. If this package is not available, throw an
exception when attempting to run layout tests on an iOS device.
* Scripts/webkitpy/port/config.py:
(apple_additions): Import apple_additions package.
* Scripts/webkitpy/port/device.py:
(Device.install_dylibs): Pass a directory with all the frameworks and dylibs to be
installed on a device.
(Device.prepare_for_testing): Pass a list of ports to forward from the device to the
host, the bundle id of the app to be used for testing and a path to the layout test
directory to be mounted on the device.
(Device.finished_testing):
* Scripts/webkitpy/port/factory.py:
(platform_options): Add apple_additions platform options if apple_additions exists.
* Scripts/webkitpy/port/ios.py:
(IOSPort.setup_test_run): Install dylibs and frameworks on the device, pass ports
to forward, the bundle ID of the testing app and the layout tests directory to
each device.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort):
(IOSDevicePort.default_child_processes): Query apple_additions for the number of child
processes to be run.
(IOSDevicePort.using_multiple_devices): Always assume multiple devices are used. When
a single device is used, it is still accessed through an array.
(IOSDevicePort._device_for_worker_number_map): Query apple_additions for the device
for worker number map.
(IOSDevicePort._driver_class): Query apple_additions for the test driver.
(IOSDevicePort.determine_full_port_name): Use class variable over hard-coded string.
(IOSDevicePort.check_for_leaks): No implementation for iOSDevicePort.
(IOSDevicePort.look_for_new_crash_logs): Ditto.
(IOSDevicePort.look_for_new_samples): Ditto.
(IOSDevicePort.sample_process): Ditto.
(IOSDevicePort._build_driver_flags): Use class variable over hard-coded string.
(IOSDevicePort._create_devices): Check that devices are available for testing and check
that we have enough devices for each child process.
(IOSDevicePort.clean_up_test_run): Have apple_additions preform any needed clean up.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_operating_system):
(IOSDeviceTest.test_spindump): Override method from DarwinTest.
(IOSDeviceTest.test_sample_process): Ditto.
(IOSDeviceTest.test_sample_process_exception): Ditto.
2017-04-28 Wenson Hsieh <wenson_hsieh@apple.com>
Fix and re-enable data interaction unit tests
https://bugs.webkit.org/show_bug.cgi?id=171446
<rdar://problem/31820646>
Reviewed by Tim Horton.
Enables all DataInteractionTests, and adjusts file upload tests to no longer write to a temporary file before
registering with the UIItemProvider, and instead just register data directly via
-registerDataRepresentationForTypeIdentifier:visibility:loadHandler:.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
(temporaryURLForDataInteractionFileLoad): Deleted.
(cleanUpDataInteractionTemporaryPath): Deleted.
(-[UIItemProvider registerFileRepresentationForTypeIdentifier:withData:filename:]): Deleted.
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
2017-04-28 Brady Eidson <beidson@apple.com>
Teach the DatabaseProcess to be fully SessionID aware
https://bugs.webkit.org/show_bug.cgi?id=171451
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
2017-04-28 Jonathan Bedard <jbedard@apple.com>
Unreviewed follow-up to r214705.
shut.copytree will fail if given a file as an argument instead of a directory.
* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.copy_to_base_host): Use copytree when source is a directory and copyfile
when source is a file.
(FileSystem.copy_from_base_host): Ditto.
2017-04-28 Chris Dumez <cdumez@apple.com>
Update DOMTokenList.replace() to match the latest DOM specification
https://bugs.webkit.org/show_bug.cgi?id=171388
Reviewed by Alex Christensen.
Add API test coverage for new Vector API.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2017-04-28 Jonathan Bedard <jbedard@apple.com>
WebKitTestRunner/DumpRenderTree prevent device from sleeping
https://bugs.webkit.org/show_bug.cgi?id=170731
Reviewed by Alex Christensen.
While running layout tests on a device, the device should not be put asleep.
* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpRenderTree): Disable idle timer.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformInitialize): Ditto.
2017-04-28 Brady Eidson <beidson@apple.com>
Start of support for multiple WebsiteDataStore/SessionIDs per process
https://bugs.webkit.org/show_bug.cgi?id=171422
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2017-04-28 Youenn Fablet <youenn@apple.com>
Adding a runtime flag specific to MediaDevices
https://bugs.webkit.org/show_bug.cgi?id=171433
Reviewed by Geoffrey Garen.
Updating WTR and DRT as peer connection and media stream runtime flags are enabled by default.
Setting media devices runtime flag to true for WTR and DRT.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setMediaDevicesEnabled):
(WTR::TestRunner::setMediaStreamEnabled): Deleted.
(WTR::TestRunner::setPeerConnectionEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2017-04-28 Dean Jackson <dino@apple.com>
[WebGPU] Label MTLCommandQueues with a prefix for internal telemetry
https://bugs.webkit.org/show_bug.cgi?id=171441
<rdar://problem/31826915>
Reviewed by Tim Horton.
Add an API test for GPUCommandQueue, exercising creation
and setting the label.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: Added.
(TestWebKitAPI::TEST_F):
2017-04-28 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] aria-modal="true" should be exposed via ATK_STATE_MODAL
https://bugs.webkit.org/show_bug.cgi?id=171188
Reviewed by Chris Fleizach.
Add "AXModal" attribute string so that we can test the state's exposure.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::boolAttributeValue):
2017-04-28 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] GridCellRole should implement AtkTableCell (regression?)
https://bugs.webkit.org/show_bug.cgi?id=171179
Reviewed by Chris Fleizach.
Add new "AXInterfaceTableCell" attribute so that we can test whether or
not there is an implementation of AtkTableCell (i.e. without risking false
negatives from bugs in the interface's implementation).
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::boolAttributeValue):
2017-04-27 Carlos Garcia Campos <cgarcia@igalia.com>
Move UUID from WebCore/platform to WTF
https://bugs.webkit.org/show_bug.cgi?id=171372
Reviewed by Michael Catanzaro.
* WebKitTestRunner/TestController.cpp:
2017-04-27 Alex Christensen <achristensen@webkit.org>
Add stub SPI for setting cookie storage path on _WKWebsiteDataStoreConfiguration
https://bugs.webkit.org/show_bug.cgi?id=171399
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html:
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2017-04-27 Ryan Haddad <ryanhaddad@apple.com>
Disable flaky API test WKWebView.SetOverrideContentSecurityPolicyWithEmptyStringForPageWithCSP.
https://bugs.webkit.org/show_bug.cgi?id=167914
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKit2Cocoa/OverrideContentSecurityPolicy.mm:
(TEST):
2017-04-26 Saam Barati <sbarati@apple.com>
Add some more testing modes for Wasm tests now that we have tier up
https://bugs.webkit.org/show_bug.cgi?id=171360
Reviewed by Keith Miller.
Lets enable the FTL on all Wasm tests. Let's also run each
test with and without CJIT.
* Scripts/run-jsc-stress-tests:
2017-04-26 Aakash Jain <aakash_jain@apple.com>
JSC EWS Patch Relevance skips few JSC scripts
https://bugs.webkit.org/show_bug.cgi?id=171351
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance): Added few jsc related scripts.
2017-04-26 Youenn Fablet <youenn@apple.com>
Test importer should delete obsolete files based on w3c-import.log
https://bugs.webkit.org/show_bug.cgi?id=171348
Reviewed by Chris Dumez.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.do_import): Removing dangling -expected.txt files in regular import mode.
(TestImporter.remove_deleted_files): Fixing according w3c-import.log current format.
* Scripts/webkitpy/w3c/test_importer_unittest.py:
(test_remove_obsolete_content):
2017-04-26 Jonathan Bedard <jbedard@apple.com>
REGRESSION (r213926): We're sometimes trying to start WebKitTestRunner without proper DYLD variables
<rdar://problem/31816459>
Unreviewed infrastructure fix.
Some of our iOS Simulator bots are slow and will register crashes due to an incorrect
DYLD_FRAMEWORK_PATH when installing an app.
* Scripts/webkitpy/port/ios.py:
(IOSPort.setup_test_run): Pass DYLD_FRAMEWORK_PATH to app on install.
2017-04-26 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] Elements with a defined, non-false value for aria-current should expose ATK_STATE_ACTIVE
https://bugs.webkit.org/show_bug.cgi?id=171163
Reviewed by Chris Fleizach.
Add support for state-change notifications for ATK_STATE_ACTIVE.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
2017-04-26 Jonathan Bedard <jbedard@apple.com>
webkitpy: Teardown iOS Simulators on exit if managed Simulators are still running
https://bugs.webkit.org/show_bug.cgi?id=171293
Reviewed by Aakash Jain.
We should make an effort to teardown simulators which we booted even when an exception is
thrown while booting. Make some IOSSimulatorPort functions into static methods and register
one of these functions to be run at exit to ensure any devices webkitpy is managing gets
torn down.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._set_up_run): Rely on exit handlers to teardown, not exceptions.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort._teardown_managed_simulators): Function run on exit which will kill all
iOS simulators and teardown and managed devices.
(IOSSimulatorPort._create_simulators): Register teardown function.
(IOSSimulatorPort.clean_up_test_run): Move device teardown to _teardown_managed_simulators.
(IOSSimulatorPort._remove_device): Deleted.
2017-04-26 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] Implement support for new ARIA 1.1 values of aria-haspopup
https://bugs.webkit.org/show_bug.cgi?id=171164
Reviewed by Chris Fleizach.
hasPopup() should return whether or not ATK_STATE_HAS_POPUP is in the
AtkStateSet; not what is found in the AtkObject's attributes.
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::hasPopup):
2017-04-25 Alex Christensen <achristensen@webkit.org>
Encoded filename should be decoded for WKContentExtension.identifier
https://bugs.webkit.org/show_bug.cgi?id=171316
Reviewed by Andy Estes.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm.
(TEST_F):
* TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm: Removed.
2017-04-25 Alex Christensen <achristensen@webkit.org>
REGRESSION(206450): WebKit2PlatformMouseEvent m_modifierFlags not set
https://bugs.webkit.org/show_bug.cgi?id=171297
<rdar://problem/31530719>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/EventModifiers.cpp: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::mouseDidMoveOverElement):
(TestWebKitAPI::setClients):
(TestWebKitAPI::TEST):
* TestWebKitAPI/mac/PlatformWebViewMac.mm:
(TestWebKitAPI::PlatformWebView::simulateRightClick):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
2017-04-25 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, temporarily disable the data interaction unit tests.
The API around data interaction will change significantly in the near future, and
these tests will begin to fail. These will be reenabled once the bots are on an SDK
that supports the updated data interaction API.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
2017-04-25 Brent Fulgham <bfulgham@apple.com>
Limit allowed size of document.title to avoid locking WebKit clients
https://bugs.webkit.org/show_bug.cgi?id=165113
<rdar://problem/28324389>
Reviewed by Darin Adler.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
* TestWebKitAPI/Tests/WebKit2/LimitTitleSize.cpp: Added.
* TestWebKitAPI/Tests/WebKit2/set-long-title.html: Added.
* TestWebKitAPI/Tests/mac/LimitTitleSize.mm: Added.
2017-04-25 John Wilander <wilander@apple.com>
Resource Load Statistics: Introduce shorter time-to-live for cookie partition whitelisting
https://bugs.webkit.org/show_bug.cgi?id=171295
<rdar://problem/31823818>
Reviewed by Brent Fulgham.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsTimeToLiveCookiePartitionFree):
(WTR::TestRunner::statisticsFireShouldPartitionCookiesHandler):
(WTR::TestRunner::statisticsFireShouldPartitionCookiesHandlerForOneDomain):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree):
(WTR::TestController::statisticsFireShouldPartitionCookiesHandler):
(WTR::TestController::statisticsFireShouldPartitionCookiesHandlerForOneDomain):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2017-04-25 Tim Horton <timothy_horton@apple.com>
Try to fix the WKTR build after r215758
* Scripts/build-webkittestrunner:
2017-04-25 Daniel Bates <dabates@apple.com>
Remove more EFL code
https://bugs.webkit.org/show_bug.cgi?id=171288
Rubber-stamped by Simon Fraser.
The EFL port is no longer in the WebKit OpenSource Project repository. Remove more code
that was part of the EFL port.
* CMakeLists.txt:
* DumpRenderTree/AccessibilityController.h:
* DumpRenderTree/AccessibilityUIElement.cpp:
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/DumpRenderTree.h:
* DumpRenderTree/cairo/PixelDumpSupportCairo.h:
* ImageDiff/efl/ImageDiff.cpp: Removed.
* MiniBrowser/efl/CMakeLists.txt: Removed.
* MiniBrowser/efl/main.c: Removed.
* Scripts/build-dumprendertree:
* Scripts/build-jsc:
* Scripts/build-webkit:
* Scripts/build-webkittestrunner:
* Scripts/run-minibrowser:
* Scripts/update-webkit-libs-jhbuild:
* Scripts/update-webkitefl-libs: Removed.
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
(extractNonMacOSHostConfiguration):
(executableProductDir):
(builtDylibPathForName):
(determinePortName):
(launcherPath):
(launcherName):
(getJhbuildPath):
(wrapperPrefixIfNeeded):
(generateBuildSystemFromCMakeProject):
(buildCMakeProjectOrExit):
(isEfl): Deleted.
* Scripts/webkitperl/FeatureList.pm:
* Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl:
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.port):
(GtkWK2Port.run_webkit_tests_command):
(EflWK2Port): Deleted.
(EflWK2Port.build_webkit_command): Deleted.
* Scripts/webkitpy/port/builders.py:
* Scripts/webkitpy/port/efl.py: Removed.
* Scripts/webkitpy/port/efl_unittest.py: Removed.
* Scripts/webkitpy/port/factory.py:
(platform_options):
(PortFactory):
* Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
(TestExpectationsTestCase.test_determine_port_from_expectations_path):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineTest.test_baseline_directory):
(TestRebaselineExpectations.test_rebaseline_expectations):
* TestWebKitAPI/PlatformEfl.cmake: Removed.
* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
(TestWebKitAPI::TEST):
* 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/InjectedBundleController.cpp: Removed.
* TestWebKitAPI/efl/PlatformUtilities.cpp: Removed.
* TestWebKitAPI/efl/PlatformWebView.cpp: Removed.
* TestWebKitAPI/efl/main.cpp: Removed.
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::contextClick):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
(WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback):
(WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler):
* 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/PlatformEfl.cmake: Removed.
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
* WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Removed.
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Removed.
* WebKitTestRunner/efl/TestControllerEfl.cpp: Removed.
* WebKitTestRunner/efl/main.cpp: Removed.
* efl/install-dependencies: Removed.
* efl/jhbuild-optional.modules: Removed.
* efl/jhbuild.modules: Removed.
* efl/jhbuildrc: 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.
* gtk/manifest.txt.in:
2017-04-25 Daniel Bates <dabates@apple.com>
[Cocoa][Win] Enable of X-Content-Type-Options: nosniff header
https://bugs.webkit.org/show_bug.cgi?id=136452
<rdar://problem/23412620>
Reviewed by Brent Fulgham.
Enable X-Content-Type-Options: nosniff on Mac, iOS and Windows platforms.
* Scripts/webkitperl/FeatureList.pm: Also do not enable nosniff on EFL
as the EFL port is no longer in the WebKit OpenSource repository.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-04-25 Zan Dobersek <zdobersek@igalia.com>
Unreviewed follow-up to r215739 and r215740.
* gtk/jhbuild.modules: List the libgcrypt patch that has to be applied.
This (and r215740) was supposed to land in r215739, but I managed to
specify the previous version of the patch.
2017-04-25 Zan Dobersek <zdobersek@igalia.com>
Unreviewed follow-up to r215739.
* gtk/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Add the missing
libgcrypt patch that enforces the use of /dev/urandom.
2017-04-25 Zan Dobersek <zdobersek@igalia.com>
[GTK] Add libgpg-error, libgcrypt libraries to JHBuild
https://bugs.webkit.org/show_bug.cgi?id=171270
Reviewed by Michael Catanzaro.
* gtk/jhbuild.modules: Add the latest stable versions of libgpg-error and libgcrypt
libraries to the webkitgtk-testing-dependencies metamodule. This will help people
that use systems that don't yet provide libgcrypt >= 1.7.0.
2017-04-25 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] Improve an unit test for the JHBuild wrapper.
https://bugs.webkit.org/show_bug.cgi?id=168036
Unreviewed follow-up patch after r215727
* Scripts/webkitpy/port/base_unittest.py:
(test_jhbuild_wrapper): Improve the unit test by ensuring the directory
wasn't there before calling MockFileSystem.maybe_make_directory(), and
also that it exists after calling it.
2017-04-25 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK] ImageDiff should be run by jhbuild-wrapper in case of using jhbuild
https://bugs.webkit.org/show_bug.cgi?id=168036
Reviewed by Michael Catanzaro.
Call ImageDiff with the JHBuild wrapper if we should use it.
Also add some unit tests for the JHBuild wrapper feature.
* Scripts/webkitpy/port/base.py:
(Port._should_use_jhbuild): Use self._filesystem instead of os.path to allow mock testing.
* Scripts/webkitpy/port/base_unittest.py:
(test_jhbuild_wrapper): Add a test for port._should_use_jhbuild()
* Scripts/webkitpy/port/image_diff.py:
(ImageDiffer._start): The actual fix, use the wrapper if we should.
* Scripts/webkitpy/port/image_diff_unittest.py: Removed. This two tests are now integrated in port_testcase
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase):
(PortTestCase.test_diff_image): Test the command with wrapper and without it.
(PortTestCase.test_diff_image_passed): Moved from image_diff_unittest.py
(PortTestCase.test_diff_image_failed): Moved from image_diff_unittest.py
2017-04-25 Wenson Hsieh <wenson_hsieh@apple.com>
Support reading NSURL titles from the pasteboard when performing data interaction
https://bugs.webkit.org/show_bug.cgi?id=171156
<rdar://problem/31356937>
Reviewed by Tim Horton.
Adds a new unit test, DataInteractionTests.ExternalSourceTitledNSURL.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-04-24 Wenson Hsieh <wenson_hsieh@apple.com>
Respect fidelity order when reading web content from item providers
https://bugs.webkit.org/show_bug.cgi?id=171155
<rdar://problem/31356937>
Reviewed by Tim Horton.
Adds a new unit test (DataInteractionTests.RespectsExternalSourceFidelityRankings). See WebCore ChangeLog for
more details.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-04-24 Carlos Alberto Lopez Perez <clopez@igalia.com>
SyntaxError fix after r215702.
https://bugs.webkit.org/show_bug.cgi?id=168944
Unreviewed "build" fix.
* BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):
2017-04-24 Jonathan Bedard <jbedard@apple.com>
Package ImageDiff built with host SDK
https://bugs.webkit.org/show_bug.cgi?id=168944
<rdar://problem/30745642>
Reviewed by David Kilzer.
iOS Simulator and iOS device should archive the ImageDiff built for the host
machine.
* BuildSlaveSupport/built-product-archive:
(determineWebKitBuildDirectories): Add _hostBuildDirectory for iOS.
(archiveBuiltProduct): Archive Mac products for iOS so that ImageDiff is included.
2017-04-24 Keith Miller <keith_miller@apple.com>
ThreadMessage API tests failing on release bots
https://bugs.webkit.org/show_bug.cgi?id=171246
Reviewed by Saam Barati.
Need to make sure that C++ doesn't optimize away our spin loop.
* TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:
(runThreadMessageTest):
(TEST):
2017-04-24 Alex Christensen <achristensen@webkit.org>
Reduce copies and allocations in SharedBuffer::append
https://bugs.webkit.org/show_bug.cgi?id=170956
Reviewed by Andreas Kling.
* TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
(TestWebKitAPI::TEST_F):
2017-04-24 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Switch to use ENABLE_REMOTE_INSPECTOR instead of ENABLE_INSPECTOR_SERVER for the remote inspector
https://bugs.webkit.org/show_bug.cgi?id=166680
Reviewed by Michael Catanzaro.
Update remote inspector unit tests.
* TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp:
(main):
* TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:
(connectToInspectorServer):
(waitUntilInspectorServerIsReady):
(startTestServer):
(testInspectorServerPageList):
(beforeAll):
2017-04-23 Youenn Fablet <youenn@apple.com>
Add a tool to update expected.txt files from EWS bot results
https://bugs.webkit.org/show_bug.cgi?id=169538
Reviewed by Ryosuke Niwa.
This script updates expected-txt files from bugzilla posted EWS results.
It uses mac-wk2 as the generic baseline and adds platform-specific results if other ports
have results different from the generic baseline.
* Scripts/update-test-expectations-from-bugzilla: Added.
* Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py: Added.
* Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py: Added.
* Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Adding helper routines.
2017-04-22 Youenn Fablet <youenn@apple.com>
Add an option to import tip-of-tree WPT tests
https://bugs.webkit.org/show_bug.cgi?id=171152
Reviewed by Joseph Pecoraro.
Adding a '-t' option to import tip of tree WPT tests.
Updating importer based on the fact that csswg-test is no longer a thing.
* Scripts/webkitpy/w3c/test_downloader.py:
(TestDownloader.download_tests):
* Scripts/webkitpy/w3c/test_importer.py:
(configure_logging):
(TestImporter.do_import):
(TestImporter.write_import_log):
2017-04-22 Wenson Hsieh <wenson_hsieh@apple.com>
File inputs only accept UTI types that can be inserted into contenteditable areas when dropping
https://bugs.webkit.org/show_bug.cgi?id=171177
<rdar://problem/31765379>
Reviewed by Andy Estes.
Tests uploading a JSON file to a file input.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-04-21 Wenson Hsieh <wenson_hsieh@apple.com>
Support writing link titles to the pasteboard when beginning data interaction on a link
https://bugs.webkit.org/show_bug.cgi?id=171154
<rdar://problem/31356937>
Reviewed by Andy Estes.
Augments an existing unit test, DataInteractionTests.LinkToInput, to also check that the fetching the NSURL from
the source UIItemProvider generated by performing data interaction results in an NSURL with the _title attribute
matching the title of the link.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-04-21 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, rolling out r215608.
Hundreds of test failures on GTK bot
Reverted changeset:
"Reduce copies and allocations in SharedBuffer::append"
https://bugs.webkit.org/show_bug.cgi?id=170956
http://trac.webkit.org/changeset/215608
2017-04-21 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] Add delegate hooks for overriding unhanded data interaction operations
https://bugs.webkit.org/show_bug.cgi?id=171005
<rdar://problem/31669646>
Reviewed by Tim Horton.
Adds a new API test checking that normal WebKit behavior when vending updated data interaction operations may
be overridden, resulting in a data interaction operation being performed when it otherwise would not have. Also
adjusts for some changes in WebKit2 (See WebKit2 ChangeLog for more details).
New API test:
DataInteractionTests.OverrideDataInteractionOperation
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator initWithWebView:]):
(-[DataInteractionSimulator dealloc]):
(-[DataInteractionSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
(-[DataInteractionSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]):
(-[DataInteractionSimulator webViewDidPerformDataInteractionControllerOperation:]): Deleted.
2017-04-21 Ryan Haddad <ryanhaddad@apple.com>
Temporarily disable two flaky API tests.
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(TEST):
2017-04-21 Keith Miller <keith_miller@apple.com>
Unreviewed, rolling out r215634.
underlying build issues should have been fixed
Reverted changeset:
"Unreviewed, rolling out r215620 and r215623."
https://bugs.webkit.org/show_bug.cgi?id=171139
http://trac.webkit.org/changeset/215634
2017-04-21 Aakash Jain <aakash_jain@apple.com>
Bubbles on dashboard doesn't turn red for test262 failures
https://bugs.webkit.org/show_bug.cgi?id=171129
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js: Added test262-test.
2017-04-21 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r215620 and r215623.
https://bugs.webkit.org/show_bug.cgi?id=171139
broke arm64 build (Requested by keith_miller on #webkit).
Reverted changesets:
"Add signaling API"
https://bugs.webkit.org/show_bug.cgi?id=170976
http://trac.webkit.org/changeset/215620
"Unreviewed, fix Cloop build."
http://trac.webkit.org/changeset/215623
2017-04-20 Keith Miller <keith_miller@apple.com>
Add signaling API
https://bugs.webkit.org/show_bug.cgi?id=170976
Reviewed by Filip Pizlo.
Add tests for ThreadMessages.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/ThreadMessages.cpp: Added.
(runThreadMessageTest):
(TEST):
2017-04-20 Conrad Shultz <conrad_shultz@apple.com>
commit-log-editor should respect the git editor if one is set
https://bugs.webkit.org/show_bug.cgi?id=171085
<rdar://problem/31745506>
Reviewed by Daniel Bates.
* Scripts/commit-log-editor:
If Git is available, consider GIT_LOG_EDITOR and any global Git editor preference when
deciding which editor to present. We examine the global editor preference since that may be
set automatically by installers or third-party tools.
2017-04-21 Alex Christensen <achristensen@webkit.org>
Reduce copies and allocations in SharedBuffer::append
https://bugs.webkit.org/show_bug.cgi?id=170956
Reviewed by Andreas Kling.
* TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
(TestWebKitAPI::TEST_F):
2017-04-20 Konstantin Tokarev <annulen@yandex.ru>
[cmake] Define FORWARDING_HEADERS_DIR in WebKitFS and use it everywhere
https://bugs.webkit.org/show_bug.cgi?id=171071
Reviewed by Michael Catanzaro.
"${DERIVED_SOURCES_DIR}/ForwardingHeaders" path occurs very often in the
build system files. GTK-specifc FORWARDING_HEADERS_DIR variable should
be available for all ports.
* DumpRenderTree/PlatformMac.cmake:
* MiniBrowser/mac/CMakeLists.txt:
* MiniBrowser/win/CMakeLists.txt:
* TestWebKitAPI/PlatformJSCOnly.cmake:
* TestWebKitAPI/PlatformMac.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* WebKitTestRunner/PlatformMac.cmake:
2017-04-20 Joseph Pecoraro <pecoraro@apple.com>
Test262 bot does not go red with failures
https://bugs.webkit.org/show_bug.cgi?id=171044
Reviewed by Aakash Jain.
The piped output of run-jsc-stress-tests is different from
its non-piped output. Switch to parsing the correct output.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunTest262Tests.countFailures):
Just count the number of lines that start with "FAIL:".
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(RunTest262TestsTest.test_no_regressions_output):
(test_failure_output):
(test_failures_output):
Updated tests with new sample output produced partially from bots and
locally. In cases of failure the return code of run-jsc-stress-tests
is still 0 so update the expected return code in the tests.
2017-04-20 Brady Eidson <beidson@apple.com>
WebContent process becomes unresponsive after returning nil from async version of -webView:createWebViewWithConfiguration:...
<rdar://problem/31739023> and https://bugs.webkit.org/show_bug.cgi?id=171090
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit2/open-and-close-window.html:
* TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
(resetToConsistentState):
(-[OpenAndCloseWindowUIDelegate webViewDidClose:]):
(-[OpenAndCloseWindowUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(TEST):
(-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]):
2017-04-20 Wenson Hsieh <wenson_hsieh@apple.com>
[ios-simulator] PositionInformationTests API tests are timing out
https://bugs.webkit.org/show_bug.cgi?id=171089
Rubber-stamped by Tim Horton.
Addresses failures observed in the new position information tests added in r215573 by only running them if the
DATA_INTERACTION feature flag is enabled.
* TestWebKitAPI/Tests/ios/PositionInformationTests.mm:
2017-04-20 Brady Eidson <beidson@apple.com>
Skip WebKit2.OpenAndCloseWindowAsyncCallbackException for now.
https://bugs.webkit.org/show_bug.cgi?id=171083
Unreviewed.
* TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
2017-04-20 Brady Eidson <beidson@apple.com>
Add CompletionHandlerCallChecker to SPI added in r215545.
https://bugs.webkit.org/show_bug.cgi?id=171067
Reviewed by Dan Bernstein.
* TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
(TEST):
(-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]):
2017-04-20 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] -[WKContentView doAfterPositionInformationUpdate:atPosition:] should be robust against synchronous reentrancy
https://bugs.webkit.org/show_bug.cgi?id=170922
<rdar://problem/31634990>
Reviewed by Tim Horton.
Adds six new unit tests for retrieving interaction information at a given position in the UI process. See
WebKit2 ChangeLog for more details.
* TestWebKitAPI/Tests/ios/PositionInformationTests.mm:
(-[_WKDraggableElementInfo expectToBeLink:image:atPoint:]):
(TestWebKitAPI::TEST):
(TestWebKitAPI::expectCGPointsToBeEqual): Deleted.
2017-04-20 Xan Lopez <xlopez@igalia.com>
[GTK][jhbuild] Update glib and glib-networking to the latest stable versions
https://bugs.webkit.org/show_bug.cgi?id=170942
Reviewed by Carlos Garcia Campos.
Update glib and glib-networking to the last stable releases. This
is needed to get working TLS certificate verification at all at
least in Fedora.
* gtk/install-dependencies: add libmount, needed for newer glib.
* gtk/jhbuild.modules: update glib and glib-networking to last
stable releases.
2017-04-20 Joanmarie Diggs <jdiggs@igalia.com>
[ATK] Implement support for DPub ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=170679
Reviewed by Chris Fleizach.
Add DPub ARIA landmark roles to roleToString().
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2017-04-19 Joseph Pecoraro <pecoraro@apple.com>
Remove WebKitTestRunner code for enabling features that are already enabled by default
https://bugs.webkit.org/show_bug.cgi?id=171033
Reviewed by Ryosuke Niwa.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setShadowDOMEnabled): Deleted.
(WTR::TestRunner::setCustomElementsEnabled): Deleted.
(WTR::TestRunner::setFetchAPIEnabled): Deleted.
(WTR::TestRunner::setDownloadAttributeEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-04-19 Youenn Fablet <youenn@apple.com>
[Mac] Allow customizing H264 encoder
https://bugs.webkit.org/show_bug.cgi?id=170829
Reviewed by Alex Christensen.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-04-19 Brady Eidson <beidson@apple.com>
Add asynchronous equivalent of -[<WKUIDelegate> webView:createWebViewWithConfiguration:...].
<rdar://problem/30699851> and https://bugs.webkit.org/show_bug.cgi?id=171018
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:
(TEST):
(-[OpenAndCloseWindowUIDelegateAsync webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]):
2017-04-19 Brady Eidson <beidson@apple.com>
REGRESSION (r213168): An extra Web Content process is spun up on launch and is never closed.
<rdar://problem/30774839> and https://bugs.webkit.org/show_bug.cgi?id=171002
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/InitialWarmedProcessUsed.mm: Added.
2017-04-19 Brent Fulgham <bfulgham@apple.com>
[WK2] Run tests with ResourceLoadStatistics enabled
https://bugs.webkit.org/show_bug.cgi?id=170952
Reviewed by Andy Estes.
Excercise the load statistics code during tests.
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
2017-04-19 Bill Ming <mbbill@gmail.com>
close_fds should be set to False on Windows.
https://bugs.webkit.org/show_bug.cgi?id=170838
Reviewed by Brent Fulgham.
* Scripts/webkitpy/common/system/executive.py:
(Executive._should_close_fds):
2017-04-19 David Kilzer <ddkilzer@apple.com>
Stop using strcpy() in WebKit::EnvironmentUtilities::stripValuesEndingWithString()
<https://webkit.org/b/170994>
<rdar://problem/29889932>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
(EnvironmentUtilitiesTest.cpp): Add to TestWebKitAPILibrary
target.
* TestWebKitAPI/Tests/WebKit2/EnvironmentUtilitiesTest.cpp: Add.
(TestWebKitAPI::strip): Helper method to set/get environment
variable for testing.
(TestWebKitAPI::WebKit2_StripValuesEndingWithString_Test): Add
tests.
2017-04-19 JF Bastien <jfbastien@apple.com>
WebAssembly: add script which can import GCC torture tests
https://bugs.webkit.org/show_bug.cgi?id=170740
Reviewed by Saam Barati.
Add a script which can import the GCC torture tests and create a
yaml file to run them as part of jsc's WebAssembly regression
tests.
This patch doesn't commit the tests themselves because they're
licensed differently.
* Scripts/run-jsc-stress-tests: learn how to run
Emscripten-generated .js+.wasm files, and do a bit of cleanup on
the options because WebAssembly is enabled by default.
* Scripts/update-wasm-gcc-torture.py: Added.
(parse_args):
(update_lkgr):
(untar_torture):
(list_js_files):
(waterfall_known_failures):
(create_yaml):
(main):
2017-04-19 Youenn Fablet <youenn@apple.com>
Import web-platform-tests/tools
https://bugs.webkit.org/show_bug.cgi?id=170718
Reviewed by Alex Christensen.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
(main):
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.ports_to_forward):
(WebPlatformTestServer._prepare_config):
(WebPlatformTestServer._install_modules): Deleted.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.write_html_files_for_templated_js_tests):
2017-04-18 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] Add infrastructure and unit tests for file uploads using data interaction
https://bugs.webkit.org/show_bug.cgi?id=170903
<rdar://problem/31314689>
Reviewed by Tim Horton.
Adds 5 new unit tests covering different cases of uploading files through data interaction, as well as
infrastructure for simulating UIItemProviders that load file data. Makes a few adjustments to the
DataInteractionSimulator along the way, detailed in the per-method annotations below. See
<https://bugs.webkit.org/show_bug.cgi?id=170880> for more details about the change this patch is testing.
New tests:
DataInteractionTests.ExternalSourceImageToFileInput
DataInteractionTests.ExternalSourceHTMLToUploadArea
DataInteractionTests.ExternalSourceImageAndHTMLToSingleFileInput
DataInteractionTests.ExternalSourceImageAndHTMLToMultipleFileInput
DataInteractionTests.ExternalSourceImageAndHTMLToUploadArea
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(testIconImage):
(temporaryURLForDataInteractionFileLoad):
(cleanUpDataInteractionTemporaryPath):
Creates and tears down temporary file directories for testing data interaction.
(-[UIItemProvider registerFileRepresentationForTypeIdentifier:withData:filename:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
Make necessary changes to be able to test what happens when data interaction ends over an element with no
operation. Previously, we would always simulate performing a data interaction operation when ending the
simulation, but this causes us to wait indefinitely for a data operation response to arrive in the UI process.
Instead, we need to note whether or not the content view is allowing data interaction, and only perform an
operation and wait for the -didPerform call if the operation was allowed. Otherwise, we immediately transition
the phase to Cancelled and end the run.
(-[DataInteractionSimulator _resetSimulatedState]):
(-[DataInteractionSimulator runFrom:to:]):
(-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]):
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator externalItemProviders]):
(-[DataInteractionSimulator setExternalItemProviders:]):
Previously, we hard-coded DataInteractionSimulator to only support a single external item provider. In order to
test the scenario where multiple files are being "data interacted" into a file-type input, we generalize this to
take multiple item providers.
(-[DataInteractionSimulator externalItemProvider]): Deleted.
(-[DataInteractionSimulator setExternalItemProvider:]): Deleted.
2017-04-18 John Wilander <wilander@apple.com>
Make WebCore::topPrivatelyControlledDomain() return "localhost" for localhost
https://bugs.webkit.org/show_bug.cgi?id=170798
<rdar://problem/31595108>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/mac/PublicSuffix.mm:
(TestWebKitAPI::TEST_F):
Added two negative test cases for WebCore::isPublicSuffix().
Added test cases with mixed case domains, localhost, and
non-ASCII for WebCore::topPrivatelyControlledDomain().
2017-04-18 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r215346 and 215361.
The problem these changes were fixing was addressed in
<https://trac.webkit.org/changeset/215416/webkit>.
Reverted changesets:
"webkitpy: Ignore previously launched pid when system is under
stress"
https://bugs.webkit.org/show_bug.cgi?id=170741
http://trac.webkit.org/changeset/215346
http://trac.webkit.org/changeset/215361
2017-04-17 Alex Christensen <achristensen@webkit.org>
Allow Variants of RetainPtrs
https://bugs.webkit.org/show_bug.cgi?id=170923
Reviewed by Tim Horton and Sam Weinig.
* TestWebKitAPI/Tests/WTF/Variant.cpp:
(TestWebKitAPI::TEST):
Add tests for RetainPtr and for another class with overloaded operator& to verify such classes can
work in Variants.
2017-04-17 Brady Eidson <beidson@apple.com>
Make WKHTTPCookieStore public.
<rdar://problem/31024691> and https://bugs.webkit.org/show_bug.cgi?id=170920
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm:
(TEST):
2017-04-17 Youenn Fablet <youenn@apple.com>
Disable outdated WritableStream API
https://bugs.webkit.org/show_bug.cgi?id=170749
<rdar://problem/31446233>
Reviewed by Alex Christensen.
Replacing READABLE_STREAM_API, READABLE_BYTE_STREAM_API and WRITABLE_STREAM_API compilation flag by:
- A STREAMS_API compilation flag.
- A ReadableByteStreamAPI and WritableStreamAPI runtime flags, turned off except for RWT and DRT.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setFetchAPIEnabled):
(WTR::TestRunner::setWritableStreamAPIEnabled):
(WTR::TestRunner::setReadableByteStreamAPIEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2017-04-17 Tim Horton <timothy_horton@apple.com>
Provide a viewport parameter to disable clipping to the safe area
https://bugs.webkit.org/show_bug.cgi?id=170766
<rdar://problem/31564634>
Reviewed by Beth Dakin.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setObscuredInsets):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setObscuredInsets):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setObscuredInsets):
Add a UIScriptController mechanism to install obscured insets
on the web view.
2017-04-17 Dan Bernstein <mitz@apple.com>
[Cocoa] Move isNullFunctionPointer down into WTF
https://bugs.webkit.org/show_bug.cgi?id=170892
Reviewed by Sam Weinig.
* TestWebKitAPI/Configurations/TestWTF.xcconfig:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd: Added.
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS.tbd: Added.
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS-v2.tbd: Added.
* TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS.tbd: Added.
2017-04-17 Jonathan Bedard <jbedard@apple.com>
webkitpy: Correct poll when killing ServerProcess
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess._kill): A polled process equaling 'None' means the process is running.
2017-04-17 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Enable getUserMedia API test
https://bugs.webkit.org/show_bug.cgi?id=170901
<rdar://problem/31656594>
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add test.
* TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:
(TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack):
(TestWebKitAPI::TEST): Enable capture with mock devices.
* TestWebKitAPI/Tests/WebKit2/getUserMedia.html: Update to mediaDevices.getUserMedia
2017-04-17 Xan Lopez <xan@igalia.com>
[GTK] Update the Fedora dependencies for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=170590
Reviewed by Carlos Alberto Lopez Perez.
* gtk/install-dependencies: add a bunch of modules necessary to
get a proper set of GStreamer codecs for WebRTC.
2017-04-16 Sam Weinig <sam@webkit.org>
[WebIDL] Switch IDLAttributes.txt over to a more structured format so that more information can be added for each attribute
https://bugs.webkit.org/show_bug.cgi?id=170843
Reviewed by Chris Dumez.
* DumpRenderTree/DerivedSources.make:
* WebKitTestRunner/DerivedSources.make:
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_from_idl):
Pass IDLAttributes.json, as it is now mandatory to have one.
2017-04-14 Mark Lam <mark.lam@apple.com>
Update architectures in xcconfig files.
https://bugs.webkit.org/show_bug.cgi?id=170867
<rdar://problem/31628104>
Reviewed by Joseph Pecoraro.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MobileMiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
2017-04-14 Brady Eidson <beidson@apple.com>
Fix basic WKURLSchemeHandler bugs.
<rdar://problem/30647559> and https://bugs.webkit.org/show_bug.cgi?id=170862
Reviewed by Andy Estes.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm: Added.
(-[SchemeHandler initWithData:mimeType:]):
(-[SchemeHandler dealloc]):
(-[SchemeHandler webView:startTask:]):
(-[SchemeHandler webView:stopTask:]):
(TEST):
2017-04-14 Bill Ming <mbbill@gmail.com>
webkit-patch failed to detect git repository
https://bugs.webkit.org/show_bug.cgi?id=170859
Reviewed by Daniel Bates.
Windows cmd does not accept single quoted path. So, using
double quotes here will provide better platform compatibility.
* Scripts/VCSUtils.pm:
(isGitDirectory):
(isGitSVNDirectory):
(svnRevisionForDirectory):
(svnInfoForPath):
2017-04-14 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r215374.
This change causes LayoutTests to exit early with crashes on
Sierra.
Reverted changeset:
"webkitpy: Ignore previously launched pid when system is under
stress"
https://bugs.webkit.org/show_bug.cgi?id=170741
http://trac.webkit.org/changeset/215374
2017-04-14 Dan Bernstein <mitz@apple.com>
[ios-simulator] API test WebKit2.AdditionalReadAccessAllowedURLs is failing
https://bugs.webkit.org/show_bug.cgi?id=170856
Disabled the newly-added test in the Simulator, which doesn’t enforce sandboxing.
* TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm:
2017-04-14 Jonathan Bedard <jbedard@apple.com>
webkitpy: Ignore previously launched pid when system is under stress
https://bugs.webkit.org/show_bug.cgi?id=170741
Unreviewed infrastructure fix.
Drivers are destroyed between failing layout tests, which is not necessary and
prevents the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(Worker._kill_driver): Do not destroy drivers when they are stopped.
* Scripts/webkitpy/port/driver.py:
(Driver.stop): Reset driver values set in initializer.
2017-04-14 Andy Estes <aestes@apple.com>
[ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
https://bugs.webkit.org/show_bug.cgi?id=167594
Re-enabled this API test now that webkit.org/b/161967 is fixed.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
(TEST):
2017-04-14 Andy Estes <aestes@apple.com>
[ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out
https://bugs.webkit.org/show_bug.cgi?id=161967
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(TEST): Re-enabled WebKit2.DataDetectionReferenceDate.
2017-04-14 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r215363.
This change causes LayoutTests to exit early with crashes.
Reverted changeset:
"webkitpy: Ignore previously launched pid when system is under
stress"
https://bugs.webkit.org/show_bug.cgi?id=170741
http://trac.webkit.org/changeset/215363
2017-04-14 Jonathan Bedard <jbedard@apple.com>
webkitpy: Ignore previously launched pid when system is under stress
https://bugs.webkit.org/show_bug.cgi?id=170741
Unreviewed infrastructure fix.
Drivers are destroyed between failing layout tests, which is not necessary and
prevents the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(Worker._kill_driver): Do not destroy drivers when they are stopped.
2017-04-14 Jonathan Bedard <jbedard@apple.com>
webkitpy: Ignore previously launched pid when system is under stress
https://bugs.webkit.org/show_bug.cgi?id=170741
Unreviewed infrastructure fix.
Server processes are destroyed in the driver, which is not necessary and prevents
the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741.
* Scripts/webkitpy/port/driver.py:
(Driver.run_test): Do not destroy server process.
(Driver._start): Only create the server process if it is None.
(Driver.stop): Do not destroy server process.
2017-04-13 Dan Bernstein <mitz@apple.com>
[Cocoa] Allow clients to specify in _WKProcessPoolConfiguration additional directory sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=170387
Reviewed by Sam Weinig.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm: Added.
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsPlugin.mm: Added.
(-[AdditionalReadAccessAllowedURLsPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[AdditionalReadAccessAllowedURLsPlugIn dealloc]):
(-[AdditionalReadAccessAllowedURLsPlugIn readStringFromURL:completionHandler:]):
* TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsProtocol.h: Added.
2017-04-13 Jonathan Bedard <jbedard@apple.com>
webkitpy: Ignore previously launched pid when system is under stress
https://bugs.webkit.org/show_bug.cgi?id=170741
Reviewed by David Kilzer.
We have seen cases where xcrun simctl launch will return a pid of a previous
process and the process will appear to be running even though it is crashing.
Ensure that the PID that simulator_process is receiving is not the pid of the
previously run process.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess._start): Check to make sure we aren't receiving an old PID.
2017-04-13 Jonathan Bedard <jbedard@apple.com>
Build ImageDiff with host SDK
https://bugs.webkit.org/show_bug.cgi?id=168531
Reviewed by David Kilzer.
ImageDiff should be built and run with the host SDK, not the target SDK.
Build ImageDiff twice, once for the target SDK and once for the host
as an intermediate step towards building for only the host SDK.
* ImageDiff/Makefile: Added.
* Makefile: Add ImageDiff to list of targets.
* Scripts/build-imagediff: Build bmalloc and WTF for the host.
* Scripts/build-webkit: Build ImageDiff for host.
* Scripts/webkitdirs.pm: Export extractNonMacOSHostConfiguration.
(extractNonMacOSHostConfiguration): Remove non-host configuration data from the array.
* Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Added.
* Scripts/webkitpy/port/base.py:
(Port.check_build): Attempt to build image diff if not found.
(Port.check_image_diff): Enable logging flag.
(Port._build_image_diff): Allow webkitpy to build image-diff during testing.
2017-04-12 Alex Christensen <achristensen@webkit.org>
Clean up SharedBuffer public functions
https://bugs.webkit.org/show_bug.cgi?id=170795
Reviewed by Andreas Kling.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
2017-04-12 Dan Bernstein <mitz@apple.com>
[Mac] Future-proof .xcconfig files
https://bugs.webkit.org/show_bug.cgi?id=170802
Reviewed by Tim Horton.
* DumpRenderTree/mac/Configurations/Base.xcconfig:
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/DebugRelease.xcconfig:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/DebugRelease.xcconfig:
2017-04-12 Alex Christensen <achristensen@webkit.org>
Remove unused SharedBuffer::wrapCFDataArray
https://bugs.webkit.org/show_bug.cgi?id=170794
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
(TestWebKitAPI::TEST_F):
2017-04-12 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Introduce Thread class and use RefPtr<Thread> and align Windows Threading implementation semantics to Pthread one
https://bugs.webkit.org/show_bug.cgi?id=170502
Reviewed by Mark Lam.
Mechanical change. Use Thread:: APIs.
* DumpRenderTree/JavaScriptThreading.cpp:
(runJavaScriptThread):
(startJavaScriptThreads):
(stopJavaScriptThreads):
* DumpRenderTree/mac/DumpRenderTree.mm:
(testThreadIdentifierMap):
* TestWebKitAPI/Tests/WTF/Condition.cpp:
* TestWebKitAPI/Tests/WTF/Lock.cpp:
(TestWebKitAPI::runLockTest):
* TestWebKitAPI/Tests/WTF/ParkingLot.cpp:
2017-04-12 Alex Christensen <achristensen@webkit.org>
Modernize vector adoption
https://bugs.webkit.org/show_bug.cgi?id=170758
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
2017-04-11 Dean Jackson <dino@apple.com>
Disable outdated WritableStream API
https://bugs.webkit.org/show_bug.cgi?id=170749
<rdar://problem/31446233>
Reviewed by Tim Horton.
The API we implement is no longer accurate. Disable it until we
are compatible with the new specification
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-04-11 David Quesada <david_quesada@apple.com>
Add SPI for handling geolocation authorization requests
https://bugs.webkit.org/show_bug.cgi?id=170362
rdar://problem/17508627
Reviewed by Alex Christensen.
Add API tests for the new WKUIDelegate SPI for allowing or denying websites permission
to use geolocation. Adopt the new WKProcessPool._coreLocationProvider property to
provide a stub object to simulate the various configurations of geolocation permissions:
1. The app doesn't have permission to use geolocation.
2. The app is allowed to use geolocation, but the UI delegate denies the web view permission.
3. The app is allowed to use geolocation, and the UI delegate allows the web view permission.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/Geolocation.mm: Added.
(-[TestCoreLocationProvider setListener:]):
(-[TestCoreLocationProvider requestGeolocationAuthorization]):
(-[TestCoreLocationProvider start]):
(-[TestCoreLocationProvider stop]):
(-[TestCoreLocationProvider setEnableHighAccuracy:]):
(expectException):
(-[GeolocationTestUIDelegate _webView:requestGeolocationAuthorizationForURL:frame:decisionHandler:]):
(-[GeolocationTestUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/GeolocationGetCurrentPositionResult.html: Added.
2017-04-10 Matt Rajca <mrajca@apple.com>
Change autoplay state to "prevented" when media is paused due to restrictions.
https://bugs.webkit.org/show_bug.cgi?id=170686
Reviewed by Alex Christensen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/autoplay-muted-with-controls.html: Added test.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST):
2017-04-11 Yusuke Suzuki <utatane.tea@gmail.com>
[WebCore][JSC] ResourceUsageData.{timeOfNextEdenCollection,timeOfNextFullCollection} should be MonotonicTime
https://bugs.webkit.org/show_bug.cgi?id=170725
Reviewed by Sam Weinig.
* TestWebKitAPI/Tests/WTF/Time.cpp:
(TestWebKitAPI::TEST):
2017-04-10 Alex Christensen <achristensen@webkit.org>
Revert r215217
https://bugs.webkit.org/show_bug.cgi?id=170703
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-04-10 Alex Christensen <achristensen@webkit.org>
Continue enabling WebRTC
https://bugs.webkit.org/show_bug.cgi?id=170703
Reviewed by Youenn Fablet.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-04-10 Kocsen Chung <kocsen_chung@apple.com>
Have parseRevisionProperty use default repo name as the Buildbot key.
https://bugs.webkit.org/show_bug.cgi?id=170696
Reviewed by Daniel Bates.
Previously, we needed to set a key and a fallbackKey when addressing
Buildbot data for Internal. That is no longer necessary as we can make a safe assumption
that the repo name maps exactly to that key for every repository other
than WebKit.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
Set `key = repositoryName` and only use fallback keys when dealing with WebKit.
2017-04-10 Aakash Jain <aakash_jain@apple.com>
Add test262 JavaScriptCore tests to dashboard
https://bugs.webkit.org/show_bug.cgi?id=170711
Rubber-stamped by Joseph Pecoraro.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot): Added test262 JSC tests to dashboard.
2017-04-10 Alex Christensen <achristensen@webkit.org>
REGRESSION(r195479) First main resource load in new WebProcess bypasses content extensions
https://bugs.webkit.org/show_bug.cgi?id=170707
<rdar://problem/27788755>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
(-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST_F):
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(-[ContentBlockingWebsitePoliciesDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):
2017-04-10 Alex Christensen <achristensen@webkit.org>
Add API to get available content extension identifiers in a WKContentExtensionStore
https://bugs.webkit.org/show_bug.cgi?id=170093
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm:
(TEST_F):
2017-04-10 Wenson Hsieh <wenson_hsieh@apple.com>
Refactor DataInteractionTests.UnresponsivePageDoesNotHangUI to not check against a fixed time interval
https://bugs.webkit.org/show_bug.cgi?id=170658
Reviewed by Tim Horton.
Uses ignoreSynchronousMessagingTimeoutsForTesting to ensure that this test times out if data interaction
preparation is synchronous, or passes if it is asynchronous.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView initWithFrame:]):
(-[TestWKWebView initWithFrame:configuration:processPoolConfiguration:]):
(-[TestWKWebView _setUpTestWindow:]):
2017-04-10 Brent Fulgham <bfulgham@apple.com>
[WK2][macOS] Block access to Apple Events before launch.
https://bugs.webkit.org/show_bug.cgi?id=170626
<rdar://problem/16079334>
Reviewed by Alexey Proskuryakov.
Add a new TestWebKitAPI test that fails if Apple Events are sent.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files.
* TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent.cpp: Added.
(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent_Bundle.cpp: Added.
(TestWebKitAPI::InjectedBundleAppleEventTest::InjectedBundleAppleEventTest):
(TestWebKitAPI::InjectedBundleAppleEventTest::didCreatePage):
2017-04-10 Guillaume Emont <guijemont@igalia.com>
[JSC] Do not run FTL stress tests on MIPS
https://bugs.webkit.org/show_bug.cgi?id=170684
Reviewed by Carlos Alberto Lopez Perez.
run-jsc-stress-tests does not correctly detect MIPS platforms, and its
logic to detect if the platform supports FTL ignores that MIPS does
not support FTL. This adds detection of MIPS (with the magic number
determined empirically) and fixes the determination of whether we
support FTL.
* Scripts/run-jsc-stress-tests:
2017-04-10 Jonathan Bedard <jbedard@apple.com>
webkitpy: Increase estimate for processes run by iOS Simulators
https://bugs.webkit.org/show_bug.cgi?id=170678
<rdar://problem/31534061>
Reviewed by Aakash Jain.
Previously, it was estimated that each simulated iOS device would run about 100
processes. With newer versions of iOS, this is closer to 125.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort): Increase process estimate from 100 to 125.
2017-04-10 Adrian Perez de Castro <aperez@igalia.com>
[GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup()
https://bugs.webkit.org/show_bug.cgi?id=170553
Reviewed by Michael Catanzaro.
Use gtk_menu_popup_at_pointer() and gtk_menu_popup_at_rect() when
building with GTK+ 3.22 or newer. This allows the Wayland GTK+ backend
to properly position popup menus, and also avoids using functions
which were deprecated starting at that GTK+ release.
* MiniBrowser/gtk/BrowserSearchBar.c:
(searchEntryMenuIconPressedCallback):
Update MiniBrowser to use gtk_menu_popup_at_pointer().
2017-04-10 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r214403): fast/events/drag-to-navigate.html and fast/events/only-valid-drop-targets-receive-file-drop.html failing
https://bugs.webkit.org/show_bug.cgi?id=170677
<rdar://problem/31512633>
Reviewed by Tim Horton.
Fixes two drag and drop LayoutTests by introducing and enabling a TestOptions switch (enableDragDestinationActionLoad)
to allow dropping URLs to trigger page navigation.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/mac/UIDelegate.h:
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate resetToConsistentStateBeforeTesting:]):
(-[UIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
2017-04-10 Fujii Hironori <Hironori.Fujii@sony.com>
update-webkit-dependency should report $response->message for diagnose
https://bugs.webkit.org/show_bug.cgi?id=170666
Reviewed by Alex Christensen.
* Scripts/update-webkit-dependency: Print $response->message to STDERR if an error happens.
2017-04-10 Wenson Hsieh <wenson_hsieh@apple.com>
Data interaction on an image enclosed by an anchor should vend the anchor's URL
https://bugs.webkit.org/show_bug.cgi?id=170660
<rdar://problem/31043220>
Reviewed by Tim Horton.
Adds two new unit tests covering cases where data interaction is triggered from an image nested underneath an
anchor. In one of the tests, the link has an href, and in the other, its href is missing, in which case we
should fall back to the image URL instead. Also fixes a related unit test that was trying to check selection
rects, but should not be.
See WebCore ChangeLog for more details.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/image-in-link-and-input.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-04-10 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Remove the GDK dependency from ImageDiff
https://bugs.webkit.org/show_bug.cgi?id=85299
Reviewed by Žan Doberšek.
Add a cairo only implementation of ImageDiff. We currently have 3 different implementations of ImageDiff: the
Gdk based one used by GTK+ port, the cairo based one used by WinCairo and the CG based one. Most of the code is
actually common in all of them, but it's duplicated. So, I've taken advantage of this patch to refactor the
ImageDiff code to share the common implementation. This patch adds the cross-platform code, and the cairo
implementation and enables it in the GTK+ port. In follow up patches we can move WinCairo to this implementation
and also add CG implementation.
* ImageDiff/CMakeLists.txt:
* ImageDiff/Cairo.cmake: Added.
* ImageDiff/ImageDiff.cpp: Added.
(main):
* ImageDiff/PlatformGTK.cmake:
* ImageDiff/PlatformImage.cpp: Added.
(ImageDiff::PlatformImage::isCompatible):
(ImageDiff::PlatformImage::difference):
* ImageDiff/PlatformImage.h: Added.
* ImageDiff/cairo/PlatformImageCairo.cpp: Added.
(ImageDiff::PlatformImage::createFromStdin):
(ImageDiff::PlatformImage::createFromDiffData):
(ImageDiff::PlatformImage::PlatformImage):
(ImageDiff::PlatformImage::~PlatformImage):
(ImageDiff::PlatformImage::width):
(ImageDiff::PlatformImage::height):
(ImageDiff::PlatformImage::rowBytes):
(ImageDiff::PlatformImage::hasAlpha):
(ImageDiff::PlatformImage::pixels):
(ImageDiff::PlatformImage::writeAsPNGToStdout):
* ImageDiff/gtk/ImageDiff.cpp: Removed.
2017-04-10 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r214426): [GTK] Test media/video-click-dblckick-standalone.html started to fail in the bots after r214426
https://bugs.webkit.org/show_bug.cgi?id=170667
Reviewed by Žan Doberšek.
In r214666 we disabled modern media controls runtime feature for the GTK+ port, but layout tests still override
that value.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::updatePlatformSpecificTestOptionsForTest): Disable modern media controls.
2017-04-10 Carlos Garcia Campos <cgarcia@igalia.com>
WTR: Avoid conversion from platform image to WKImage and then to platform image again when dumping pixel results
https://bugs.webkit.org/show_bug.cgi?id=170653
Reviewed by Tim Horton.
When dumping pixels from a web view snapshot, we create a platform image that is then converted to a WKImage,
which is a ShareableBitmap, so the image is rendered into a graphics context. Then we immediately extract the
platform image back from the WKImage to dump the pixels. We could avoid that conversion by taking the web
snapshot from TestInvocation::dumpPixelsAndCompareWithExpected().
* WebKitTestRunner/PlatformWebView.h: Add PlatformImage typedef and use it as return value of windowSnapshotImage().
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::dumpResults): Pass the WKImage to dumpPixelsAndCompareWithExpected() only when pixel
results were created in the web process.
* WebKitTestRunner/TestInvocation.h: Make WKImage a default paramater of dumpPixelsAndCompareWithExpected().
* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the cairo surface from the given WKimage in case
of web contents snapshot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot.
* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::createCGContextFromCGImage): Changed to receive a CGImageRef and renamed.
(WTR::createCGContextFromImage): Get the CGImageRef from the WKImage and call createCGContextFromCGImage().
(WTR::paintRepaintRectOverlay): It receives now the image size instead of the WKImage.
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the CGContextRef from the WKImage in case of web
contents snpashot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot.
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::windowSnapshotImage): Return the cairo surface instead of creating a WKImage. Also use
RGB24 format to match what mac does (kCGWindowImageShouldBeOpaque).
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage): Return the CGImageRef instead of creating a WKImage.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::windowSnapshotImage): Ditto.
2017-04-10 Chris Dumez <cdumez@apple.com>
Drop Timer::startOneShot() overload taking a double
https://bugs.webkit.org/show_bug.cgi?id=170659
Reviewed by Yusuke Suzuki.
Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2017-04-09 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] Add infrastructure to perform actions after an asynchronous position information request finishes
https://bugs.webkit.org/show_bug.cgi?id=170658
<rdar://problem/31431450>
Reviewed by Tim Horton.
Adds a new test verifying that when a web page is unresponsive, the process of preparing for data interaction
does not also cause the UI process to spin. We assume here that the call to prepare must be asynchronous, so it
should complete before the unresponsiveness timeout is triggered.
See WebKit2 ChangeLog for more details.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-04-09 Chris Dumez <cdumez@apple.com>
Drop Timer::startRepeating() overload taking a double
https://bugs.webkit.org/show_bug.cgi?id=170656
Reviewed by Yusuke Suzuki.
Drop Timer::startRepeating() overload taking a double as people should use Seconds type now.
* TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::TEST):
2017-04-09 Youenn Fablet <youenn@apple.com>
Resync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec
https://bugs.webkit.org/show_bug.cgi?id=170647
Reviewed by Sam Weinig.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.fetch): Fetching origin remote in case there is more than one.
2017-04-08 Simon Fraser <simon.fraser@apple.com>
Update CSSProperties.json with correct fill-and-stroke status, and other cleanup
https://bugs.webkit.org/show_bug.cgi?id=170643
Reviewed by Chris Dumez.
Update the CSSProperties.json style checker to allow:
- comments in codegen_properties
- obsolete-category and obsolete-url in specification blocks
- renamed "done" to "supported"
Fix some references to codegen_properties to be codegen-properties.
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.validate_status_type):
(JSONCSSPropertiesChecker.validate_property_specification):
(JSONCSSPropertiesChecker.check_codegen_properties):
2017-04-08 Youenn Fablet <youenn@apple.com>
WebRTC tests gardening
https://bugs.webkit.org/show_bug.cgi?id=170508
Reviewed by Eric Carlson.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-04-07 Keith Miller <keith_miller@apple.com>
Add a PriorityQueue class
https://bugs.webkit.org/show_bug.cgi?id=170579
Reviewed by Saam Barati.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/PriorityQueue.cpp: Added.
(operator _z ):
(enqueue):
(dequeue):
(TEST):
(compareMove):
2017-04-07 Ryosuke Niwa <rniwa@webkit.org>
Replace ES6SampleBench by ARES-6 in run-benchmark
https://bugs.webkit.org/show_bug.cgi?id=170585
Reviewed by Saam Barati.
Updated the plan file for ES6SampleBench to run ARES-6 instead. Also increased the number of iterations
from 4 to 8 to match teh default, and reduced the number of browser instances to use from 5 to 3.
* Scripts/webkitpy/benchmark_runner/data/patches/ARES-6.patch: Renamed from ES6SampleBench.patch.
* Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan: Renamed from es6bench.plan.
2017-04-07 Myles C. Maxfield <mmaxfield@apple.com>
REGRESSION(r211382): Complex text with justification erroneously overflows containers
https://bugs.webkit.org/show_bug.cgi?id=170399
<rdar://problem/31442008>
Reviewed by Simon Fraser.
Check for the invariant that the sum of the advances is equal to m_totalWidth.
* TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::TEST_F):
2017-04-07 Ryan Haddad <ryanhaddad@apple.com>
[ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
https://bugs.webkit.org/show_bug.cgi?id=167594
Unreviewed test gardening.
Disable this test because it is still timing out on the bots.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
(TEST):
2017-04-07 Jonathan Bedard <jbedard@apple.com>
REGRESSION (r214553): Allow layout-tests to be run from Xcode without re-directing stdout, stdin and stderr
https://bugs.webkit.org/show_bug.cgi?id=170601
<rdar://problem/31492696>
Reviewed by Simon Fraser.
* TestRunnerShared/IOSLayoutTestCommunication.cpp:
(setUpIOSLayoutTestCommunication): Skip TCP setup if no port is in the environment.
(tearDownIOSLayoutTestCommunication): Only teardown if TCP was used.
2017-04-07 Aakash Jain <aakash_jain@apple.com>
Add support for test262 JavaScriptCore tests
https://bugs.webkit.org/show_bug.cgi?id=170523
Reviewed by Daniel Bates.
* BuildSlaveSupport/build.webkit.org-config/config.json: Added bot433 and bot434.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunTest262Tests): Added class to run Test262 tests.
(RunTest262Tests.start): Added.
(RunTest262Tests.countFailures): Method to count the failures.
(Test262Factory): Added Test262 factory class.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(RunTest262TestsTest): Added unit tests.
(RunTest262TestsTest.assertResults): Helper method.
(RunTest262TestsTest.test_no_regressions_output): Added test case.
(test_failure_output): Same.
(test_failures_output): Same.
2017-04-07 Caio Lima <ticaiolima@gmail.com>
[JSC] Change --debug option to --debugger
https://bugs.webkit.org/show_bug.cgi?id=170587
Reviewed by Keith Miller.
* Scripts/run-jsc:
This patch is changing the new debugger flag for Tools/Scripts/run-jsc
to --debugger to avoid shadowing --debug flag used to run JSC with
Debug build.
2017-04-07 Brent Fulgham <bfulgham@apple.com>
WebKit should percent encode single quotes in query strings
https://bugs.webkit.org/show_bug.cgi?id=170561
<rdar://problem/7415154>
Reviewed by Alex Christensen.
Add a test case for single-quote in the URL query string.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
2017-04-06 Myles C. Maxfield <mmaxfield@apple.com>
Make FontWithFeatures test font pass OTS
https://bugs.webkit.org/show_bug.cgi?id=169788
Reviewed by Tim Horton.
OTS, or the OpenType Sanitizer, is a check which tells if fonts are properly formed.
Previously, our FontWithFeatures test font did not pass this check. This patch updates
the font to pass the checks. Now, we can use this font on other platforms, and
contribute the font to the W3C for testing the CSS Fonts level 3 spec.
* FontWithFeatures/FontWithFeatures/FontCreator.cpp:
(Generator::appendCFFTable):
(Generator::Feature::operator<):
(Generator::appendGSUBTable):
(Generator::appendOS2Table):
(Generator::appendFormat4CMAPTable):
(Generator::appendHEADTable):
(Generator::appendHHEATable):
(Generator::NameRecord::operator<):
(Generator::appendNameSubtable):
(Generator::appendNAMETable):
2017-04-06 Alexey Proskuryakov <ap@apple.com>
Disable flaky WebKit2.ResizeWithHiddenContentDoesNotHang
for https://bugs.webkit.org/show_bug.cgi?id=170195
* TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
2017-04-06 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r215046.
This change broke internal builds.
Reverted changeset:
"WebRTC tests gardening"
https://bugs.webkit.org/show_bug.cgi?id=170508
http://trac.webkit.org/changeset/215046
2017-04-06 Youenn Fablet <youenn@apple.com>
WebRTC tests gardening
https://bugs.webkit.org/show_bug.cgi?id=170508
Reviewed by Eric Carlson.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2017-04-06 Jonathan Bedard <jbedard@apple.com>
REGRESSION: Simulators failing to install after launch_app times out
<rdar://problem/31478107>
Unreviewed infrastructure fix.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.launch_app._install_timeout): Raise RuntimeError, not Exception.
2017-04-05 Joseph Pecoraro <pecoraro@apple.com>
test262: module test progressions need updated expectations (@@iterator changes)
https://bugs.webkit.org/show_bug.cgi?id=170535
Reviewed by Saam Barati.
* Scripts/run-jsc-stress-tests:
Add :failDueToOutdatedOrBadTest to distinguish between a test failure
in JavaScriptCore or an outdated or incorrect test262 test.
2017-04-05 Joseph Pecoraro <pecoraro@apple.com>
Remove run-jsc-stress-tests benign warning about otool '-S' switch
https://bugs.webkit.org/show_bug.cgi?id=170527
Reviewed by Aakash Jain.
* Scripts/run-jsc-stress-tests:
The switch is not necessary and produces an error.
2017-04-05 Jonathan Bedard <jbedard@apple.com>
webkitpy: Add pid logging for simulator processes
https://bugs.webkit.org/show_bug.cgi?id=170505
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess._start.handler): Add pid to exception.
(SimulatorProcess._start): Ditto.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.launch_app): Log pid when the process fails to launch and when
a pid is successfully returned.
2017-04-05 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r214932.
This change broke an internal build.
Reverted changeset:
"[ios-simulator] API test WebKit2.DataDetectionReferenceDate
timing out"
https://bugs.webkit.org/show_bug.cgi?id=161967
http://trac.webkit.org/changeset/214932
2017-04-05 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r214962.
Roll r214937 back in because it wasn't at fault for the build
breakage.
Reverted changeset:
"Unreviewed, rolling out r214937."
https://bugs.webkit.org/show_bug.cgi?id=170365
http://trac.webkit.org/changeset/214962
2017-04-05 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r214937.
This change broke an internal build.
Reverted changeset:
"REGRESSION (r202472): Data Detection overwrites existing
links in detected ranges"
https://bugs.webkit.org/show_bug.cgi?id=170365
http://trac.webkit.org/changeset/214937
2017-04-05 Jonathan Bedard <jbedard@apple.com>
Increase timeouts for simulator testing
Unreviewed infrastructure fix.
r214895 was not sufficient, increasing timeouts again.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.install_app): Increase timeout from 3 to 10 seconds.
2017-04-05 Aakash Jain <aakash_jain@apple.com>
Formatting fix to remove extra space.
Unreviewed formatting fix.
* Scripts/webkitdirs.pm:
(isEmbeddedWebKit): Remove extra space.
2017-04-05 Aakash Jain <aakash_jain@apple.com>
Rename isIOSLikeWebKit to isEmbeddedWebKit.
Rubber-stamped by Alexey Proskuryakov.
* Scripts/webkitdirs.pm:
(isEmbeddedWebKit): Added
(isIOSLikeWebKit): Deleted.
2017-04-05 Alex Christensen <achristensen@webkit.org>
Fix CMake build.
* TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
* TestRunnerShared/spi/CoreGraphicsSPI.h: Removed.
* TestRunnerShared/spi/CoreGraphicsTestSPI.h: Copied from Tools/TestRunnerShared/spi/CoreGraphicsSPI.h.
There is a CoreGraphicsSPI.h in WebCore and the CMake build was finding the wrong one.
Since we just inherit the include paths from WebCore in the CMake build and since this SPI is only used for testing,
I just renamed CoreGraphicsSPI.h to CoreGraphicsTestSPI.h to avoid any name collisions.
* WebKitTestRunner/PlatformMac.cmake:
Add some missing files.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2017-04-05 Keith Miller <keith_miller@apple.com>
Add debug option to run-jsc script
https://bugs.webkit.org/show_bug.cgi?id=170503
Reviewed by Yusuke Suzuki.
Adds a new option to the run-jsc script so that when passed
"--debug" it will wrap the jsc call with an lldb invocation. If
someone wishes to use a different debugger they can set the
DEBUGGER environment variable. Additionally, run-jsc now exits
with the exit status of the jsc call.
* Scripts/run-jsc:
2017-04-05 Andy Estes <aestes@apple.com>
REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
https://bugs.webkit.org/show_bug.cgi?id=170365
<rdar://problem/29205721>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute.
(TEST): Re-enabled the test, which now passes.
2017-04-05 Andy Estes <aestes@apple.com>
[ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out
https://bugs.webkit.org/show_bug.cgi?id=167594
Re-enabled this API test now that webkit.org/b/161967 is fixed.
* TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm:
(TEST):
2017-04-05 Andy Estes <aestes@apple.com>
[ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out
https://bugs.webkit.org/show_bug.cgi?id=161967
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(TEST): Re-enabled WebKit2.DataDetectionReferenceDate.
2017-04-04 Simon Fraser <simon.fraser@apple.com>
Various settings in Minibrowser are off by default, and should be on
https://bugs.webkit.org/show_bug.cgi?id=170465
rdar://problem/31421543
Reviewed by Tim Horton.
Explicitly set preferences that should be on by default to enabled, if they have not been
set previously.
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController init]):
2017-04-04 JF Bastien <jfbastien@apple.com>
Add JF Bastien as reviewer
https://bugs.webkit.org/show_bug.cgi?id=170481
Reviewed by Mark Lam.
* Scripts/webkitpy/common/config/contributors.json:
2017-04-04 Jonathan Bedard <jbedard@apple.com>
Increase timeouts for simulator testing
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess._start): Increase timeout from 3 to 6 seconds.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.install_app): Increase timeout from 1 to 3 seconds.
2017-04-04 Tim Horton <timothy_horton@apple.com>
[Mac] -[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:] invokes the resultCollector with didWrap = NO even when it wraps
https://bugs.webkit.org/show_bug.cgi?id=165801
<rdar://problem/29649535>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
(TEST):
Add some tests for wrapping finds.
2017-04-03 Joseph Pecoraro <pecoraro@apple.com>
Add some new patterns to filter-build-webkit
https://bugs.webkit.org/show_bug.cgi?id=170429
Reviewed by Alexey Proskuryakov.
* Scripts/filter-build-webkit:
(setOutputFormatOption):
2017-04-03 Wenson Hsieh <wenson_hsieh@apple.com>
Data interaction should register type identifiers in order of priority
https://bugs.webkit.org/show_bug.cgi?id=170428
<rdar://problem/30633296>
Reviewed by Tim Horton.
Augments existing unit tests to check for the existence and priority of type identifiers in the UIItemProviders
created upon starting data interaction. Also fixes a race condition in one of the unit tests and adds a new unit
test for data interaction from a textarea to an input.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkTypeIdentifierPrecedesOtherTypeIdentifier):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator sourceItemProviders]):
(-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
2017-04-03 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][JHBuild] Update mesa repository url for tarballs
https://bugs.webkit.org/show_bug.cgi?id=170431
Reviewed by Michael Catanzaro.
* gtk/jhbuild.modules:
2017-04-03 Joseph Pecoraro <pecoraro@apple.com>
TestWebKitAPI: Warning: Multiple build commands for Ahem.ttf
https://bugs.webkit.org/show_bug.cgi?id=170430
Reviewed by Alexey Proskuryakov.
* TestWebKitAPI/Tests/mac/Ahem.ttf: Removed.
Eliminate one of the copies of Ahem.ttf.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Once eliminated, there is now only one Ahem.ttf that is copied
to the Resources bundle. Drive-by sort the project file.
2017-04-03 Simon Fraser <simon.fraser@apple.com>
Allow MiniBrowser windows to receive local file drags again
https://bugs.webkit.org/show_bug.cgi?id=170422
Reviewed by Wenson Hsieh.
Adopt the new UIDelegate SPI to allow drops.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController _webView:dragDestinationActionMaskForDraggingInfo:]):
2017-04-03 Carlos Alberto Lopez Perez <clopez@igalia.com>
[GTK][JHBuild] Fetch libvpx from a release tarball instead of git
https://bugs.webkit.org/show_bug.cgi?id=170426
Reviewed by Michael Catanzaro.
* gtk/jhbuild.modules:
2017-04-03 Nan Wang <n_wang@apple.com>
AX: Expose link children when doing search predication on iOS
https://bugs.webkit.org/show_bug.cgi?id=170424
<rdar://problem/31413335>
Reviewed by Chris Fleizach.
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::uiElementForSearchPredicate):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
2017-04-03 Brian Burg <bburg@apple.com>
run-safari should support launching with custom language and locale
https://bugs.webkit.org/show_bug.cgi?id=170397
Reviewed by Alexey Proskuryakov.
Hook up -AppleLanguages and -AppleLocale to command line options.
* Scripts/webkitdirs.pm:
(printHelpAndExitForRunAndDebugWebKitAppIfNeeded):
(argumentsForRunAndDebugMacWebKitApp):
2017-04-03 Jonathan Bedard <jbedard@apple.com>
webkitpy: Provide option to skip install
https://bugs.webkit.org/show_bug.cgi?id=170344
Reviewed by Alexey Proskuryakov.
Installing can take time for on device testing. Provide an option to skip install
and use whatever driver is currently installed on the device or simulator.
* Scripts/webkitpy/port/base.py:
(Port.check_build): Do not check driver if skipping install.
* Scripts/webkitpy/port/factory.py:
(platform_options): Add '--no-install' option.
* Scripts/webkitpy/port/ios.py:
(IOSPort.setup_test_run): Check install option before installing.
2017-04-03 Keith Miller <keith_miller@apple.com>
WebAssembly: Update spec tests
https://bugs.webkit.org/show_bug.cgi?id=170361
Rubber-stamped by Saam Barati.
Update the runner to know the new wasm spec test harness code.
* Scripts/run-jsc-stress-tests:
2017-04-01 Alexey Proskuryakov <ap@apple.com>
Rolling back <https://trac.webkit.org/r214697>, as it made WebKit2.DataDetectionReferenceDate time out.
Was REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
https://bugs.webkit.org/show_bug.cgi?id=170365
* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
2017-04-01 Csaba Osztrogonác <ossy@webkit.org>
Mac cmake buildfix after 214586.
https://bugs.webkit.org/show_bug.cgi?id=170381
Unreviewed speculative buildfix.
* WebKitTestRunner/PlatformMac.cmake:
2017-04-01 Csaba Osztrogonác <ossy@webkit.org>
Unreviewed speculative Mac cmake buildfix after r214586, just for fun.
https://bugs.webkit.org/show_bug.cgi?id=161675
* WebKitTestRunner/PlatformMac.cmake:
2017-03-31 Jonathan Bedard <jbedard@apple.com>
webkitpy: Add target host concept
https://bugs.webkit.org/show_bug.cgi?id=170186
<rdar://problem/31301797>
Reviewed by Alexey Proskuryakov.
Adding the idea of a target host. Target hosts are objects conforming to the
structure of the SystemHost object in Scripts/webkitpy/common/system/systemhost.py
Target hosts are the hosts associated with a worker process.
* Scripts/webkitpy/common/system/filesystem.py:
(FileSystem.map_base_host_path): Convert a path from an absolute path on the base
host to an absolute path on this host.
(FileSystem.move_to_base_host): Move file from this host to the base host.
(FileSystem.move_from_base_host): Move file from the base host to this host.
(FileSystem.copy_to_base_host): Copy file from this host to the base host.
(FileSystem.copy_from_base_host): Copy file from the base host to this host.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.map_base_host_path): Convert a path from an absolute path on the base
host to an absolute path on this host.
(MockFileSystem.move_to_base_host): Move file from this host to the base host.
(MockFileSystem.move_from_base_host): Move file from the base host to this host.
(MockFileSystem.copy_to_base_host): Copy file from this host to the base host.
(MockFileSystem.copy_from_base_host): Copy file from the base host to this host.
* Scripts/webkitpy/port/base.py:
(Port.target_host): Return host determined by worker number.
(Port.abspath_for_test): Accept optional target_host argument to return location
of test on a target host.
(Port._driver_tempdir): Accept optional target_host argument to return a temporary
directory on a target host.
(Port.sample_process): Accept optional target_host argument to sample process on
a target host.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.sample_process): Run sample process on target host.
(DarwinPort.sample_file_path): Accept directory for file.
(DarwinPort.spindump_file_path): Ditto.
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_spindump): Check file movement.
(DarwinTest.test_sample_process): Ditto.
(DarwinTest.test_sample_process_exception):
* Scripts/webkitpy/port/driver.py:
(Driver.__init__): Add and set self._target_host variable.
(Driver._start): Pass target host to _driver_tempdir().
(Driver.stop): Call the target host's rmtree.
(Driver._check_for_driver_timeout): Pass target host to sample_process.
(Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
(Driver._command_from_driver_input): Pass target host to abspath_for_test and map
layout test directory to target host.
* Scripts/webkitpy/port/ios.py:
(IOSPort):
(IOSPort.target_host): Replaced device_for_worker_number.
(IOSPort.setup_test_run): Replace device_for_worker_number with target_host.
(IOSPort.device_for_worker_number): Replaced with target_host.
* Scripts/webkitpy/port/server_process.py:
(ServerProcess.__init__): Accept target_host instead of worker_number.
(ServerProcess._start): Replace _host with _target_host.
(ServerProcess._handle_timeout): Ditto.
(ServerProcess._kill): Ditto.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.__init__): Accept target_host instead of worker_number.
(SimulatorProcess._start): Replace _device with _target_host.
(SimulatorProcess.stop): Ditto.
(SimulatorProcess._kill): Deleted.
2017-03-31 Jonathan Bedard <jbedard@apple.com>
Unreviewed fix after r214569
https://bugs.webkit.org/show_bug.cgi?id=170255
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/ios.py:
(IOSPort.clean_up_test_run): Check if the device is defined before teardown.
2017-03-31 Andy Estes <aestes@apple.com>
REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
https://bugs.webkit.org/show_bug.cgi?id=170365
<rdar://problem/29205721>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute.
(TEST): Re-enabled the test, which now passes.
2017-03-31 Tim Horton <timothy_horton@apple.com>
Mail can get stuck underneath FindController::findStringMatches after searching in a long message
https://bugs.webkit.org/show_bug.cgi?id=170326
<rdar://problem/30330395>
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
(TEST):
2017-03-31 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix WTR crashes in GTK+ port after r214413.
Fixes: http/tests/ssl/upgrade-origin-usage.html
http/tests/websocket/tests/hybi/network-process-crash-error.html
http/tests/websocket/tests/hybi/simple-wss.html
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformContext): Return the context.
2017-03-30 Sam Weinig <sam@webkit.org>
Expose the WKView SPI, _prepareForMoveToWindow:withCompletionHandler as WKWebView SPI
https://bugs.webkit.org/show_bug.cgi?id=170315
Reviewed by Simon Fraser.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Added.
Add test showing the completion handler is called.
2017-03-30 Filip Pizlo <fpizlo@apple.com>
Air should support linear scan for optLevel<2
https://bugs.webkit.org/show_bug.cgi?id=170161
Reviewed by Saam Barati.
This makes us run a bunch of JS tests at optLevel=1 to force testing of this new compiler
pipeline.
* Scripts/run-jsc-stress-tests:
2017-03-30 Aakash Jain <aakash_jain@apple.com>
Support tvOS and watchOS in webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=170267
Reviewed by Alexey Proskuryakov.
* Scripts/webkitdirs.pm:
(determineXcodeSDK): Evaluate sdk for tvos and watchos.
(xcodeSDKPlatformName): Added support for tvos and watchos.
(determinePortName): Same.
(isAppleCocoaWebKit): Same.
(willUseAppleTVDeviceSDK): Added.
(willUseAppleTVSimulatorSDK): Added.
(willUseWatchDeviceSDK): Added.
(willUseWatchSimulatorSDK): Added.
(isTVOSWebKit): Added.
(isWATCHOSWebKit): Added.
(isIOSLikeWebKit): Added.
2017-03-30 Wenson Hsieh <wenson_hsieh@apple.com>
[WK2] Touches should not cancel when showing a custom action sheet while data interaction is active
https://bugs.webkit.org/show_bug.cgi?id=170291
<rdar://problem/31301388>
Reviewed by Tim Horton.
Adds support for testing how the custom action sheet presentation codepath interacts with data interaction, as
well as a new unit test. In this case, we force data interaction to fail if touches are canceled on the
shared UIApplication, and verify that data interaction completes successfully.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulatorApplication _cancelAllTouches]):
(-[DataInteractionSimulator initWithWebView:]):
(-[DataInteractionSimulator simulateAllTouchesCanceled:]):
(-[DataInteractionSimulator runFrom:to:]):
(-[DataInteractionSimulator _advanceProgress]):
(-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
2017-03-30 Per Arne Vollan <pvollan@apple.com>
[Win] Pass close_fds = True in Python popen call.
https://bugs.webkit.org/show_bug.cgi?id=170172
Reviewed by Brent Fulgham.
This was previously not supported on Windows, but in Python 2.7.10 it is.
* Scripts/webkitpy/common/system/executive.py:
(Executive._should_close_fds):
* Scripts/webkitpy/port/server_process.py:
(ServerProcess._start):
2017-03-30 Aakash Jain <aakash_jain@apple.com>
Change my status to be a WebKit reviewer.
Unreviewed status update edit.
* Scripts/webkitpy/common/config/contributors.json:
2017-03-30 Carlos Alberto Lopez Perez <clopez@igalia.com>
Change my status to be a WebKit reviewer.
Unreviewed status update edit.
* Scripts/webkitpy/common/config/contributors.json:
2017-03-29 Tim Horton <timothy_horton@apple.com>
Swipe gesture tests don't work on macOS Sierra
https://bugs.webkit.org/show_bug.cgi?id=161675
<rdar://problem/23379930>
Reviewed by Darin Adler.
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::platformPlayBackEventStream):
(WTR::UIScriptController::beginBackSwipe):
(WTR::UIScriptController::completeBackSwipe):
* TestRunnerShared/EventSerialization/mac/EventSerializerMac.h: Copied from Tools/DumpRenderTree/mac/UIScriptControllerMac.mm.
* TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm: Added.
(eventIsOfType):
(eventIsOfTypes):
(eventIsOfGestureType):
(eventIsOfGestureTypes):
(+[EventSerializer dictionaryForEvent:relativeToTime:]):
(+[EventSerializer createEventForDictionary:inWindow:relativeToTime:]):
(+[EventSerializer playEventStream:inWindow:completionHandler:]):
* TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.h: Copied from Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm.
* TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.mm: Added.
(beginSwipeBackEventStream):
(completeSwipeBackEventStream):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::playBackEventStream):
(WTR::UIScriptController::beginBackSwipe):
(WTR::UIScriptController::completeBackSwipe):
(WTR::UIScriptController::platformPlayBackEventStream):
(WTR::UIScriptController::platformClearAllCallbacks): Deleted.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* TestRunnerShared/spi/CoreGraphicsSPI.h: Added.
* TestRunnerShared/spi/IOKitSPI.h: Renamed from Tools/WebKitTestRunner/ios/IOKitSPI.h.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::playBackEvents):
(WTR::UIScriptController::beginBackSwipe):
(WTR::UIScriptController::completeBackSwipe):
(WTR::UIScriptController::platformPlayBackEventStream):
2017-03-29 Jonathan Bedard <jbedard@apple.com>
webkitpy: Robust test clean-up
https://bugs.webkit.org/show_bug.cgi?id=170255
Reviewed by Alexey Proskuryakov.
On-device testing is the motivation for this change. Failure to run clean-up functions can
result in zombie processes, residual NFS mounts and other undesirable remnants from a failed
test run. Make an effort to clean-up even if exceptions are thrown during set-up or clean-up.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._set_up_run): Clean up test run if set-up fails.
* Scripts/webkitpy/port/ios.py:
(IOSPort.clean_up_test_run): Continue cleaning up devices even after an exception is thrown.
2017-03-29 Jonathan Bedard <jbedard@apple.com>
Simulator testing stops after the first crash
<rdar://problem/31325362>
Unreviewed infrastructure fix.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice):
(SimulatedDevice.launch_app): Increase timeout when attempting to launch app.
2017-03-29 Jonathan Bedard <jbedard@apple.com>
webkitpy: Standardize web-server port definitions
https://bugs.webkit.org/show_bug.cgi?id=170144
<rdar://problem/31284026>
Reviewed by Daniel Bates.
Default web-server ports should be declared in global variables.
Add functions to web-servers which return the ports these servers
are using so that other tools can forward them.
* Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
(LayoutTestApacheHttpd.__init__): Use shared constants in http_server_base.py.
* Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
(TestLayoutTestApacheHttpd.test_start_cmd): Check port_to_forward for expected values.
* Scripts/webkitpy/layout_tests/servers/http_server.py:
(Lighttpd.__init__): Use shared constants in http_server_base.py.
(Lighttpd._prepare_config): Ditto.
* Scripts/webkitpy/layout_tests/servers/http_server_base.py:
(HttpServerBase): Add default port constants.
(HttpServerBase.ports_to_forward): Add function to return ports used for http server.
* Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
(TestHttpServer.test_start_cmd): Check port_to_forward for expected values.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.ports_to_forward): Add function to return ports used for web-platform tests.
* Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket): Make default port values public.
(PyWebSocket.__init__): Use public default port.
(PyWebSocket.ports_to_forward): Return port used in an array.
* Scripts/webkitpy/port/base.py:
(Port.to.ports_to_forward): Return all ports used the various web-servers managed by the port object.
(Port.to.start_websocket_server): Use PyWebSocket port constants.
2017-03-29 Wenson Hsieh <wenson_hsieh@apple.com>
Links with empty hrefs should not be drag sources
https://bugs.webkit.org/show_bug.cgi?id=170241
<rdar://problem/31305505>
Reviewed by Tim Horton.
Adds a new API test: DataInteractionTests.LinkWithEmptyHREF.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/DataInteractionSimulator.h:
Expose the current phase of the data interaction simulator for verifying behaviors in unit tests.
* TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator phase]):
2017-03-29 Jonathan Bedard <jbedard@apple.com>
Use TCP instead of FIFOs for Simulator/Device communication
https://bugs.webkit.org/show_bug.cgi?id=169419
<rdar://problem/30949615>
Reviewed by Alexey Proskuryakov.
Using TCP instead of FIFOs when communicating with devices allows the device being tested
to be on a different machine then the one handling the management of the test run.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/DumpRenderTree.mm:
(dumpRenderTree): Call setUp/tearDownIOSLayoutTestCommunication() instead of using FIFOs.
* Scripts/webkitpy/port/device.py:
(Device.__init__): Initialize the listening_socket.
(Device.listening_port): Return port of listening socket.
(Device.prepare_for_testing): Open listening socket on an open port, prepare platform device
fro testing.
(Device.finished_testing): Close listening socket associated with this device, call the
platform device's finished_testing function if it exists.
* Scripts/webkitpy/port/ios.py:
(IOSPort.setup_test_run): Prepare each device for testing.
(IOSPort.clean_up_test_run): Notify each device that testing has completed.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort): Work around device persistence bug.
(IOSSimulatorPort.__init__): Ditto.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess):
(SimulatorProcess.NonBlockingFileFromSocket): Add to work around shortcomings in
Python 2’s makefile.
(SimulatorProcess.NonBlockingFileFromSocket.__init__): Initialize file with socket.
(SimulatorProcess.ReadFileSocket.close): Close file and then socket;
(SimulatorProcess.__init__): Pass TCP port over environment, remove FIFO names.
(SimulatorProcess.__getattr__): Expose all file attributes.
(SimulatorProcess._accept_connection_create_file): Wait for connection from server and
create and return a file-like object from the incoming connection.
(SimulatorProcess._start): Use TCP connections instead of FIFOs.
(SimulatorProcess._start.handler): Output server port in timeout exception.
(SimulatorProcess._reset): Deleted.
* TestRunnerShared/IOSLayoutTestCommunication.cpp: Added.
(connectToServer): Return socket connected to the provided server address.
(setupiOSLayoutTestCommunication): Connect stdin, stdout and stderr as socket to a
TCP server running on localhost.
(tearDownIOSLayoutTestCommunication): Close stdin, stdout and stderr TCP sockets.
* TestRunnerShared/IOSLayoutTestCommunication.h: Added.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformInitialize): Call setUpIOSLayoutTestCommunication()
instead of using FIFOs.
(WTR::TestController::platformDestroy): Call tearDownIOSLayoutTestCommunication().
2017-03-29 Jonathan Bedard <jbedard@apple.com>
webkitpy: Add IOSDevicePort and IOSPort tests
https://bugs.webkit.org/show_bug.cgi?id=170206
<rdar://problem/31308364>
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/port/darwin_testcase.py: Removed unused import.
* Scripts/webkitpy/port/ios_device_unittest.py: Added.
(iosDeviceTest): Contains tests for the IOSDevicePort.
(iosDeviceTest.make_port): Creates an IOSDevicePort with arguments.
(iosDeviceTest.test_operating_system): Check for the correct operating system.
* Scripts/webkitpy/port/ios_simulator_unittest.py: Moved from Tools/Scripts/webkitpy/port/ios_unittest.py.
(iosSimulatorTest): Inherit from ios_testcase.
(iosSimulatorTest.make_port): Ditto.
(iosSimulatorTest.test_get_crash_log): Ditto.
* Scripts/webkitpy/port/ios_testcase.py: Added.
(iOSTest): Contains shared tests for the IOSDevicePort and IOSSimulatorPort.
(iOSTest.test_driver_name): Tests for iOS app driver.
(iOSTest.test_baseline_searchpath): Check that ios and ios-wk1 are in the baseline search path.
* Scripts/webkitpy/port/ios_unittest.py: Moved to ios_simulator_unittest.py.
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase): Rename is_simulator to disable_setup to more accurately describe it's meaning.
(PortTestCase.test_diff_image): Use disable_setup instead of is_simulator.
(PortTestCase.test_diff_image_crashed): Ditto.
2017-03-28 Jason Marcell <jmarcell@apple.com>
Fix `index-expected.txt` for dashboard test results.
https://bugs.webkit.org/show_bug.cgi?id=170214
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/index-expected.txt:
2017-03-28 Alexey Proskuryakov <ap@apple.com>
Bot watcher's dashboard has separate settings for "mac" and "macos"
https://bugs.webkit.org/show_bug.cgi?id=170164
Reviewed by Tim Horton.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:
(Settings.prototype.parsePlatformFamily): Aded a special case for "macos".
2017-03-28 Alexey Proskuryakov <ap@apple.com>
Fix dashboard test results on the dashboard
https://bugs.webkit.org/show_bug.cgi?id=170158
Reviewed by Tim Horton.
Link to result diff instead of stdio. Looking at the diff, I wonder if it can be
further improved, as it's not super readable, but stdio is entirely useless in this context.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
(Buildbot.prototype.dashboardTestResultsURLForIteration): Generate formatted diff link.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
Fixed a typo in step name, so that it's actually treated as productive.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
(BuildbotTesterQueueView.prototype.appendBuilderQueueStatus):
(BuildbotTesterQueueView.prototype.update):
(BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
Added special handling for dashboard test results.
2017-03-28 Aakash Jain <aakash_jain@apple.com>
Fix Dashboard test _presentPopoverForJavaScriptCoreTestRegressions
https://bugs.webkit.org/show_bug.cgi?id=170193
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
Fixed the order of arguments.
2017-03-28 Aakash Jain <aakash_jain@apple.com>
Dashboard tests fails to fetch the revision from commits
https://bugs.webkit.org/show_bug.cgi?id=170191
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockTrac.js:
Added recordedCommitIndicesByRevisionNumber.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
(setup): Populated trac.recordedCommitIndicesByRevisionNumber since the dashboard code uses this variable.
2017-03-28 Timothy Horton <timothy_horton@apple.com>
Safari crashes when attempting to close tab that is displaying PDF
https://bugs.webkit.org/show_bug.cgi?id=170201
<rdar://problem/31242019>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
(TEST):
Add a test for doAfterNextStablePresentationUpdate just like the existing
non-stable one.
2017-03-28 Jonathan Bedard <jbedard@apple.com>
webkitpy: Use host pattern for devices
https://bugs.webkit.org/show_bug.cgi?id=170121
Reviewed by Daniel Bates.
Devices should be treated like hosts throughout webkitpy
so that more code can be re-used. Add the needed properties
and use executive over custom implemented polling/killing
functions.
* Scripts/webkitpy/port/device.py:
(Device):
(Device.executive): Add optional executive property.
(Device.filesystem): Add optional filesystem property.
(Device.user): Add optional user property.
(Device.platform): Add optional platform property.
(Device.workspace): Add optional workspace property.
(Device.poll): Deleted.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.Popen.poll): Use the devices executive.
(SimulatorProcess.stop): Ditto.
(SimulatorProcess._kill): Ditto.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.__init__): Add executive, filesystem, user, platform
and workspace to the platform device.
(SimulatedDevice.poll): Deleted.
2017-03-28 Aakash Jain <aakash_jain@apple.com>
Dashboard test fails with error: latestIterationGetter is not a function
https://bugs.webkit.org/show_bug.cgi?id=170167
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
(this.view._latestProductiveIteration): Configure _latestProductiveIteration in setup.
2017-03-27 Lucas Forschler <lforschler@apple.com>
Another test v8.
2017-03-27 Lucas Forschler <lforschler@apple.com>
Another test v7.
2017-03-27 Lucas Forschler <lforschler@apple.com>
Another test v6.
2017-03-27 Lucas Forschler <lforschler@apple.com>
Another test v5.
2017-03-27 Lucas Forschler <lforschler@apple.com>
Another test v4.
2017-03-27 Lucas Forschler <lforschler@apple.com>
Another test v3.
2017-03-27 Lucas Forschler <lforschler@apple.com>
Another test v2.
2017-03-27 Lucas Forschler <lforschler@apple.com>
Another test.
2017-03-27 Lucas Forschler <lforschler@apple.com>
<rdar://problem/30949128>
Update build.webkit.org to use port 16000 for PBChangeSource.
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
2017-03-27 Jason Marcell <jmarcell@apple.com>
Bots should run the dashboard tests
https://bugs.webkit.org/show_bug.cgi?id=168994
Reviewed by Daniel Bates and David Kilzer.
We pull the `--results-directory` argument value out so that `RunDashboardTests` can override it so that we can separately run the dashboard layout tests.
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests): Define a class variable called resultDirectory for the `--results-directory` argument so that subclasses can override this if needed.
(RunWebKitTests.start): Set the `--results-directory` argument value to the value of self.resultDirectory.
(RunDashboardTests): Subclass of RunWebKitTests in which we run the layout tests for the Bot Watcher's Dashboard.
(RunDashboardTests.start): Override the `--layout-tests-directory` to point to the dashboard layout tests.
(ExtractTestResults.addCustomURLs): Update the current results URL label to indicate that it links to layout tests results and add a new link to link to dashboard layout test results.
(TestFactory.__init__): Update unit tests to account for new RunDashboardTests step.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
2017-03-27 Jonathan Bedard <jbedard@apple.com>
webkitpy: Look for 'ios' test expectations for IOSPorts
https://bugs.webkit.org/show_bug.cgi?id=169413
Reviewed by Alexey Proskuryakov.
Test expectations for iOS tests should include the 'ios' folder. Modify
default_baseline_search_path to include 'ios' folder and derivatives for
IOSPort.
* Scripts/webkitpy/port/ios.py:
(IOSPort._generate_all_test_configurations): Moved from IOSSimulatorPort.
(IOSPort.default_baseline_search_path): Add ios expectations along with port specific expectations.
(IOSPort.test_expectations_file_position): Added for testing.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort._generate_all_test_configurations): Moved to IOSPort.
(IOSSimulatorPort.default_baseline_search_path): Moved to IOSPort.
2017-03-27 Jonathan Bedard <jbedard@apple.com>
REGRESSION: Reseting _device_map on each child process
<rdar://problem/31274476>
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort): Add _DEVICE_MAP class variable.
(IOSSimulatorPort.__init__): Use shared class variable
(IOSSimulatorPort._device_for_worker_number_map): Use _DEVICE_MAP class variable
(IOSSimulatorPort._create_devices): Ditto.
(IOSSimulatorPort._quit_ios_simulator): Ditto.
(IOSSimulatorPort.clean_up_test_run): Ditto.
2017-03-27 Jonathan Bedard <jbedard@apple.com>
REGRESSION: Failing to iterate over Simulator.managed_devices map
<rdar://problem/31274476>
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort._create_devices): Iterate through managed_devices by worker number.
2017-03-27 Alex Christensen <achristensen@webkit.org>
Make WebSockets work in network process
https://bugs.webkit.org/show_bug.cgi?id=169930
Reviewed by Youenn Fablet.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
Add terminateNetworkProcess for the new test
http/tests/websocket/tests/hybi/network-process-crash-error.html
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setAllowsAnySSLCertificate):
(WTR::TestRunner::terminateNetworkProcess):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setAllowsAnySSLCertificate):
(WTR::TestController::terminateNetworkProcess):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformContext):
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformContext):
(WTR::TestController::platformLibraryPathForTesting):
Add some infrastructure for http/tests/websocket/tests/hybi/simple-wss.html
which calls testRunner.setAllowsAnySSLCertificate. It used to only be effective
for the WebProcess, but SocketStreamHandleImpl::createStreams is now in the NetworkProcess,
and we need its call to Settings::allowsAnySSLCertificate to be loosened for this test,
which tests that wss works, but our test certificate has an invalid certificate chain.
We want production software to not have the ability to have its security weakened, so this
is a test code path that is only implemented in WebKitTestRunner.
2017-03-25 Jonathan Bedard <jbedard@apple.com>
webkitpy: Use generalized device instead of platform specific one
https://bugs.webkit.org/show_bug.cgi?id=170078
Reviewed by Daniel Bates.
SimulatedDevice is re-created each time 'xcrun simctl list' is called. Device
should remain persistent. Changing Device to a more explicit interface.
SimulatedDevice no longer inherits from Device and IOSSimulator returns Devices
wrapping SimulatedDevices.
* Scripts/webkitpy/port/device.py: Added.
(Device):
(Device.__init__): Construct with platform device.
(Device.install_app): Install app at app path on platform device.
(Device.launch_app): Launch app with bundle ID on platform device.
(Device.poll): Poll platform device.
(Device.udid): Access platform device UDID.
(Device.__nonzero__): Check if instantiated with a valid platform device.
(Device.__eq__): Compare by udid.
(Device.__ne__): Ditto.
(Device.__repr__): Print out platform_device representation.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.__init__): Initialize the _device_map to an empty dictionary.
(IOSSimulatorPort._device_for_worker_number_map): Return self._device_map.
(IOSSimulatorPort._create_simulators): Call Simulator.managed_devices directly.
(IOSSimulatorPort._create_devices): Place Simulator.managed_devices into the
device map.
(IOSSimulatorPort._quit_ios_simulator): Reset self._device_map.
* Scripts/webkitpy/xcode/device.py: Removed.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice):
(SimulatedDevice.__init__): Move host, name and did to SimulatedDevice.
(SimulatedDevice.__eq__): Compare two simulated devices.
(SimulatedDevice.__ne__): Ditto.
(SimulatedDevice.__repr__): Print name and udid.
2017-03-25 Adrian Perez de Castro <aperez@igalia.com>
[GTK] No value returned from PrintCustomWidgetTest::createWebKitPrintOperation() in TestPrinting.cpp
https://bugs.webkit.org/show_bug.cgi?id=170059
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Use "void" as return type in the declaration,
the only use of the method in this same file ignores the returned value anyway.
2017-03-24 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
webkitpy should be able to run API tests
https://bugs.webkit.org/show_bug.cgi?id=170028
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_api_tests_command): Added.
* Scripts/webkitpy/port/base.py:
(Port.api_results_directory): Added.
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run): Check if we should be running API tests.
(RunTests._run_api_tests): Generate script to run API tests with json output.
* Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests.
2017-03-24 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
Add JSON results for API tests
https://bugs.webkit.org/show_bug.cgi?id=170021
Reviewed by Alexey Proskuryakov.
* Scripts/run-api-tests:
(runTestsBySuite): Appends failures and timeouts to JSON data.
(writeJsonDataIfApplicable): Writes JSON data to a file.
2017-03-24 Lucas Forschler <lforschler@apple.com>
update committer_auth.py to be python 2.7 compliant
https://bugs.webkit.org/show_bug.cgi?id=170063
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
(CommitterAuth.authenticate):
convert e.message to e.args[0]
2017-03-24 Srinivasan Vijayaraghavan <svijayaraghavan@apple.com>
webkitpy: Parse JSON results from run-api-tests
https://bugs.webkit.org/show_bug.cgi?id=170062
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/net/apitestresults.py: Added.
(APITestResults): Structure to represent API test results.
(APITestResults.__init__):
(APITestResults.intersection): Return the failures common to both sets of results.
(APITestResults.results_from_string): Create an APITestResults object from a JSON results string.
(APITestResults.equals): Return True if both results were the same.
(APITestResults.is_subset): Return True if failing tests are a subset of the other failing tests.
(APITestResults.all_passed): Return True if everything passed.
(APITestResults.failing_tests): List of tests that didn't pass.
(APITestResults.did_exceed_test_failure_limit): Always False.
* Scripts/webkitpy/common/net/apitestresults_unittest.py: Added.
(APITestResultsTest): Unit tests.
* Scripts/webkitpy/tool/bot/apitestresultsreader.py: Added.
(APITestResultsReader): Read contents of JSON results file.
2017-03-24 Alex Christensen <achristensen@webkit.org>
REGRESSION: Content Blocker: Blocking "a[href*=randomString]" doesn't work
https://bugs.webkit.org/show_bug.cgi?id=169167
Reviewed by Simon Fraser.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F):
Test an example of a selector that was incorrectly determined to be invalid.
2017-03-24 Jonathan Bedard <jbedard@apple.com>
Increase timeout for booting simulators.
<rdar://problem/31080009>
Unreviewed infrastructure fix.
* Scripts/webkitpy/xcode/simulator.py:
(Simulator.wait_until_device_is_booted): Increase timeout.
(Simulator.wait_until_device_is_in_state): Increase timeout.
2017-03-24 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r214277.
Since r214277 beforeunload events are not fired unless there's some user interaction, so we need to simulate it
in our unit tests to work.
* TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
(testWebViewJavaScriptDialogs):
2017-03-24 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add MIMETypeRegistry implementation using xdgmime and remove the GTK+ one
https://bugs.webkit.org/show_bug.cgi?id=170001
Reviewed by Michael Catanzaro.
Ignore style of xdgmime sources.
* Scripts/webkitpy/tool/steps/checkstyle.py:
2017-03-23 Wenson Hsieh <wenson_hsieh@apple.com>
Dragging on a large image should not revert to a file icon if data interaction is enabled
https://bugs.webkit.org/show_bug.cgi?id=170018
<rdar://problem/31184508>
Reviewed by Tim Horton.
Add new tests for data interaction. LargeImageToTargetDiv verifies the change made in this patch, while
AttachmentElementItemProviders was a test that was previously removed due to <rdar://problem/31038797>.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
2017-03-23 Fujii Hironori <Hironori.Fujii@sony.com>
Update WinCairoRequirements.zip
https://bugs.webkit.org/show_bug.cgi?id=169950
Reviewed by Alex Christensen.
* Scripts/update-webkit-wincairo-libs: Replace $winCairoLibsURL.
== Rolled over to ChangeLog-2017-03-23 ==