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):