2017-05-03 John Wilander Resource Load Statistics: Remove all statistics for modifiedSince website data removals https://bugs.webkit.org/show_bug.cgi?id=171584 Reviewed by Brent Fulgham. New function to call the clear function that takes a modifiedSince parameter. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2017-05-03 Commit Queue Unreviewed, rolling out r216160 and r216161. https://bugs.webkit.org/show_bug.cgi?id=171640 These changes broke the iOS build. (Requested by mlewis13 on #webkit). Reverted changesets: "[MediaStream] Allow host application to enable/disable media capture" https://bugs.webkit.org/show_bug.cgi?id=171292 http://trac.webkit.org/changeset/216160 "[MediaStream] Allow host application to enable/disable media capture" https://bugs.webkit.org/show_bug.cgi?id=171292 http://trac.webkit.org/changeset/216161 2017-05-03 Eric Carlson [MediaStream] Allow host application to enable/disable media capture https://bugs.webkit.org/show_bug.cgi?id=171292 Reviewed by Jer Noble. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Added. (-[UserMediaMessageHandler userContentController:didReceiveScriptMessage:]): (-[UserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]): (-[UserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]): (MediaCaptureDisabledTest::SetUp): (MediaCaptureDisabledTest::loadTestAndWaitForMessage): (TEST_F): * TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Added. 2017-04-26 Jiewen Tan [WebCrypto] Add an api test for testing wrapping/unwrapping serialized crypto keys https://bugs.webkit.org/show_bug.cgi?id=171350 Patched by Brady Eidson. Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2/NavigationClientDefaultCrypto.cpp: Added. (TestWebKitAPI::runJavaScriptAlert): (TestWebKitAPI::decidePolicyForNavigationAction): (TestWebKitAPI::decidePolicyForNavigationResponse): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit2/navigation-client-default-crypto.html: Added. 2017-05-03 Simon Fraser Have WKWebView call _updateVisibleContentRects for the current transaction if possible, rather than always delaying https://bugs.webkit.org/show_bug.cgi?id=171619 https://bugs.webkit.org/show_bug.cgi?id=170195 Reviewed by Tim Horton. Re-enable WebKit2.ResizeWithHiddenContentDoesNotHang. * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm: (TEST): 2017-05-03 Michael Catanzaro YouTube user agent quirk breaks new YouTube https://bugs.webkit.org/show_bug.cgi?id=171603 Reviewed by Carlos Garcia Campos. Remove the YouTube quirk test. * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: (TestWebKitAPI::TEST): 2017-05-03 Said Abou-Hallawa Async image decoding should be disabled for snapshots, printing and preview https://bugs.webkit.org/show_bug.cgi?id=171467 Reviewed by Simon Fraser. Add a API test for snapshotting with large images. Ensure the images are drawn correctly which implies they should have been synchronously decoded. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2/large-red-square-image.html: Added. * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm: (TEST): 2017-05-03 Chris Dumez [WK2] Extend processDidCrash delegate to let the client know the reason for the crash https://bugs.webkit.org/show_bug.cgi?id=171565 Reviewed by Sam Weinig. Add API test coverage. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2/ProcessDidCrashWithReason.cpp: Added. (TestWebKitAPI::didFinishNavigation): (TestWebKitAPI::didCrashWithReason): (TestWebKitAPI::TEST): 2017-05-02 David Kilzer check-webkit-style should also keep js-test-post[-async].js in sync Reviewed by Joseph Pecoraro. * Scripts/webkitpy/style/checker.py: (_NEVER_SKIPPED_JS_FILES): Add new list that just contains JavaScript files not to be skipped. (_NEVER_SKIPPED_FILES): Update to use _NEVER_SKIPPED_JS_FILES. (CheckerDispatcher._create_checker): Update to use _NEVER_SKIPPED_JS_FILES. * Scripts/webkitpy/style/checkers/jstest.py: (ALL_JS_TEST_FUNCTION_FILES): Rename from ALL_JS_TEST_FILES. This is the list of files containing functions that need to be kept in sync. (KEEP_JS_TEST_FILES_IN_SYNC): Change to list-of-lists format so we can keep more sets of files in sync between LayoutTests/resources and LayoutTests/http/tests/resources. (JSTestChecker.check): Update to use KEEP_JS_TEST_FILES_IN_SYNC as list of lists. Update for ALL_JS_TEST_FUNCTION_FILES rename. (JSTestChecker.check_js_test_files): Add 'file_group' argument for list of files to check instead of using KEEP_JS_TEST_FILES_IN_SYNC. (JSTestChecker.check_js_test_functions): Update for ALL_JS_TEST_FUNCTION_FILES rename. * Scripts/webkitpy/style/checkers/jstest_unittest.py: (JSTestCheckerTestCase): (JSTestCheckerTestCase.test_map_functions_to_dict): - Add test case for map_functions_to_dict() in jstest.py. 2017-05-02 Aakash Jain ews should indicate in logs when it fails to fetch the attachment https://bugs.webkit.org/show_bug.cgi?id=171583 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: (Bugzilla.fetch_attachment): Added log statement. 2017-05-02 David Kilzer Rolling out jstest_unittest.py so it can be reviewed Follow-up fix for: check-webkit-style should keep JavaScript test functions in sync * Scripts/webkitpy/style/checkers/jstest_unittest.py: Remove. 2017-05-02 David Kilzer check-webkit-style should keep JavaScript test functions in sync Reviewed by Joseph Pecoraro. Add a new JSTestChecker for check-webkit-style that keeps these two files in sync: LayoutTests/http/tests/resources/js-test-pre.js LayoutTests/resources/js-test-pre.js And keeps implementations of shouldBe(), shouldNotBe(), shouldNotThrow(), and shouldThrow() in sync across multiple files (with the ability to add more functions later): JSTests/stress/resources/standalone-pre.js LayoutTests/http/tests/resources/js-test-pre.js LayoutTests/resources/js-test-pre.js LayoutTests/resources/js-test.js LayoutTests/resources/standalone-pre.js * Scripts/webkitpy/style/checker.py: Remove unused import. Add import for JSTestChecker. (_NEVER_SKIPPED_FILES): Add array of file names that are never skipped regardless of other rules. (_all_categories): Add JSTestChecker categories. (CheckerDispatcher.should_skip_without_warning): Use _NEVER_SKIPPED_FILES. (CheckerDispatcher._create_checker): Return JSTestChecker for the files to check. * Scripts/webkitpy/style/checkers/jstest.py: Add. (map_functions_to_dict): Parse JavaScript source by splitting on /^function\s+/ regex. This is good enough for the sanity checks to keep function implementations in sync. (strip_blank_lines_and_comments): Strips blank lines and lines with comments from the end of a chunk of text representing a function. (JSTestChecker): New checker. (JSTestChecker.__init__): (JSTestChecker.check): (JSTestChecker.check_js_test_files): Keeps whole files in sync. (JSTestChecker.check_js_test_functions): Keeps individual functions in sync. * Scripts/webkitpy/style/checkers/jstest_unittest.py: Add test case. (JSTestTestCase): (JSTestTestCase.test_map_functions_to_dict): 2017-05-02 Joanmarie Diggs AX: Update implementation of aria-orientation https://bugs.webkit.org/show_bug.cgi?id=171166 Reviewed by Chris Fleizach. Return "AXUnknownOrientation" when ATK_STATE_VERTICAL and ATK_STATE_HORIZONTAL are both absent from the state set. Before we were returning an empty string which was not consistent with what the Mac port does, thus making shared tests harder. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::orientation): 2017-05-01 David Kilzer Stop using sprintf() in JavaScriptCore debugger Reviewed by Keith Miller. * Scripts/webkitpy/style/checker.py: (_PATH_RULES_SPECIFIER): Ignore some formatting checkers since Source/JavaScriptCore/disassembler/udis86/ is generated code. 2017-05-01 Timothy Horton Expose viewport-fit instead of clip-to-safe-area https://bugs.webkit.org/show_bug.cgi?id=171503 Reviewed by Simon Fraser. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setSafeAreaInsets): (WTR::UIScriptController::setObscuredInsets): Deleted. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::setSafeAreaInsets): (WTR::UIScriptController::setObscuredInsets): Deleted. * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView setOverrideSafeAreaInsets:]): (-[TestRunnerWKWebView _safeAreaInsetsForFrame:inSuperview:]): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): * WebKitTestRunner/ios/UIKitSPI.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setSafeAreaInsets): (WTR::UIScriptController::setObscuredInsets): Deleted. Expose a safe area inset setter instead of obscured insets. 2017-05-01 Wenson Hsieh Unreviewed, fix the build on a new internal SDK Replace usages of NSItemProviderRepresentationVisibilityAll with UIItemProviderRepresentationOptionsVisibilityAll. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]): (TestWebKitAPI::TEST): 2017-05-01 David Kilzer [Cocoa] Replace uses of [get…Class() alloc] in TestWebKitAPI Reviewed by Dan Bernstein. * TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm: Remove UIKit soft-link since TestWebKitAPI links to UIKit.framework. (TestWebKitAPI::WebKit1_AudioSessionCategoryIOS_Test): Use UIWindow and UIWebView classes directly. * TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm: Remove UIKit soft-link since TestWebKitAPI links to UIKit.framework. (RequiresUserActionForPlaybackTest::createWebView): Use UIWindow class directly. 2017-05-01 Brady Eidson Update names in WKURLSchemeHandler/WKURLSchemeHandlerTask APIs. and https://bugs.webkit.org/show_bug.cgi?id=171508 Reviewed by Andy Estes. * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm: (-[SchemeHandler webView:startURLSchemeTask:]): (-[SchemeHandler webView:stopURLSchemeTask:]): (-[SchemeHandler webView:startTask:]): Deleted. (-[SchemeHandler webView:stopTask:]): Deleted. 2017-05-01 Jason Marcell Add a new function for getting the Git hash for a pure git directory. https://bugs.webkit.org/show_bug.cgi?id=171450 Reviewed by David Kilzer. * Scripts/VCSUtils.pm: (gitHashForDirectory): 2017-05-01 Joanmarie Diggs [ATK] Expose values of aria-rowcount, aria-colcount, aria-rowindex, aria-colindex, aria-rowspan, and aria-colspan as object attributes https://bugs.webkit.org/show_bug.cgi?id=171496 Reviewed by Chris Fleizach. Add new attribute names so that the values of the object attributes can be tested. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::numberAttributeValue): 2017-05-01 Beth Dakin On-screen panel for candidate bar is in the wrong place when the caret is at the start of a paragraph https://bugs.webkit.org/show_bug.cgi?id=171453 -and corresponding- rdar://problem/29779764 Reviewed by Tim Horton. This test hard-codes the y-coordinate for the expected candidateRect. * TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm: (TEST): 2017-05-01 David Kilzer check-webkit-style: Enable sprintf(), strcat(), strcpy() and printf() format checks Reviewed by Brent Fulgham. * Scripts/webkitpy/style/checkers/cpp.py: (check_language): Change categories for certain checkers from 'runtime/printf' to 'security/printf' so they are no longer filtered. (CppChecker.categories): Add 'security/printf'. * Scripts/webkitpy/style/checkers/cpp_unittest.py: (CppStyleTest.test_insecure_string_operations): Add new test for sprintf(), strcat() and strcpy(). (CppStyleTest.test_format_strings): Update test results for new 'security/printf' category use. 2017-05-01 Joanmarie Diggs AX: [GTK] Add support to query for aria-current https://bugs.webkit.org/show_bug.cgi?id=149016 Reviewed by Chris Fleizach. Implement support for "AXARIACurrent" string attribute value. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: 2017-05-01 David Kilzer REGRESSION (r216000): test-webkitpy fails after adding new soft-linked class checker Unreviewed. Follow-up fix for: [Cocoa] Have check-webkit-style advise against use of [get…Class() alloc] https://bugs.webkit.org/show_bug.cgi?id=171486 * Scripts/webkitpy/style/checkers/cpp.py: (check_soft_link_class_alloc): Use (\w+) instead of ([^\s]+) to match and capture the function name. The latter also mistakenly matches C-preprocessor directives. (CppChecker.categories): Add 'runtime/soft-linked-alloc', which is a requirement for the CppChecker class. 2017-05-01 Carlos Garcia Campos [GTK] Add automation session API https://bugs.webkit.org/show_bug.cgi?id=171428 Reviewed by Carlos Alberto Lopez Perez. Add an automation mode to MiniBrowser using the new API and add a unit test too. * MiniBrowser/gtk/BrowserWindow.c: (webViewTitleChanged): (webViewDecidePolicy): (newTabCallback): (openPrivateWindow): (browserWindowFinalize): (browser_window_init): (browser_window_get_or_create_web_view_for_automation): * MiniBrowser/gtk/BrowserWindow.h: * MiniBrowser/gtk/main.c: (createBrowserTab): (createWebViewForAutomationCallback): (automationStartedCallback): (main): * TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: * TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp: Added. (testAutomationSessionRequestSession): (beforeAll): (afterAll): 2017-04-30 Dan Bernstein [Cocoa] Have check-webkit-style advise against use of [get…Class() alloc] https://bugs.webkit.org/show_bug.cgi?id=171486 Reviewed by Sam Weinig. * Scripts/webkitpy/style/checkers/cpp.py: (check_soft_link_class_alloc): Added. Looks for [get…Class() alloc] and suggests alloc…Instance() instead. (check_style): Invoke new check. 2017-04-30 Brady Eidson More fixing after r215991 https://bugs.webkit.org/show_bug.cgi?id=171483 * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2017-04-30 Brady Eidson Updates to _WKWebsiteDataStoreConfiguration cookie storage location SPI. and https://bugs.webkit.org/show_bug.cgi?id=171483 Reviewed by Geoff Garen (and kind of Andy Estes). * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2017-04-30 Joanmarie Diggs [ATK] Implement support for aria-autocomplete https://bugs.webkit.org/show_bug.cgi?id=171167 Reviewed by Chris Fleizach. Add "AXSupportsAutoCompletion" attribute so the presence of ATK_STATE_SUPPORTS_AUTOCOMPLETION can be tested. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::boolAttributeValue): 2017-04-30 Joanmarie Diggs [ATK] ARIA treegrid role should be exposed as ATK_ROLE_TREE_TABLE; not ATK_ROLE_TABLE https://bugs.webkit.org/show_bug.cgi?id=171170 Reviewed by Chris Fleizach. Add "AXInterfaceTable" attribute to test which elements implement AtkTable. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::boolAttributeValue): 2017-04-30 Joanmarie Diggs [ATK] Emit object:state-changed:busy event when aria-busy value changes https://bugs.webkit.org/show_bug.cgi?id=171181 Reviewed by Chris Fleizach. Add handler for AXElementBusyChanged notifications. * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: 2017-04-29 Aakash Jain Use PEP8 style guide for raising exceptions in webkitpy. https://bugs.webkit.org/show_bug.cgi?id=171439 Reviewed by Daniel Bates. As per https://www.python.org/dev/peps/pep-0008/ "When raising an exception in Python 2, use raise ValueError('message') instead of the older form raise ValueError, 'message'" * Scripts/webkitpy/common/net/irc/ircbot.py: Using new style for raising exceptions. * Scripts/webkitpy/common/thread/messagepump.py: Same. * Scripts/webkitpy/tool/bot/queueengine.py: Same. * Scripts/webkitpy/tool/commands/queues.py: Same. * Scripts/webkitpy/tool/commands/stepsequence.py: Same. * Scripts/webkitpy/tool/multicommandtool.py: Same. * Scripts/webkitpy/tool/steps/abstractstep.py: Same. 2017-04-28 Simon Fraser Add system trace points for Document::updateTouchEventRegions() https://bugs.webkit.org/show_bug.cgi?id=171470 rdar://problem/31901239 Reviewed by Tim Horton. Add trace markers for updateTouchEventRegions. * Tracing/SystemTracePoints.plist: 2017-04-28 Jonathan Bedard webkitpy: Add apple_additions to webkitpy to insert Internal tools https://bugs.webkit.org/show_bug.cgi?id=170461 Reviewed by Daniel Bates. Allow a package to be pulled in by run-webkit-tests which provides an interface to run layout tests on an iOS device. If this package is not available, throw an exception when attempting to run layout tests on an iOS device. * Scripts/webkitpy/port/config.py: (apple_additions): Import apple_additions package. * Scripts/webkitpy/port/device.py: (Device.install_dylibs): Pass a directory with all the frameworks and dylibs to be installed on a device. (Device.prepare_for_testing): Pass a list of ports to forward from the device to the host, the bundle id of the app to be used for testing and a path to the layout test directory to be mounted on the device. (Device.finished_testing): * Scripts/webkitpy/port/factory.py: (platform_options): Add apple_additions platform options if apple_additions exists. * Scripts/webkitpy/port/ios.py: (IOSPort.setup_test_run): Install dylibs and frameworks on the device, pass ports to forward, the bundle ID of the testing app and the layout tests directory to each device. * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort): (IOSDevicePort.default_child_processes): Query apple_additions for the number of child processes to be run. (IOSDevicePort.using_multiple_devices): Always assume multiple devices are used. When a single device is used, it is still accessed through an array. (IOSDevicePort._device_for_worker_number_map): Query apple_additions for the device for worker number map. (IOSDevicePort._driver_class): Query apple_additions for the test driver. (IOSDevicePort.determine_full_port_name): Use class variable over hard-coded string. (IOSDevicePort.check_for_leaks): No implementation for iOSDevicePort. (IOSDevicePort.look_for_new_crash_logs): Ditto. (IOSDevicePort.look_for_new_samples): Ditto. (IOSDevicePort.sample_process): Ditto. (IOSDevicePort._build_driver_flags): Use class variable over hard-coded string. (IOSDevicePort._create_devices): Check that devices are available for testing and check that we have enough devices for each child process. (IOSDevicePort.clean_up_test_run): Have apple_additions preform any needed clean up. * Scripts/webkitpy/port/ios_device_unittest.py: (IOSDeviceTest.test_operating_system): (IOSDeviceTest.test_spindump): Override method from DarwinTest. (IOSDeviceTest.test_sample_process): Ditto. (IOSDeviceTest.test_sample_process_exception): Ditto. 2017-04-28 Wenson Hsieh Fix and re-enable data interaction unit tests https://bugs.webkit.org/show_bug.cgi?id=171446 Reviewed by Tim Horton. Enables all DataInteractionTests, and adjusts file upload tests to no longer write to a temporary file before registering with the UIItemProvider, and instead just register data directly via -registerDataRepresentationForTypeIdentifier:visibility:loadHandler:. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): (temporaryURLForDataInteractionFileLoad): Deleted. (cleanUpDataInteractionTemporaryPath): Deleted. (-[UIItemProvider registerFileRepresentationForTypeIdentifier:withData:filename:]): Deleted. * TestWebKitAPI/ios/DataInteractionSimulator.h: * TestWebKitAPI/ios/DataInteractionSimulator.mm: 2017-04-28 Brady Eidson Teach the DatabaseProcess to be fully SessionID aware https://bugs.webkit.org/show_bug.cgi?id=171451 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: 2017-04-28 Jonathan Bedard Unreviewed follow-up to r214705. shut.copytree will fail if given a file as an argument instead of a directory. * Scripts/webkitpy/common/system/filesystem.py: (FileSystem.copy_to_base_host): Use copytree when source is a directory and copyfile when source is a file. (FileSystem.copy_from_base_host): Ditto. 2017-04-28 Chris Dumez Update DOMTokenList.replace() to match the latest DOM specification https://bugs.webkit.org/show_bug.cgi?id=171388 Reviewed by Alex Christensen. Add API test coverage for new Vector API. * TestWebKitAPI/Tests/WTF/Vector.cpp: (TestWebKitAPI::TEST): 2017-04-28 Jonathan Bedard WebKitTestRunner/DumpRenderTree prevent device from sleeping https://bugs.webkit.org/show_bug.cgi?id=170731 Reviewed by Alex Christensen. While running layout tests on a device, the device should not be put asleep. * DumpRenderTree/mac/DumpRenderTree.mm: (dumpRenderTree): Disable idle timer. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformInitialize): Ditto. 2017-04-28 Brady Eidson Start of support for multiple WebsiteDataStore/SessionIDs per process https://bugs.webkit.org/show_bug.cgi?id=171422 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2017-04-28 Youenn Fablet Adding a runtime flag specific to MediaDevices https://bugs.webkit.org/show_bug.cgi?id=171433 Reviewed by Geoffrey Garen. Updating WTR and DRT as peer connection and media stream runtime flags are enabled by default. Setting media devices runtime flag to true for WTR and DRT. * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): * TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp: (TestWebKitAPI::TEST): * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setMediaDevicesEnabled): (WTR::TestRunner::setMediaStreamEnabled): Deleted. (WTR::TestRunner::setPeerConnectionEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2017-04-28 Dean Jackson [WebGPU] Label MTLCommandQueues with a prefix for internal telemetry https://bugs.webkit.org/show_bug.cgi?id=171441 Reviewed by Tim Horton. Add an API test for GPUCommandQueue, exercising creation and setting the label. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: Added. (TestWebKitAPI::TEST_F): 2017-04-28 Joanmarie Diggs [ATK] aria-modal="true" should be exposed via ATK_STATE_MODAL https://bugs.webkit.org/show_bug.cgi?id=171188 Reviewed by Chris Fleizach. Add "AXModal" attribute string so that we can test the state's exposure. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::boolAttributeValue): 2017-04-28 Joanmarie Diggs [ATK] GridCellRole should implement AtkTableCell (regression?) https://bugs.webkit.org/show_bug.cgi?id=171179 Reviewed by Chris Fleizach. Add new "AXInterfaceTableCell" attribute so that we can test whether or not there is an implementation of AtkTableCell (i.e. without risking false negatives from bugs in the interface's implementation). * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::boolAttributeValue): 2017-04-27 Carlos Garcia Campos Move UUID from WebCore/platform to WTF https://bugs.webkit.org/show_bug.cgi?id=171372 Reviewed by Michael Catanzaro. * WebKitTestRunner/TestController.cpp: 2017-04-27 Alex Christensen Add stub SPI for setting cookie storage path on _WKWebsiteDataStoreConfiguration https://bugs.webkit.org/show_bug.cgi?id=171399 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html: * TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2017-04-27 Ryan Haddad Disable flaky API test WKWebView.SetOverrideContentSecurityPolicyWithEmptyStringForPageWithCSP. https://bugs.webkit.org/show_bug.cgi?id=167914 Unreviewed test gardening. * TestWebKitAPI/Tests/WebKit2Cocoa/OverrideContentSecurityPolicy.mm: (TEST): 2017-04-26 Saam Barati Add some more testing modes for Wasm tests now that we have tier up https://bugs.webkit.org/show_bug.cgi?id=171360 Reviewed by Keith Miller. Lets enable the FTL on all Wasm tests. Let's also run each test with and without CJIT. * Scripts/run-jsc-stress-tests: 2017-04-26 Aakash Jain JSC EWS Patch Relevance skips few JSC scripts https://bugs.webkit.org/show_bug.cgi?id=171351 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/tool/steps/checkpatchrelevance.py: (CheckPatchRelevance): Added few jsc related scripts. 2017-04-26 Youenn Fablet Test importer should delete obsolete files based on w3c-import.log https://bugs.webkit.org/show_bug.cgi?id=171348 Reviewed by Chris Dumez. * Scripts/webkitpy/w3c/test_importer.py: (TestImporter.do_import): Removing dangling -expected.txt files in regular import mode. (TestImporter.remove_deleted_files): Fixing according w3c-import.log current format. * Scripts/webkitpy/w3c/test_importer_unittest.py: (test_remove_obsolete_content): 2017-04-26 Jonathan Bedard REGRESSION (r213926): We're sometimes trying to start WebKitTestRunner without proper DYLD variables Unreviewed infrastructure fix. Some of our iOS Simulator bots are slow and will register crashes due to an incorrect DYLD_FRAMEWORK_PATH when installing an app. * Scripts/webkitpy/port/ios.py: (IOSPort.setup_test_run): Pass DYLD_FRAMEWORK_PATH to app on install. 2017-04-26 Joanmarie Diggs [ATK] Elements with a defined, non-false value for aria-current should expose ATK_STATE_ACTIVE https://bugs.webkit.org/show_bug.cgi?id=171163 Reviewed by Chris Fleizach. Add support for state-change notifications for ATK_STATE_ACTIVE. * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: 2017-04-26 Jonathan Bedard webkitpy: Teardown iOS Simulators on exit if managed Simulators are still running https://bugs.webkit.org/show_bug.cgi?id=171293 Reviewed by Aakash Jain. We should make an effort to teardown simulators which we booted even when an exception is thrown while booting. Make some IOSSimulatorPort functions into static methods and register one of these functions to be run at exit to ensure any devices webkitpy is managing gets torn down. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._set_up_run): Rely on exit handlers to teardown, not exceptions. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort._teardown_managed_simulators): Function run on exit which will kill all iOS simulators and teardown and managed devices. (IOSSimulatorPort._create_simulators): Register teardown function. (IOSSimulatorPort.clean_up_test_run): Move device teardown to _teardown_managed_simulators. (IOSSimulatorPort._remove_device): Deleted. 2017-04-26 Joanmarie Diggs [ATK] Implement support for new ARIA 1.1 values of aria-haspopup https://bugs.webkit.org/show_bug.cgi?id=171164 Reviewed by Chris Fleizach. hasPopup() should return whether or not ATK_STATE_HAS_POPUP is in the AtkStateSet; not what is found in the AtkObject's attributes. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::hasPopup): 2017-04-25 Alex Christensen Encoded filename should be decoded for WKContentExtension.identifier https://bugs.webkit.org/show_bug.cgi?id=171316 Reviewed by Andy Estes. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm. (TEST_F): * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm: Removed. 2017-04-25 Alex Christensen REGRESSION(206450): WebKit2PlatformMouseEvent m_modifierFlags not set https://bugs.webkit.org/show_bug.cgi?id=171297 Reviewed by Geoffrey Garen. * TestWebKitAPI/PlatformWebView.h: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2/EventModifiers.cpp: Added. (TestWebKitAPI::didFinishLoadForFrame): (TestWebKitAPI::mouseDidMoveOverElement): (TestWebKitAPI::setClients): (TestWebKitAPI::TEST): * TestWebKitAPI/mac/PlatformWebViewMac.mm: (TestWebKitAPI::PlatformWebView::simulateRightClick): (TestWebKitAPI::PlatformWebView::simulateMouseMove): 2017-04-25 Wenson Hsieh Unreviewed, temporarily disable the data interaction unit tests. The API around data interaction will change significantly in the near future, and these tests will begin to fail. These will be reenabled once the bots are on an SDK that supports the updated data interaction API. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: * TestWebKitAPI/ios/DataInteractionSimulator.h: * TestWebKitAPI/ios/DataInteractionSimulator.mm: 2017-04-25 Brent Fulgham Limit allowed size of document.title to avoid locking WebKit clients https://bugs.webkit.org/show_bug.cgi?id=165113 Reviewed by Darin Adler. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files. * TestWebKitAPI/Tests/WebKit2/LimitTitleSize.cpp: Added. * TestWebKitAPI/Tests/WebKit2/set-long-title.html: Added. * TestWebKitAPI/Tests/mac/LimitTitleSize.mm: Added. 2017-04-25 John Wilander Resource Load Statistics: Introduce shorter time-to-live for cookie partition whitelisting https://bugs.webkit.org/show_bug.cgi?id=171295 Reviewed by Brent Fulgham. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setStatisticsTimeToLiveCookiePartitionFree): (WTR::TestRunner::statisticsFireShouldPartitionCookiesHandler): (WTR::TestRunner::statisticsFireShouldPartitionCookiesHandlerForOneDomain): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree): (WTR::TestController::statisticsFireShouldPartitionCookiesHandler): (WTR::TestController::statisticsFireShouldPartitionCookiesHandlerForOneDomain): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2017-04-25 Tim Horton Try to fix the WKTR build after r215758 * Scripts/build-webkittestrunner: 2017-04-25 Daniel Bates Remove more EFL code https://bugs.webkit.org/show_bug.cgi?id=171288 Rubber-stamped by Simon Fraser. The EFL port is no longer in the WebKit OpenSource Project repository. Remove more code that was part of the EFL port. * CMakeLists.txt: * DumpRenderTree/AccessibilityController.h: * DumpRenderTree/AccessibilityUIElement.cpp: (AccessibilityUIElement::getJSClass): * DumpRenderTree/AccessibilityUIElement.h: * DumpRenderTree/DumpRenderTree.h: * DumpRenderTree/cairo/PixelDumpSupportCairo.h: * ImageDiff/efl/ImageDiff.cpp: Removed. * MiniBrowser/efl/CMakeLists.txt: Removed. * MiniBrowser/efl/main.c: Removed. * Scripts/build-dumprendertree: * Scripts/build-jsc: * Scripts/build-webkit: * Scripts/build-webkittestrunner: * Scripts/run-minibrowser: * Scripts/update-webkit-libs-jhbuild: * Scripts/update-webkitefl-libs: Removed. * Scripts/webkitdirs.pm: (argumentsForConfiguration): (extractNonMacOSHostConfiguration): (executableProductDir): (builtDylibPathForName): (determinePortName): (launcherPath): (launcherName): (getJhbuildPath): (wrapperPrefixIfNeeded): (generateBuildSystemFromCMakeProject): (buildCMakeProjectOrExit): (isEfl): Deleted. * Scripts/webkitperl/FeatureList.pm: * Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: * Scripts/webkitpy/common/config/ports.py: (DeprecatedPort.port): (GtkWK2Port.run_webkit_tests_command): (EflWK2Port): Deleted. (EflWK2Port.build_webkit_command): Deleted. * Scripts/webkitpy/port/builders.py: * Scripts/webkitpy/port/efl.py: Removed. * Scripts/webkitpy/port/efl_unittest.py: Removed. * Scripts/webkitpy/port/factory.py: (platform_options): (PortFactory): * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: (TestExpectationsTestCase.test_determine_port_from_expectations_path): * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: (TestRebaselineTest.test_baseline_directory): (TestRebaselineExpectations.test_rebaseline_expectations): * TestWebKitAPI/PlatformEfl.cmake: Removed. * TestWebKitAPI/PlatformWebView.h: * TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp: Removed. * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks_Bundle.cpp: Removed. * TestWebKitAPI/Tests/WebKit2/efl/WKViewScrollTo.cpp: Removed. * TestWebKitAPI/Tests/WebKit2/efl/scrollTo.html: Removed. * TestWebKitAPI/efl/InjectedBundleController.cpp: Removed. * TestWebKitAPI/efl/PlatformUtilities.cpp: Removed. * TestWebKitAPI/efl/PlatformWebView.cpp: Removed. * TestWebKitAPI/efl/main.cpp: Removed. * WebKitTestRunner/EventSenderProxy.h: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/EventSendingController.cpp: (WTR::EventSendingController::contextClick): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback): (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler): * WebKitTestRunner/InjectedBundle/efl/ActivateFontsEfl.cpp: Removed. * WebKitTestRunner/InjectedBundle/efl/FontManagement.cpp: Removed. * WebKitTestRunner/InjectedBundle/efl/FontManagement.h: Removed. * WebKitTestRunner/InjectedBundle/efl/InjectedBundleEfl.cpp: Removed. * WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp: Removed. * WebKitTestRunner/PlatformEfl.cmake: Removed. * WebKitTestRunner/PlatformWebView.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/efl/EventSenderProxyEfl.cpp: Removed. * WebKitTestRunner/efl/PlatformWebViewEfl.cpp: Removed. * WebKitTestRunner/efl/TestControllerEfl.cpp: Removed. * WebKitTestRunner/efl/main.cpp: Removed. * efl/install-dependencies: Removed. * efl/jhbuild-optional.modules: Removed. * efl/jhbuild.modules: Removed. * efl/jhbuildrc: Removed. * efl/patches/evas-fix-build-with-giflib5.patch: Removed. * efl/patches/fontconfig-C-11-requires-a-space-between-literal-and-identifier.patch: Removed. * efl/patches/gst-libav.patch: Removed. * efl/patches/gst-plugins-base-rtp-rtcpbuffer-fix-typo-in-enum.patch: Removed. * efl/patches/gst-plugins-good-Revert-qtdemux-expose-streams-with-first-moof-for-fr.patch: Removed. * efl/patches/gst-plugins-good-use-the-tfdt-decode-time.patch: Removed. * efl/patches/openwebrtc-gst-plugins-clang-warning-fix.patch: Removed. * gtk/manifest.txt.in: 2017-04-25 Daniel Bates [Cocoa][Win] Enable of X-Content-Type-Options: nosniff header https://bugs.webkit.org/show_bug.cgi?id=136452 Reviewed by Brent Fulgham. Enable X-Content-Type-Options: nosniff on Mac, iOS and Windows platforms. * Scripts/webkitperl/FeatureList.pm: Also do not enable nosniff on EFL as the EFL port is no longer in the WebKit OpenSource repository. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2017-04-25 Zan Dobersek Unreviewed follow-up to r215739 and r215740. * gtk/jhbuild.modules: List the libgcrypt patch that has to be applied. This (and r215740) was supposed to land in r215739, but I managed to specify the previous version of the patch. 2017-04-25 Zan Dobersek Unreviewed follow-up to r215739. * gtk/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Add the missing libgcrypt patch that enforces the use of /dev/urandom. 2017-04-25 Zan Dobersek [GTK] Add libgpg-error, libgcrypt libraries to JHBuild https://bugs.webkit.org/show_bug.cgi?id=171270 Reviewed by Michael Catanzaro. * gtk/jhbuild.modules: Add the latest stable versions of libgpg-error and libgcrypt libraries to the webkitgtk-testing-dependencies metamodule. This will help people that use systems that don't yet provide libgcrypt >= 1.7.0. 2017-04-25 Carlos Alberto Lopez Perez [GTK] Improve an unit test for the JHBuild wrapper. https://bugs.webkit.org/show_bug.cgi?id=168036 Unreviewed follow-up patch after r215727 * Scripts/webkitpy/port/base_unittest.py: (test_jhbuild_wrapper): Improve the unit test by ensuring the directory wasn't there before calling MockFileSystem.maybe_make_directory(), and also that it exists after calling it. 2017-04-25 Carlos Alberto Lopez Perez [GTK] ImageDiff should be run by jhbuild-wrapper in case of using jhbuild https://bugs.webkit.org/show_bug.cgi?id=168036 Reviewed by Michael Catanzaro. Call ImageDiff with the JHBuild wrapper if we should use it. Also add some unit tests for the JHBuild wrapper feature. * Scripts/webkitpy/port/base.py: (Port._should_use_jhbuild): Use self._filesystem instead of os.path to allow mock testing. * Scripts/webkitpy/port/base_unittest.py: (test_jhbuild_wrapper): Add a test for port._should_use_jhbuild() * Scripts/webkitpy/port/image_diff.py: (ImageDiffer._start): The actual fix, use the wrapper if we should. * Scripts/webkitpy/port/image_diff_unittest.py: Removed. This two tests are now integrated in port_testcase * Scripts/webkitpy/port/port_testcase.py: (PortTestCase): (PortTestCase.test_diff_image): Test the command with wrapper and without it. (PortTestCase.test_diff_image_passed): Moved from image_diff_unittest.py (PortTestCase.test_diff_image_failed): Moved from image_diff_unittest.py 2017-04-25 Wenson Hsieh Support reading NSURL titles from the pasteboard when performing data interaction https://bugs.webkit.org/show_bug.cgi?id=171156 Reviewed by Tim Horton. Adds a new unit test, DataInteractionTests.ExternalSourceTitledNSURL. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): 2017-04-24 Wenson Hsieh Respect fidelity order when reading web content from item providers https://bugs.webkit.org/show_bug.cgi?id=171155 Reviewed by Tim Horton. Adds a new unit test (DataInteractionTests.RespectsExternalSourceFidelityRankings). See WebCore ChangeLog for more details. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): 2017-04-24 Carlos Alberto Lopez Perez SyntaxError fix after r215702. https://bugs.webkit.org/show_bug.cgi?id=168944 Unreviewed "build" fix. * BuildSlaveSupport/built-product-archive: (archiveBuiltProduct): 2017-04-24 Jonathan Bedard Package ImageDiff built with host SDK https://bugs.webkit.org/show_bug.cgi?id=168944 Reviewed by David Kilzer. iOS Simulator and iOS device should archive the ImageDiff built for the host machine. * BuildSlaveSupport/built-product-archive: (determineWebKitBuildDirectories): Add _hostBuildDirectory for iOS. (archiveBuiltProduct): Archive Mac products for iOS so that ImageDiff is included. 2017-04-24 Keith Miller ThreadMessage API tests failing on release bots https://bugs.webkit.org/show_bug.cgi?id=171246 Reviewed by Saam Barati. Need to make sure that C++ doesn't optimize away our spin loop. * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp: (runThreadMessageTest): (TEST): 2017-04-24 Alex Christensen Reduce copies and allocations in SharedBuffer::append https://bugs.webkit.org/show_bug.cgi?id=170956 Reviewed by Andreas Kling. * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm: (TestWebKitAPI::TEST_F): 2017-04-24 Carlos Garcia Campos [GTK] Switch to use ENABLE_REMOTE_INSPECTOR instead of ENABLE_INSPECTOR_SERVER for the remote inspector https://bugs.webkit.org/show_bug.cgi?id=166680 Reviewed by Michael Catanzaro. Update remote inspector unit tests. * TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp: (main): * TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp: (connectToInspectorServer): (waitUntilInspectorServerIsReady): (startTestServer): (testInspectorServerPageList): (beforeAll): 2017-04-23 Youenn Fablet Add a tool to update expected.txt files from EWS bot results https://bugs.webkit.org/show_bug.cgi?id=169538 Reviewed by Ryosuke Niwa. This script updates expected-txt files from bugzilla posted EWS results. It uses mac-wk2 as the generic baseline and adds platform-specific results if other ports have results different from the generic baseline. * Scripts/update-test-expectations-from-bugzilla: Added. * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py: Added. * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py: Added. * Scripts/webkitpy/layout_tests/controllers/test_result_writer.py: Adding helper routines. 2017-04-22 Youenn Fablet Add an option to import tip-of-tree WPT tests https://bugs.webkit.org/show_bug.cgi?id=171152 Reviewed by Joseph Pecoraro. Adding a '-t' option to import tip of tree WPT tests. Updating importer based on the fact that csswg-test is no longer a thing. * Scripts/webkitpy/w3c/test_downloader.py: (TestDownloader.download_tests): * Scripts/webkitpy/w3c/test_importer.py: (configure_logging): (TestImporter.do_import): (TestImporter.write_import_log): 2017-04-22 Wenson Hsieh File inputs only accept UTI types that can be inserted into contenteditable areas when dropping https://bugs.webkit.org/show_bug.cgi?id=171177 Reviewed by Andy Estes. Tests uploading a JSON file to a file input. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): 2017-04-21 Wenson Hsieh Support writing link titles to the pasteboard when beginning data interaction on a link https://bugs.webkit.org/show_bug.cgi?id=171154 Reviewed by Andy Estes. Augments an existing unit test, DataInteractionTests.LinkToInput, to also check that the fetching the NSURL from the source UIItemProvider generated by performing data interaction results in an NSURL with the _title attribute matching the title of the link. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): 2017-04-21 Michael Catanzaro Unreviewed, rolling out r215608. Hundreds of test failures on GTK bot Reverted changeset: "Reduce copies and allocations in SharedBuffer::append" https://bugs.webkit.org/show_bug.cgi?id=170956 http://trac.webkit.org/changeset/215608 2017-04-21 Wenson Hsieh [WK2] Add delegate hooks for overriding unhanded data interaction operations https://bugs.webkit.org/show_bug.cgi?id=171005 Reviewed by Tim Horton. Adds a new API test checking that normal WebKit behavior when vending updated data interaction operations may be overridden, resulting in a data interaction operation being performed when it otherwise would not have. Also adjusts for some changes in WebKit2 (See WebKit2 ChangeLog for more details). New API test: DataInteractionTests.OverrideDataInteractionOperation * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]): (TestWebKitAPI::TEST): * TestWebKitAPI/ios/DataInteractionSimulator.h: * TestWebKitAPI/ios/DataInteractionSimulator.mm: (-[DataInteractionSimulator initWithWebView:]): (-[DataInteractionSimulator dealloc]): (-[DataInteractionSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]): (-[DataInteractionSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]): (-[DataInteractionSimulator webViewDidPerformDataInteractionControllerOperation:]): Deleted. 2017-04-21 Ryan Haddad Temporarily disable two flaky API tests. Unreviewed test gardening. * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm: (TEST): * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: (TEST): 2017-04-21 Keith Miller Unreviewed, rolling out r215634. underlying build issues should have been fixed Reverted changeset: "Unreviewed, rolling out r215620 and r215623." https://bugs.webkit.org/show_bug.cgi?id=171139 http://trac.webkit.org/changeset/215634 2017-04-21 Aakash Jain Bubbles on dashboard doesn't turn red for test262 failures https://bugs.webkit.org/show_bug.cgi?id=171129 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js: Added test262-test. 2017-04-21 Commit Queue Unreviewed, rolling out r215620 and r215623. https://bugs.webkit.org/show_bug.cgi?id=171139 broke arm64 build (Requested by keith_miller on #webkit). Reverted changesets: "Add signaling API" https://bugs.webkit.org/show_bug.cgi?id=170976 http://trac.webkit.org/changeset/215620 "Unreviewed, fix Cloop build." http://trac.webkit.org/changeset/215623 2017-04-20 Keith Miller Add signaling API https://bugs.webkit.org/show_bug.cgi?id=170976 Reviewed by Filip Pizlo. Add tests for ThreadMessages. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/ThreadMessages.cpp: Added. (runThreadMessageTest): (TEST): 2017-04-20 Conrad Shultz commit-log-editor should respect the git editor if one is set https://bugs.webkit.org/show_bug.cgi?id=171085 Reviewed by Daniel Bates. * Scripts/commit-log-editor: If Git is available, consider GIT_LOG_EDITOR and any global Git editor preference when deciding which editor to present. We examine the global editor preference since that may be set automatically by installers or third-party tools. 2017-04-21 Alex Christensen Reduce copies and allocations in SharedBuffer::append https://bugs.webkit.org/show_bug.cgi?id=170956 Reviewed by Andreas Kling. * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm: (TestWebKitAPI::TEST_F): 2017-04-20 Konstantin Tokarev [cmake] Define FORWARDING_HEADERS_DIR in WebKitFS and use it everywhere https://bugs.webkit.org/show_bug.cgi?id=171071 Reviewed by Michael Catanzaro. "${DERIVED_SOURCES_DIR}/ForwardingHeaders" path occurs very often in the build system files. GTK-specifc FORWARDING_HEADERS_DIR variable should be available for all ports. * DumpRenderTree/PlatformMac.cmake: * MiniBrowser/mac/CMakeLists.txt: * MiniBrowser/win/CMakeLists.txt: * TestWebKitAPI/PlatformJSCOnly.cmake: * TestWebKitAPI/PlatformMac.cmake: * TestWebKitAPI/PlatformWin.cmake: * WebKitTestRunner/PlatformMac.cmake: 2017-04-20 Joseph Pecoraro Test262 bot does not go red with failures https://bugs.webkit.org/show_bug.cgi?id=171044 Reviewed by Aakash Jain. The piped output of run-jsc-stress-tests is different from its non-piped output. Switch to parsing the correct output. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunTest262Tests.countFailures): Just count the number of lines that start with "FAIL:". * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: (RunTest262TestsTest.test_no_regressions_output): (test_failure_output): (test_failures_output): Updated tests with new sample output produced partially from bots and locally. In cases of failure the return code of run-jsc-stress-tests is still 0 so update the expected return code in the tests. 2017-04-20 Brady Eidson WebContent process becomes unresponsive after returning nil from async version of -webView:createWebViewWithConfiguration:... and https://bugs.webkit.org/show_bug.cgi?id=171090 Reviewed by Andy Estes. * TestWebKitAPI/Tests/WebKit2/open-and-close-window.html: * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: (resetToConsistentState): (-[OpenAndCloseWindowUIDelegate webViewDidClose:]): (-[OpenAndCloseWindowUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): (TEST): (-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]): 2017-04-20 Wenson Hsieh [ios-simulator] PositionInformationTests API tests are timing out https://bugs.webkit.org/show_bug.cgi?id=171089 Rubber-stamped by Tim Horton. Addresses failures observed in the new position information tests added in r215573 by only running them if the DATA_INTERACTION feature flag is enabled. * TestWebKitAPI/Tests/ios/PositionInformationTests.mm: 2017-04-20 Brady Eidson Skip WebKit2.OpenAndCloseWindowAsyncCallbackException for now. https://bugs.webkit.org/show_bug.cgi?id=171083 Unreviewed. * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: 2017-04-20 Brady Eidson Add CompletionHandlerCallChecker to SPI added in r215545. https://bugs.webkit.org/show_bug.cgi?id=171067 Reviewed by Dan Bernstein. * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: (TEST): (-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]): 2017-04-20 Wenson Hsieh [WK2] -[WKContentView doAfterPositionInformationUpdate:atPosition:] should be robust against synchronous reentrancy https://bugs.webkit.org/show_bug.cgi?id=170922 Reviewed by Tim Horton. Adds six new unit tests for retrieving interaction information at a given position in the UI process. See WebKit2 ChangeLog for more details. * TestWebKitAPI/Tests/ios/PositionInformationTests.mm: (-[_WKDraggableElementInfo expectToBeLink:image:atPoint:]): (TestWebKitAPI::TEST): (TestWebKitAPI::expectCGPointsToBeEqual): Deleted. 2017-04-20 Xan Lopez [GTK][jhbuild] Update glib and glib-networking to the latest stable versions https://bugs.webkit.org/show_bug.cgi?id=170942 Reviewed by Carlos Garcia Campos. Update glib and glib-networking to the last stable releases. This is needed to get working TLS certificate verification at all at least in Fedora. * gtk/install-dependencies: add libmount, needed for newer glib. * gtk/jhbuild.modules: update glib and glib-networking to last stable releases. 2017-04-20 Joanmarie Diggs [ATK] Implement support for DPub ARIA roles https://bugs.webkit.org/show_bug.cgi?id=170679 Reviewed by Chris Fleizach. Add DPub ARIA landmark roles to roleToString(). * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: 2017-04-19 Joseph Pecoraro Remove WebKitTestRunner code for enabling features that are already enabled by default https://bugs.webkit.org/show_bug.cgi?id=171033 Reviewed by Ryosuke Niwa. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setShadowDOMEnabled): Deleted. (WTR::TestRunner::setCustomElementsEnabled): Deleted. (WTR::TestRunner::setFetchAPIEnabled): Deleted. (WTR::TestRunner::setDownloadAttributeEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: 2017-04-19 Youenn Fablet [Mac] Allow customizing H264 encoder https://bugs.webkit.org/show_bug.cgi?id=170829 Reviewed by Alex Christensen. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2017-04-19 Brady Eidson Add asynchronous equivalent of -[ webView:createWebViewWithConfiguration:...]. and https://bugs.webkit.org/show_bug.cgi?id=171018 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: (TEST): (-[OpenAndCloseWindowUIDelegateAsync webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): (-[OpenAndCloseWindowUIDelegateAsync _webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:completionHandler:]): 2017-04-19 Brady Eidson REGRESSION (r213168): An extra Web Content process is spun up on launch and is never closed. and https://bugs.webkit.org/show_bug.cgi?id=171002 Reviewed by Alex Christensen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/InitialWarmedProcessUsed.mm: Added. 2017-04-19 Brent Fulgham [WK2] Run tests with ResourceLoadStatistics enabled https://bugs.webkit.org/show_bug.cgi?id=170952 Reviewed by Andy Estes. Excercise the load statistics code during tests. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): 2017-04-19 Bill Ming close_fds should be set to False on Windows. https://bugs.webkit.org/show_bug.cgi?id=170838 Reviewed by Brent Fulgham. * Scripts/webkitpy/common/system/executive.py: (Executive._should_close_fds): 2017-04-19 David Kilzer Stop using strcpy() in WebKit::EnvironmentUtilities::stripValuesEndingWithString() Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: (EnvironmentUtilitiesTest.cpp): Add to TestWebKitAPILibrary target. * TestWebKitAPI/Tests/WebKit2/EnvironmentUtilitiesTest.cpp: Add. (TestWebKitAPI::strip): Helper method to set/get environment variable for testing. (TestWebKitAPI::WebKit2_StripValuesEndingWithString_Test): Add tests. 2017-04-19 JF Bastien WebAssembly: add script which can import GCC torture tests https://bugs.webkit.org/show_bug.cgi?id=170740 Reviewed by Saam Barati. Add a script which can import the GCC torture tests and create a yaml file to run them as part of jsc's WebAssembly regression tests. This patch doesn't commit the tests themselves because they're licensed differently. * Scripts/run-jsc-stress-tests: learn how to run Emscripten-generated .js+.wasm files, and do a bit of cleanup on the options because WebAssembly is enabled by default. * Scripts/update-wasm-gcc-torture.py: Added. (parse_args): (update_lkgr): (untar_torture): (list_js_files): (waterfall_known_failures): (create_yaml): (main): 2017-04-19 Youenn Fablet Import web-platform-tests/tools https://bugs.webkit.org/show_bug.cgi?id=170718 Reviewed by Alex Christensen. * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py: (main): * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py: (WebPlatformTestServer.ports_to_forward): (WebPlatformTestServer._prepare_config): (WebPlatformTestServer._install_modules): Deleted. * Scripts/webkitpy/w3c/test_importer.py: (TestImporter.write_html_files_for_templated_js_tests): 2017-04-18 Wenson Hsieh [WK2] Add infrastructure and unit tests for file uploads using data interaction https://bugs.webkit.org/show_bug.cgi?id=170903 Reviewed by Tim Horton. Adds 5 new unit tests covering different cases of uploading files through data interaction, as well as infrastructure for simulating UIItemProviders that load file data. Makes a few adjustments to the DataInteractionSimulator along the way, detailed in the per-method annotations below. See for more details about the change this patch is testing. New tests: DataInteractionTests.ExternalSourceImageToFileInput DataInteractionTests.ExternalSourceHTMLToUploadArea DataInteractionTests.ExternalSourceImageAndHTMLToSingleFileInput DataInteractionTests.ExternalSourceImageAndHTMLToMultipleFileInput DataInteractionTests.ExternalSourceImageAndHTMLToUploadArea * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (testIconImage): (temporaryURLForDataInteractionFileLoad): (cleanUpDataInteractionTemporaryPath): Creates and tears down temporary file directories for testing data interaction. (-[UIItemProvider registerFileRepresentationForTypeIdentifier:withData:filename:]): (TestWebKitAPI::TEST): * TestWebKitAPI/ios/DataInteractionSimulator.h: * TestWebKitAPI/ios/DataInteractionSimulator.mm: Make necessary changes to be able to test what happens when data interaction ends over an element with no operation. Previously, we would always simulate performing a data interaction operation when ending the simulation, but this causes us to wait indefinitely for a data operation response to arrive in the UI process. Instead, we need to note whether or not the content view is allowing data interaction, and only perform an operation and wait for the -didPerform call if the operation was allowed. Otherwise, we immediately transition the phase to Cancelled and end the run. (-[DataInteractionSimulator _resetSimulatedState]): (-[DataInteractionSimulator runFrom:to:]): (-[DataInteractionSimulator _concludeDataInteractionAndPerformOperationIfNecessary]): (-[DataInteractionSimulator _advanceProgress]): (-[DataInteractionSimulator externalItemProviders]): (-[DataInteractionSimulator setExternalItemProviders:]): Previously, we hard-coded DataInteractionSimulator to only support a single external item provider. In order to test the scenario where multiple files are being "data interacted" into a file-type input, we generalize this to take multiple item providers. (-[DataInteractionSimulator externalItemProvider]): Deleted. (-[DataInteractionSimulator setExternalItemProvider:]): Deleted. 2017-04-18 John Wilander Make WebCore::topPrivatelyControlledDomain() return "localhost" for localhost https://bugs.webkit.org/show_bug.cgi?id=170798 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/mac/PublicSuffix.mm: (TestWebKitAPI::TEST_F): Added two negative test cases for WebCore::isPublicSuffix(). Added test cases with mixed case domains, localhost, and non-ASCII for WebCore::topPrivatelyControlledDomain(). 2017-04-18 Jonathan Bedard Unreviewed, rolling out r215346 and 215361. The problem these changes were fixing was addressed in . Reverted changesets: "webkitpy: Ignore previously launched pid when system is under stress" https://bugs.webkit.org/show_bug.cgi?id=170741 http://trac.webkit.org/changeset/215346 http://trac.webkit.org/changeset/215361 2017-04-17 Alex Christensen Allow Variants of RetainPtrs https://bugs.webkit.org/show_bug.cgi?id=170923 Reviewed by Tim Horton and Sam Weinig. * TestWebKitAPI/Tests/WTF/Variant.cpp: (TestWebKitAPI::TEST): Add tests for RetainPtr and for another class with overloaded operator& to verify such classes can work in Variants. 2017-04-17 Brady Eidson Make WKHTTPCookieStore public. and https://bugs.webkit.org/show_bug.cgi?id=170920 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm: (TEST): 2017-04-17 Youenn Fablet Disable outdated WritableStream API https://bugs.webkit.org/show_bug.cgi?id=170749 Reviewed by Alex Christensen. Replacing READABLE_STREAM_API, READABLE_BYTE_STREAM_API and WRITABLE_STREAM_API compilation flag by: - A STREAMS_API compilation flag. - A ReadableByteStreamAPI and WritableStreamAPI runtime flags, turned off except for RWT and DRT. * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setFetchAPIEnabled): (WTR::TestRunner::setWritableStreamAPIEnabled): (WTR::TestRunner::setReadableByteStreamAPIEnabled): * WebKitTestRunner/InjectedBundle/TestRunner.h: 2017-04-17 Tim Horton Provide a viewport parameter to disable clipping to the safe area https://bugs.webkit.org/show_bug.cgi?id=170766 Reviewed by Beth Dakin. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setObscuredInsets): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::setObscuredInsets): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setObscuredInsets): Add a UIScriptController mechanism to install obscured insets on the web view. 2017-04-17 Dan Bernstein [Cocoa] Move isNullFunctionPointer down into WTF https://bugs.webkit.org/show_bug.cgi?id=170892 Reviewed by Sam Weinig. * TestWebKitAPI/Configurations/TestWTF.xcconfig: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp: Added. (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS-v2.tbd: Added. * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-iOS.tbd: Added. * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS-v2.tbd: Added. * TestWebKitAPI/Tests/WTF/darwin/libTestWTFAlwaysMissing-macOS.tbd: Added. 2017-04-17 Jonathan Bedard webkitpy: Correct poll when killing ServerProcess Unreviewed infrastructure fix. * Scripts/webkitpy/port/server_process.py: (ServerProcess._kill): A polled process equaling 'None' means the process is running. 2017-04-17 Eric Carlson [MediaStream] Enable getUserMedia API test https://bugs.webkit.org/show_bug.cgi?id=170901 Reviewed by Youenn Fablet. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add test. * TestWebKitAPI/Tests/WebKit2/UserMedia.cpp: (TestWebKitAPI::decidePolicyForUserMediaPermissionRequestCallBack): (TestWebKitAPI::TEST): Enable capture with mock devices. * TestWebKitAPI/Tests/WebKit2/getUserMedia.html: Update to mediaDevices.getUserMedia 2017-04-17 Xan Lopez [GTK] Update the Fedora dependencies for WebKitGTK+ https://bugs.webkit.org/show_bug.cgi?id=170590 Reviewed by Carlos Alberto Lopez Perez. * gtk/install-dependencies: add a bunch of modules necessary to get a proper set of GStreamer codecs for WebRTC. 2017-04-16 Sam Weinig [WebIDL] Switch IDLAttributes.txt over to a more structured format so that more information can be added for each attribute https://bugs.webkit.org/show_bug.cgi?id=170843 Reviewed by Chris Dumez. * DumpRenderTree/DerivedSources.make: * WebKitTestRunner/DerivedSources.make: * Scripts/webkitpy/bindings/main.py: (BindingsTests.generate_from_idl): Pass IDLAttributes.json, as it is now mandatory to have one. 2017-04-14 Mark Lam Update architectures in xcconfig files. https://bugs.webkit.org/show_bug.cgi?id=170867 Reviewed by Joseph Pecoraro. * DumpRenderTree/mac/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: 2017-04-14 Brady Eidson Fix basic WKURLSchemeHandler bugs. and https://bugs.webkit.org/show_bug.cgi?id=170862 Reviewed by Andy Estes. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm: Added. (-[SchemeHandler initWithData:mimeType:]): (-[SchemeHandler dealloc]): (-[SchemeHandler webView:startTask:]): (-[SchemeHandler webView:stopTask:]): (TEST): 2017-04-14 Bill Ming webkit-patch failed to detect git repository https://bugs.webkit.org/show_bug.cgi?id=170859 Reviewed by Daniel Bates. Windows cmd does not accept single quoted path. So, using double quotes here will provide better platform compatibility. * Scripts/VCSUtils.pm: (isGitDirectory): (isGitSVNDirectory): (svnRevisionForDirectory): (svnInfoForPath): 2017-04-14 Ryan Haddad Unreviewed, rolling out r215374. This change causes LayoutTests to exit early with crashes on Sierra. Reverted changeset: "webkitpy: Ignore previously launched pid when system is under stress" https://bugs.webkit.org/show_bug.cgi?id=170741 http://trac.webkit.org/changeset/215374 2017-04-14 Dan Bernstein [ios-simulator] API test WebKit2.AdditionalReadAccessAllowedURLs is failing https://bugs.webkit.org/show_bug.cgi?id=170856 Disabled the newly-added test in the Simulator, which doesn’t enforce sandboxing. * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm: 2017-04-14 Jonathan Bedard webkitpy: Ignore previously launched pid when system is under stress https://bugs.webkit.org/show_bug.cgi?id=170741 Unreviewed infrastructure fix. Drivers are destroyed between failing layout tests, which is not necessary and prevents the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741. * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: (Worker._kill_driver): Do not destroy drivers when they are stopped. * Scripts/webkitpy/port/driver.py: (Driver.stop): Reset driver values set in initializer. 2017-04-14 Andy Estes [ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out https://bugs.webkit.org/show_bug.cgi?id=167594 Re-enabled this API test now that webkit.org/b/161967 is fixed. * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm: (TEST): 2017-04-14 Andy Estes [ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out https://bugs.webkit.org/show_bug.cgi?id=161967 Reviewed by Alexey Proskuryakov. * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: (TEST): Re-enabled WebKit2.DataDetectionReferenceDate. 2017-04-14 Ryan Haddad Unreviewed, rolling out r215363. This change causes LayoutTests to exit early with crashes. Reverted changeset: "webkitpy: Ignore previously launched pid when system is under stress" https://bugs.webkit.org/show_bug.cgi?id=170741 http://trac.webkit.org/changeset/215363 2017-04-14 Jonathan Bedard webkitpy: Ignore previously launched pid when system is under stress https://bugs.webkit.org/show_bug.cgi?id=170741 Unreviewed infrastructure fix. Drivers are destroyed between failing layout tests, which is not necessary and prevents the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741. * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: (Worker._kill_driver): Do not destroy drivers when they are stopped. 2017-04-14 Jonathan Bedard webkitpy: Ignore previously launched pid when system is under stress https://bugs.webkit.org/show_bug.cgi?id=170741 Unreviewed infrastructure fix. Server processes are destroyed in the driver, which is not necessary and prevents the work-around implemented in https://bugs.webkit.org/show_bug.cgi?id=170741. * Scripts/webkitpy/port/driver.py: (Driver.run_test): Do not destroy server process. (Driver._start): Only create the server process if it is None. (Driver.stop): Do not destroy server process. 2017-04-13 Dan Bernstein [Cocoa] Allow clients to specify in _WKProcessPoolConfiguration additional directory sandbox extensions https://bugs.webkit.org/show_bug.cgi?id=170387 Reviewed by Sam Weinig. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm: Added. (TEST): * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsPlugin.mm: Added. (-[AdditionalReadAccessAllowedURLsPlugIn webProcessPlugIn:didCreateBrowserContextController:]): (-[AdditionalReadAccessAllowedURLsPlugIn dealloc]): (-[AdditionalReadAccessAllowedURLsPlugIn readStringFromURL:completionHandler:]): * TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsProtocol.h: Added. 2017-04-13 Jonathan Bedard webkitpy: Ignore previously launched pid when system is under stress https://bugs.webkit.org/show_bug.cgi?id=170741 Reviewed by David Kilzer. We have seen cases where xcrun simctl launch will return a pid of a previous process and the process will appear to be running even though it is crashing. Ensure that the PID that simulator_process is receiving is not the pid of the previously run process. * Scripts/webkitpy/port/simulator_process.py: (SimulatorProcess._start): Check to make sure we aren't receiving an old PID. 2017-04-13 Jonathan Bedard Build ImageDiff with host SDK https://bugs.webkit.org/show_bug.cgi?id=168531 Reviewed by David Kilzer. ImageDiff should be built and run with the host SDK, not the target SDK. Build ImageDiff twice, once for the target SDK and once for the host as an intermediate step towards building for only the host SDK. * ImageDiff/Makefile: Added. * Makefile: Add ImageDiff to list of targets. * Scripts/build-imagediff: Build bmalloc and WTF for the host. * Scripts/build-webkit: Build ImageDiff for host. * Scripts/webkitdirs.pm: Export extractNonMacOSHostConfiguration. (extractNonMacOSHostConfiguration): Remove non-host configuration data from the array. * Scripts/webkitperl/webkitdirs_unittest/extractNonMacOSHostConfiguration.pl: Added. * Scripts/webkitpy/port/base.py: (Port.check_build): Attempt to build image diff if not found. (Port.check_image_diff): Enable logging flag. (Port._build_image_diff): Allow webkitpy to build image-diff during testing. 2017-04-12 Alex Christensen Clean up SharedBuffer public functions https://bugs.webkit.org/show_bug.cgi?id=170795 Reviewed by Andreas Kling. * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: (TestWebKitAPI::TEST_F): 2017-04-12 Dan Bernstein [Mac] Future-proof .xcconfig files https://bugs.webkit.org/show_bug.cgi?id=170802 Reviewed by Tim Horton. * DumpRenderTree/mac/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: * MiniBrowser/Configurations/Base.xcconfig: * MiniBrowser/Configurations/DebugRelease.xcconfig: * TestWebKitAPI/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/DebugRelease.xcconfig: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/DebugRelease.xcconfig: 2017-04-12 Alex Christensen Remove unused SharedBuffer::wrapCFDataArray https://bugs.webkit.org/show_bug.cgi?id=170794 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm: (TestWebKitAPI::TEST_F): 2017-04-12 Yusuke Suzuki [WTF] Introduce Thread class and use RefPtr and align Windows Threading implementation semantics to Pthread one https://bugs.webkit.org/show_bug.cgi?id=170502 Reviewed by Mark Lam. Mechanical change. Use Thread:: APIs. * DumpRenderTree/JavaScriptThreading.cpp: (runJavaScriptThread): (startJavaScriptThreads): (stopJavaScriptThreads): * DumpRenderTree/mac/DumpRenderTree.mm: (testThreadIdentifierMap): * TestWebKitAPI/Tests/WTF/Condition.cpp: * TestWebKitAPI/Tests/WTF/Lock.cpp: (TestWebKitAPI::runLockTest): * TestWebKitAPI/Tests/WTF/ParkingLot.cpp: 2017-04-12 Alex Christensen Modernize vector adoption https://bugs.webkit.org/show_bug.cgi?id=170758 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp: (TestWebKitAPI::TEST_F): 2017-04-11 Dean Jackson Disable outdated WritableStream API https://bugs.webkit.org/show_bug.cgi?id=170749 Reviewed by Tim Horton. The API we implement is no longer accurate. Disable it until we are compatible with the new specification * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2017-04-11 David Quesada Add SPI for handling geolocation authorization requests https://bugs.webkit.org/show_bug.cgi?id=170362 rdar://problem/17508627 Reviewed by Alex Christensen. Add API tests for the new WKUIDelegate SPI for allowing or denying websites permission to use geolocation. Adopt the new WKProcessPool._coreLocationProvider property to provide a stub object to simulate the various configurations of geolocation permissions: 1. The app doesn't have permission to use geolocation. 2. The app is allowed to use geolocation, but the UI delegate denies the web view permission. 3. The app is allowed to use geolocation, and the UI delegate allows the web view permission. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/Geolocation.mm: Added. (-[TestCoreLocationProvider setListener:]): (-[TestCoreLocationProvider requestGeolocationAuthorization]): (-[TestCoreLocationProvider start]): (-[TestCoreLocationProvider stop]): (-[TestCoreLocationProvider setEnableHighAccuracy:]): (expectException): (-[GeolocationTestUIDelegate _webView:requestGeolocationAuthorizationForURL:frame:decisionHandler:]): (-[GeolocationTestUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit2Cocoa/GeolocationGetCurrentPositionResult.html: Added. 2017-04-10 Matt Rajca Change autoplay state to "prevented" when media is paused due to restrictions. https://bugs.webkit.org/show_bug.cgi?id=170686 Reviewed by Alex Christensen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2/autoplay-muted-with-controls.html: Added test. * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm: (TEST): 2017-04-11 Yusuke Suzuki [WebCore][JSC] ResourceUsageData.{timeOfNextEdenCollection,timeOfNextFullCollection} should be MonotonicTime https://bugs.webkit.org/show_bug.cgi?id=170725 Reviewed by Sam Weinig. * TestWebKitAPI/Tests/WTF/Time.cpp: (TestWebKitAPI::TEST): 2017-04-10 Alex Christensen Revert r215217 https://bugs.webkit.org/show_bug.cgi?id=170703 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2017-04-10 Alex Christensen Continue enabling WebRTC https://bugs.webkit.org/show_bug.cgi?id=170703 Reviewed by Youenn Fablet. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2017-04-10 Kocsen Chung Have parseRevisionProperty use default repo name as the Buildbot key. https://bugs.webkit.org/show_bug.cgi?id=170696 Reviewed by Daniel Bates. Previously, we needed to set a key and a fallbackKey when addressing Buildbot data for Internal. That is no longer necessary as we can make a safe assumption that the repo name maps exactly to that key for every repository other than WebKit. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js: Set `key = repositoryName` and only use fallback keys when dealing with WebKit. 2017-04-10 Aakash Jain Add test262 JavaScriptCore tests to dashboard https://bugs.webkit.org/show_bug.cgi?id=170711 Rubber-stamped by Joseph Pecoraro. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): Added test262 JSC tests to dashboard. 2017-04-10 Alex Christensen REGRESSION(r195479) First main resource load in new WebProcess bypasses content extensions https://bugs.webkit.org/show_bug.cgi?id=170707 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm: (-[ContentExtensionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (TEST_F): * TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm: (-[ContentBlockingWebsitePoliciesDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): (TEST): 2017-04-10 Alex Christensen Add API to get available content extension identifiers in a WKContentExtensionStore https://bugs.webkit.org/show_bug.cgi?id=170093 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKit2Cocoa/WKUserContentExtensionStore.mm: (TEST_F): 2017-04-10 Wenson Hsieh Refactor DataInteractionTests.UnresponsivePageDoesNotHangUI to not check against a fixed time interval https://bugs.webkit.org/show_bug.cgi?id=170658 Reviewed by Tim Horton. Uses ignoreSynchronousMessagingTimeoutsForTesting to ensure that this test times out if data interaction preparation is synchronous, or passes if it is asynchronous. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView initWithFrame:]): (-[TestWKWebView initWithFrame:configuration:processPoolConfiguration:]): (-[TestWKWebView _setUpTestWindow:]): 2017-04-10 Brent Fulgham [WK2][macOS] Block access to Apple Events before launch. https://bugs.webkit.org/show_bug.cgi?id=170626 Reviewed by Alexey Proskuryakov. Add a new TestWebKitAPI test that fails if Apple Events are sent. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files. * TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent.cpp: Added. (TestWebKitAPI::didReceiveMessageFromInjectedBundle): (TestWebKitAPI::didFinishLoadForFrame): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent_Bundle.cpp: Added. (TestWebKitAPI::InjectedBundleAppleEventTest::InjectedBundleAppleEventTest): (TestWebKitAPI::InjectedBundleAppleEventTest::didCreatePage): 2017-04-10 Guillaume Emont [JSC] Do not run FTL stress tests on MIPS https://bugs.webkit.org/show_bug.cgi?id=170684 Reviewed by Carlos Alberto Lopez Perez. run-jsc-stress-tests does not correctly detect MIPS platforms, and its logic to detect if the platform supports FTL ignores that MIPS does not support FTL. This adds detection of MIPS (with the magic number determined empirically) and fixes the determination of whether we support FTL. * Scripts/run-jsc-stress-tests: 2017-04-10 Jonathan Bedard webkitpy: Increase estimate for processes run by iOS Simulators https://bugs.webkit.org/show_bug.cgi?id=170678 Reviewed by Aakash Jain. Previously, it was estimated that each simulated iOS device would run about 100 processes. With newer versions of iOS, this is closer to 125. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort): Increase process estimate from 100 to 125. 2017-04-10 Adrian Perez de Castro [GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup() https://bugs.webkit.org/show_bug.cgi?id=170553 Reviewed by Michael Catanzaro. Use gtk_menu_popup_at_pointer() and gtk_menu_popup_at_rect() when building with GTK+ 3.22 or newer. This allows the Wayland GTK+ backend to properly position popup menus, and also avoids using functions which were deprecated starting at that GTK+ release. * MiniBrowser/gtk/BrowserSearchBar.c: (searchEntryMenuIconPressedCallback): Update MiniBrowser to use gtk_menu_popup_at_pointer(). 2017-04-10 Wenson Hsieh REGRESSION (r214403): fast/events/drag-to-navigate.html and fast/events/only-valid-drop-targets-receive-file-drop.html failing https://bugs.webkit.org/show_bug.cgi?id=170677 Reviewed by Tim Horton. Fixes two drag and drop LayoutTests by introducing and enabling a TestOptions switch (enableDragDestinationActionLoad) to allow dropping URLs to trigger page navigation. * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestOptions.mm: (TestOptions::TestOptions): * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): * DumpRenderTree/mac/UIDelegate.h: * DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate resetToConsistentStateBeforeTesting:]): (-[UIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): 2017-04-10 Fujii Hironori update-webkit-dependency should report $response->message for diagnose https://bugs.webkit.org/show_bug.cgi?id=170666 Reviewed by Alex Christensen. * Scripts/update-webkit-dependency: Print $response->message to STDERR if an error happens. 2017-04-10 Wenson Hsieh Data interaction on an image enclosed by an anchor should vend the anchor's URL https://bugs.webkit.org/show_bug.cgi?id=170660 Reviewed by Tim Horton. Adds two new unit tests covering cases where data interaction is triggered from an image nested underneath an anchor. In one of the tests, the link has an href, and in the other, its href is missing, in which case we should fall back to the image URL instead. Also fixes a related unit test that was trying to check selection rects, but should not be. See WebCore ChangeLog for more details. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/image-in-link-and-input.html: Added. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): 2017-04-10 Carlos Garcia Campos [GTK] Remove the GDK dependency from ImageDiff https://bugs.webkit.org/show_bug.cgi?id=85299 Reviewed by Žan Doberšek. Add a cairo only implementation of ImageDiff. We currently have 3 different implementations of ImageDiff: the Gdk based one used by GTK+ port, the cairo based one used by WinCairo and the CG based one. Most of the code is actually common in all of them, but it's duplicated. So, I've taken advantage of this patch to refactor the ImageDiff code to share the common implementation. This patch adds the cross-platform code, and the cairo implementation and enables it in the GTK+ port. In follow up patches we can move WinCairo to this implementation and also add CG implementation. * ImageDiff/CMakeLists.txt: * ImageDiff/Cairo.cmake: Added. * ImageDiff/ImageDiff.cpp: Added. (main): * ImageDiff/PlatformGTK.cmake: * ImageDiff/PlatformImage.cpp: Added. (ImageDiff::PlatformImage::isCompatible): (ImageDiff::PlatformImage::difference): * ImageDiff/PlatformImage.h: Added. * ImageDiff/cairo/PlatformImageCairo.cpp: Added. (ImageDiff::PlatformImage::createFromStdin): (ImageDiff::PlatformImage::createFromDiffData): (ImageDiff::PlatformImage::PlatformImage): (ImageDiff::PlatformImage::~PlatformImage): (ImageDiff::PlatformImage::width): (ImageDiff::PlatformImage::height): (ImageDiff::PlatformImage::rowBytes): (ImageDiff::PlatformImage::hasAlpha): (ImageDiff::PlatformImage::pixels): (ImageDiff::PlatformImage::writeAsPNGToStdout): * ImageDiff/gtk/ImageDiff.cpp: Removed. 2017-04-10 Carlos Garcia Campos REGRESSION(r214426): [GTK] Test media/video-click-dblckick-standalone.html started to fail in the bots after r214426 https://bugs.webkit.org/show_bug.cgi?id=170667 Reviewed by Žan Doberšek. In r214666 we disabled modern media controls runtime feature for the GTK+ port, but layout tests still override that value. * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::updatePlatformSpecificTestOptionsForTest): Disable modern media controls. 2017-04-10 Carlos Garcia Campos WTR: Avoid conversion from platform image to WKImage and then to platform image again when dumping pixel results https://bugs.webkit.org/show_bug.cgi?id=170653 Reviewed by Tim Horton. When dumping pixels from a web view snapshot, we create a platform image that is then converted to a WKImage, which is a ShareableBitmap, so the image is rendered into a graphics context. Then we immediately extract the platform image back from the WKImage to dump the pixels. We could avoid that conversion by taking the web snapshot from TestInvocation::dumpPixelsAndCompareWithExpected(). * WebKitTestRunner/PlatformWebView.h: Add PlatformImage typedef and use it as return value of windowSnapshotImage(). * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::dumpResults): Pass the WKImage to dumpPixelsAndCompareWithExpected() only when pixel results were created in the web process. * WebKitTestRunner/TestInvocation.h: Make WKImage a default paramater of dumpPixelsAndCompareWithExpected(). * WebKitTestRunner/cairo/TestInvocationCairo.cpp: (WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the cairo surface from the given WKimage in case of web contents snapshot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot. * WebKitTestRunner/cg/TestInvocationCG.cpp: (WTR::createCGContextFromCGImage): Changed to receive a CGImageRef and renamed. (WTR::createCGContextFromImage): Get the CGImageRef from the WKImage and call createCGContextFromCGImage(). (WTR::paintRepaintRectOverlay): It receives now the image size instead of the WKImage. (WTR::TestInvocation::dumpPixelsAndCompareWithExpected): Create the CGContextRef from the WKImage in case of web contents snpashot, and use PlatformWebView::windowSnapshotImage() in case of web view snapshot. * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp: (WTR::PlatformWebView::windowSnapshotImage): Return the cairo surface instead of creating a WKImage. Also use RGB24 format to match what mac does (kCGWindowImageShouldBeOpaque). * WebKitTestRunner/ios/PlatformWebViewIOS.mm: (WTR::PlatformWebView::windowSnapshotImage): Return the CGImageRef instead of creating a WKImage. * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::windowSnapshotImage): Ditto. 2017-04-10 Chris Dumez Drop Timer::startOneShot() overload taking a double https://bugs.webkit.org/show_bug.cgi?id=170659 Reviewed by Yusuke Suzuki. Drop Timer::startOneShot() overload taking a double as people should use Seconds type now. * TestWebKitAPI/Tests/WTF/RunLoop.cpp: (TestWebKitAPI::TEST): * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp: (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded): 2017-04-09 Wenson Hsieh [WK2] Add infrastructure to perform actions after an asynchronous position information request finishes https://bugs.webkit.org/show_bug.cgi?id=170658 Reviewed by Tim Horton. Adds a new test verifying that when a web page is unresponsive, the process of preparing for data interaction does not also cause the UI process to spin. We assume here that the call to prepare must be asynchronous, so it should complete before the unresponsiveness timeout is triggered. See WebKit2 ChangeLog for more details. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): 2017-04-09 Chris Dumez Drop Timer::startRepeating() overload taking a double https://bugs.webkit.org/show_bug.cgi?id=170656 Reviewed by Yusuke Suzuki. Drop Timer::startRepeating() overload taking a double as people should use Seconds type now. * TestWebKitAPI/Tests/WTF/RunLoop.cpp: (TestWebKitAPI::TEST): 2017-04-09 Youenn Fablet Resync WPT tests up to 23cd07d4685d81024b7440e042f8bbdb33e7ddec https://bugs.webkit.org/show_bug.cgi?id=170647 Reviewed by Sam Weinig. * Scripts/webkitpy/common/checkout/scm/git.py: (Git.fetch): Fetching origin remote in case there is more than one. 2017-04-08 Simon Fraser Update CSSProperties.json with correct fill-and-stroke status, and other cleanup https://bugs.webkit.org/show_bug.cgi?id=170643 Reviewed by Chris Dumez. Update the CSSProperties.json style checker to allow: - comments in codegen_properties - obsolete-category and obsolete-url in specification blocks - renamed "done" to "supported" Fix some references to codegen_properties to be codegen-properties. * Scripts/webkitpy/style/checkers/jsonchecker.py: (JSONCSSPropertiesChecker.validate_status_type): (JSONCSSPropertiesChecker.validate_property_specification): (JSONCSSPropertiesChecker.check_codegen_properties): 2017-04-08 Youenn Fablet WebRTC tests gardening https://bugs.webkit.org/show_bug.cgi?id=170508 Reviewed by Eric Carlson. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2017-04-07 Keith Miller Add a PriorityQueue class https://bugs.webkit.org/show_bug.cgi?id=170579 Reviewed by Saam Barati. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp: Added. (operator _z ): (enqueue): (dequeue): (TEST): (compareMove): 2017-04-07 Ryosuke Niwa Replace ES6SampleBench by ARES-6 in run-benchmark https://bugs.webkit.org/show_bug.cgi?id=170585 Reviewed by Saam Barati. Updated the plan file for ES6SampleBench to run ARES-6 instead. Also increased the number of iterations from 4 to 8 to match teh default, and reduced the number of browser instances to use from 5 to 3. * Scripts/webkitpy/benchmark_runner/data/patches/ARES-6.patch: Renamed from ES6SampleBench.patch. * Scripts/webkitpy/benchmark_runner/data/plans/ares6.plan: Renamed from es6bench.plan. 2017-04-07 Myles C. Maxfield REGRESSION(r211382): Complex text with justification erroneously overflows containers https://bugs.webkit.org/show_bug.cgi?id=170399 Reviewed by Simon Fraser. Check for the invariant that the sum of the advances is equal to m_totalWidth. * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp: (TestWebKitAPI::TEST_F): 2017-04-07 Ryan Haddad [ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out https://bugs.webkit.org/show_bug.cgi?id=167594 Unreviewed test gardening. Disable this test because it is still timing out on the bots. * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm: (TEST): 2017-04-07 Jonathan Bedard REGRESSION (r214553): Allow layout-tests to be run from Xcode without re-directing stdout, stdin and stderr https://bugs.webkit.org/show_bug.cgi?id=170601 Reviewed by Simon Fraser. * TestRunnerShared/IOSLayoutTestCommunication.cpp: (setUpIOSLayoutTestCommunication): Skip TCP setup if no port is in the environment. (tearDownIOSLayoutTestCommunication): Only teardown if TCP was used. 2017-04-07 Aakash Jain Add support for test262 JavaScriptCore tests https://bugs.webkit.org/show_bug.cgi?id=170523 Reviewed by Daniel Bates. * BuildSlaveSupport/build.webkit.org-config/config.json: Added bot433 and bot434. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunTest262Tests): Added class to run Test262 tests. (RunTest262Tests.start): Added. (RunTest262Tests.countFailures): Method to count the failures. (Test262Factory): Added Test262 factory class. * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: (RunTest262TestsTest): Added unit tests. (RunTest262TestsTest.assertResults): Helper method. (RunTest262TestsTest.test_no_regressions_output): Added test case. (test_failure_output): Same. (test_failures_output): Same. 2017-04-07 Caio Lima [JSC] Change --debug option to --debugger https://bugs.webkit.org/show_bug.cgi?id=170587 Reviewed by Keith Miller. * Scripts/run-jsc: This patch is changing the new debugger flag for Tools/Scripts/run-jsc to --debugger to avoid shadowing --debug flag used to run JSC with Debug build. 2017-04-07 Brent Fulgham WebKit should percent encode single quotes in query strings https://bugs.webkit.org/show_bug.cgi?id=170561 Reviewed by Alex Christensen. Add a test case for single-quote in the URL query string. * TestWebKitAPI/Tests/WebCore/URLParser.cpp: 2017-04-06 Myles C. Maxfield Make FontWithFeatures test font pass OTS https://bugs.webkit.org/show_bug.cgi?id=169788 Reviewed by Tim Horton. OTS, or the OpenType Sanitizer, is a check which tells if fonts are properly formed. Previously, our FontWithFeatures test font did not pass this check. This patch updates the font to pass the checks. Now, we can use this font on other platforms, and contribute the font to the W3C for testing the CSS Fonts level 3 spec. * FontWithFeatures/FontWithFeatures/FontCreator.cpp: (Generator::appendCFFTable): (Generator::Feature::operator<): (Generator::appendGSUBTable): (Generator::appendOS2Table): (Generator::appendFormat4CMAPTable): (Generator::appendHEADTable): (Generator::appendHHEATable): (Generator::NameRecord::operator<): (Generator::appendNameSubtable): (Generator::appendNAMETable): 2017-04-06 Alexey Proskuryakov Disable flaky WebKit2.ResizeWithHiddenContentDoesNotHang for https://bugs.webkit.org/show_bug.cgi?id=170195 * TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm: 2017-04-06 Ryan Haddad Unreviewed, rolling out r215046. This change broke internal builds. Reverted changeset: "WebRTC tests gardening" https://bugs.webkit.org/show_bug.cgi?id=170508 http://trac.webkit.org/changeset/215046 2017-04-06 Youenn Fablet WebRTC tests gardening https://bugs.webkit.org/show_bug.cgi?id=170508 Reviewed by Eric Carlson. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2017-04-06 Jonathan Bedard REGRESSION: Simulators failing to install after launch_app times out Unreviewed infrastructure fix. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice.launch_app._install_timeout): Raise RuntimeError, not Exception. 2017-04-05 Joseph Pecoraro test262: module test progressions need updated expectations (@@iterator changes) https://bugs.webkit.org/show_bug.cgi?id=170535 Reviewed by Saam Barati. * Scripts/run-jsc-stress-tests: Add :failDueToOutdatedOrBadTest to distinguish between a test failure in JavaScriptCore or an outdated or incorrect test262 test. 2017-04-05 Joseph Pecoraro Remove run-jsc-stress-tests benign warning about otool '-S' switch https://bugs.webkit.org/show_bug.cgi?id=170527 Reviewed by Aakash Jain. * Scripts/run-jsc-stress-tests: The switch is not necessary and produces an error. 2017-04-05 Jonathan Bedard webkitpy: Add pid logging for simulator processes https://bugs.webkit.org/show_bug.cgi?id=170505 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/port/simulator_process.py: (SimulatorProcess._start.handler): Add pid to exception. (SimulatorProcess._start): Ditto. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice.launch_app): Log pid when the process fails to launch and when a pid is successfully returned. 2017-04-05 Ryan Haddad Unreviewed, rolling out r214932. This change broke an internal build. Reverted changeset: "[ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out" https://bugs.webkit.org/show_bug.cgi?id=161967 http://trac.webkit.org/changeset/214932 2017-04-05 Ryan Haddad Unreviewed, rolling out r214962. Roll r214937 back in because it wasn't at fault for the build breakage. Reverted changeset: "Unreviewed, rolling out r214937." https://bugs.webkit.org/show_bug.cgi?id=170365 http://trac.webkit.org/changeset/214962 2017-04-05 Ryan Haddad Unreviewed, rolling out r214937. This change broke an internal build. Reverted changeset: "REGRESSION (r202472): Data Detection overwrites existing links in detected ranges" https://bugs.webkit.org/show_bug.cgi?id=170365 http://trac.webkit.org/changeset/214937 2017-04-05 Jonathan Bedard Increase timeouts for simulator testing Unreviewed infrastructure fix. r214895 was not sufficient, increasing timeouts again. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice.install_app): Increase timeout from 3 to 10 seconds. 2017-04-05 Aakash Jain Formatting fix to remove extra space. Unreviewed formatting fix. * Scripts/webkitdirs.pm: (isEmbeddedWebKit): Remove extra space. 2017-04-05 Aakash Jain Rename isIOSLikeWebKit to isEmbeddedWebKit. Rubber-stamped by Alexey Proskuryakov. * Scripts/webkitdirs.pm: (isEmbeddedWebKit): Added (isIOSLikeWebKit): Deleted. 2017-04-05 Alex Christensen Fix CMake build. * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm: * TestRunnerShared/spi/CoreGraphicsSPI.h: Removed. * TestRunnerShared/spi/CoreGraphicsTestSPI.h: Copied from Tools/TestRunnerShared/spi/CoreGraphicsSPI.h. There is a CoreGraphicsSPI.h in WebCore and the CMake build was finding the wrong one. Since we just inherit the include paths from WebCore in the CMake build and since this SPI is only used for testing, I just renamed CoreGraphicsSPI.h to CoreGraphicsTestSPI.h to avoid any name collisions. * WebKitTestRunner/PlatformMac.cmake: Add some missing files. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2017-04-05 Keith Miller Add debug option to run-jsc script https://bugs.webkit.org/show_bug.cgi?id=170503 Reviewed by Yusuke Suzuki. Adds a new option to the run-jsc script so that when passed "--debug" it will wrap the jsc call with an lldb invocation. If someone wishes to use a different debugger they can set the DEBUGGER environment variable. Additionally, run-jsc now exits with the exit status of the jsc call. * Scripts/run-jsc: 2017-04-05 Andy Estes REGRESSION (r202472): Data Detection overwrites existing links in detected ranges https://bugs.webkit.org/show_bug.cgi?id=170365 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: (expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute. (TEST): Re-enabled the test, which now passes. 2017-04-05 Andy Estes [ios-simulator] API test WebKit2.WKWebProcessPlugInRangeHandle timing out https://bugs.webkit.org/show_bug.cgi?id=167594 Re-enabled this API test now that webkit.org/b/161967 is fixed. * TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm: (TEST): 2017-04-05 Andy Estes [ios-simulator] API test WebKit2.DataDetectionReferenceDate timing out https://bugs.webkit.org/show_bug.cgi?id=161967 Reviewed by Alexey Proskuryakov. * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: (TEST): Re-enabled WebKit2.DataDetectionReferenceDate. 2017-04-04 Simon Fraser Various settings in Minibrowser are off by default, and should be on https://bugs.webkit.org/show_bug.cgi?id=170465 rdar://problem/31421543 Reviewed by Tim Horton. Explicitly set preferences that should be on by default to enabled, if they have not been set previously. * MiniBrowser/mac/SettingsController.m: (-[SettingsController init]): 2017-04-04 JF Bastien Add JF Bastien as reviewer https://bugs.webkit.org/show_bug.cgi?id=170481 Reviewed by Mark Lam. * Scripts/webkitpy/common/config/contributors.json: 2017-04-04 Jonathan Bedard Increase timeouts for simulator testing Unreviewed infrastructure fix. * Scripts/webkitpy/port/simulator_process.py: (SimulatorProcess._start): Increase timeout from 3 to 6 seconds. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice.install_app): Increase timeout from 1 to 3 seconds. 2017-04-04 Tim Horton [Mac] -[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:] invokes the resultCollector with didWrap = NO even when it wraps https://bugs.webkit.org/show_bug.cgi?id=165801 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm: (TEST): Add some tests for wrapping finds. 2017-04-03 Joseph Pecoraro Add some new patterns to filter-build-webkit https://bugs.webkit.org/show_bug.cgi?id=170429 Reviewed by Alexey Proskuryakov. * Scripts/filter-build-webkit: (setOutputFormatOption): 2017-04-03 Wenson Hsieh Data interaction should register type identifiers in order of priority https://bugs.webkit.org/show_bug.cgi?id=170428 Reviewed by Tim Horton. Augments existing unit tests to check for the existence and priority of type identifiers in the UIItemProviders created upon starting data interaction. Also fixes a race condition in one of the unit tests and adds a new unit test for data interaction from a textarea to an input. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (checkTypeIdentifierPrecedesOtherTypeIdentifier): (TestWebKitAPI::TEST): * TestWebKitAPI/ios/DataInteractionSimulator.h: * TestWebKitAPI/ios/DataInteractionSimulator.mm: (-[DataInteractionSimulator _advanceProgress]): (-[DataInteractionSimulator sourceItemProviders]): (-[DataInteractionSimulator _webView:showCustomSheetForElement:]): 2017-04-03 Carlos Alberto Lopez Perez [GTK][JHBuild] Update mesa repository url for tarballs https://bugs.webkit.org/show_bug.cgi?id=170431 Reviewed by Michael Catanzaro. * gtk/jhbuild.modules: 2017-04-03 Joseph Pecoraro TestWebKitAPI: Warning: Multiple build commands for Ahem.ttf https://bugs.webkit.org/show_bug.cgi?id=170430 Reviewed by Alexey Proskuryakov. * TestWebKitAPI/Tests/mac/Ahem.ttf: Removed. Eliminate one of the copies of Ahem.ttf. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Once eliminated, there is now only one Ahem.ttf that is copied to the Resources bundle. Drive-by sort the project file. 2017-04-03 Simon Fraser Allow MiniBrowser windows to receive local file drags again https://bugs.webkit.org/show_bug.cgi?id=170422 Reviewed by Wenson Hsieh. Adopt the new UIDelegate SPI to allow drops. * MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController _webView:dragDestinationActionMaskForDraggingInfo:]): 2017-04-03 Carlos Alberto Lopez Perez [GTK][JHBuild] Fetch libvpx from a release tarball instead of git https://bugs.webkit.org/show_bug.cgi?id=170426 Reviewed by Michael Catanzaro. * gtk/jhbuild.modules: 2017-04-03 Nan Wang AX: Expose link children when doing search predication on iOS https://bugs.webkit.org/show_bug.cgi?id=170424 Reviewed by Chris Fleizach. * DumpRenderTree/ios/AccessibilityUIElementIOS.mm: (AccessibilityUIElement::uiElementForSearchPredicate): * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::uiElementForSearchPredicate): 2017-04-03 Brian Burg run-safari should support launching with custom language and locale https://bugs.webkit.org/show_bug.cgi?id=170397 Reviewed by Alexey Proskuryakov. Hook up -AppleLanguages and -AppleLocale to command line options. * Scripts/webkitdirs.pm: (printHelpAndExitForRunAndDebugWebKitAppIfNeeded): (argumentsForRunAndDebugMacWebKitApp): 2017-04-03 Jonathan Bedard webkitpy: Provide option to skip install https://bugs.webkit.org/show_bug.cgi?id=170344 Reviewed by Alexey Proskuryakov. Installing can take time for on device testing. Provide an option to skip install and use whatever driver is currently installed on the device or simulator. * Scripts/webkitpy/port/base.py: (Port.check_build): Do not check driver if skipping install. * Scripts/webkitpy/port/factory.py: (platform_options): Add '--no-install' option. * Scripts/webkitpy/port/ios.py: (IOSPort.setup_test_run): Check install option before installing. 2017-04-03 Keith Miller WebAssembly: Update spec tests https://bugs.webkit.org/show_bug.cgi?id=170361 Rubber-stamped by Saam Barati. Update the runner to know the new wasm spec test harness code. * Scripts/run-jsc-stress-tests: 2017-04-01 Alexey Proskuryakov Rolling back , as it made WebKit2.DataDetectionReferenceDate time out. Was REGRESSION (r202472): Data Detection overwrites existing links in detected ranges https://bugs.webkit.org/show_bug.cgi?id=170365 * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: 2017-04-01 Csaba Osztrogonác Mac cmake buildfix after 214586. https://bugs.webkit.org/show_bug.cgi?id=170381 Unreviewed speculative buildfix. * WebKitTestRunner/PlatformMac.cmake: 2017-04-01 Csaba Osztrogonác Unreviewed speculative Mac cmake buildfix after r214586, just for fun. https://bugs.webkit.org/show_bug.cgi?id=161675 * WebKitTestRunner/PlatformMac.cmake: 2017-03-31 Jonathan Bedard webkitpy: Add target host concept https://bugs.webkit.org/show_bug.cgi?id=170186 Reviewed by Alexey Proskuryakov. Adding the idea of a target host. Target hosts are objects conforming to the structure of the SystemHost object in Scripts/webkitpy/common/system/systemhost.py Target hosts are the hosts associated with a worker process. * Scripts/webkitpy/common/system/filesystem.py: (FileSystem.map_base_host_path): Convert a path from an absolute path on the base host to an absolute path on this host. (FileSystem.move_to_base_host): Move file from this host to the base host. (FileSystem.move_from_base_host): Move file from the base host to this host. (FileSystem.copy_to_base_host): Copy file from this host to the base host. (FileSystem.copy_from_base_host): Copy file from the base host to this host. * Scripts/webkitpy/common/system/filesystem_mock.py: (MockFileSystem.map_base_host_path): Convert a path from an absolute path on the base host to an absolute path on this host. (MockFileSystem.move_to_base_host): Move file from this host to the base host. (MockFileSystem.move_from_base_host): Move file from the base host to this host. (MockFileSystem.copy_to_base_host): Copy file from this host to the base host. (MockFileSystem.copy_from_base_host): Copy file from the base host to this host. * Scripts/webkitpy/port/base.py: (Port.target_host): Return host determined by worker number. (Port.abspath_for_test): Accept optional target_host argument to return location of test on a target host. (Port._driver_tempdir): Accept optional target_host argument to return a temporary directory on a target host. (Port.sample_process): Accept optional target_host argument to sample process on a target host. * Scripts/webkitpy/port/darwin.py: (DarwinPort.sample_process): Run sample process on target host. (DarwinPort.sample_file_path): Accept directory for file. (DarwinPort.spindump_file_path): Ditto. * Scripts/webkitpy/port/darwin_testcase.py: (DarwinTest.test_spindump): Check file movement. (DarwinTest.test_sample_process): Ditto. (DarwinTest.test_sample_process_exception): * Scripts/webkitpy/port/driver.py: (Driver.__init__): Add and set self._target_host variable. (Driver._start): Pass target host to _driver_tempdir(). (Driver.stop): Call the target host's rmtree. (Driver._check_for_driver_timeout): Pass target host to sample_process. (Driver._check_for_driver_crash_or_unresponsiveness): Ditto. (Driver._command_from_driver_input): Pass target host to abspath_for_test and map layout test directory to target host. * Scripts/webkitpy/port/ios.py: (IOSPort): (IOSPort.target_host): Replaced device_for_worker_number. (IOSPort.setup_test_run): Replace device_for_worker_number with target_host. (IOSPort.device_for_worker_number): Replaced with target_host. * Scripts/webkitpy/port/server_process.py: (ServerProcess.__init__): Accept target_host instead of worker_number. (ServerProcess._start): Replace _host with _target_host. (ServerProcess._handle_timeout): Ditto. (ServerProcess._kill): Ditto. * Scripts/webkitpy/port/simulator_process.py: (SimulatorProcess.__init__): Accept target_host instead of worker_number. (SimulatorProcess._start): Replace _device with _target_host. (SimulatorProcess.stop): Ditto. (SimulatorProcess._kill): Deleted. 2017-03-31 Jonathan Bedard Unreviewed fix after r214569 https://bugs.webkit.org/show_bug.cgi?id=170255 Unreviewed infrastructure fix. * Scripts/webkitpy/port/ios.py: (IOSPort.clean_up_test_run): Check if the device is defined before teardown. 2017-03-31 Andy Estes REGRESSION (r202472): Data Detection overwrites existing links in detected ranges https://bugs.webkit.org/show_bug.cgi?id=170365 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: (expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute. (TEST): Re-enabled the test, which now passes. 2017-03-31 Tim Horton Mail can get stuck underneath FindController::findStringMatches after searching in a long message https://bugs.webkit.org/show_bug.cgi?id=170326 Reviewed by Simon Fraser. * TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm: (TEST): 2017-03-31 Carlos Garcia Campos Unreviewed. Fix WTR crashes in GTK+ port after r214413. Fixes: http/tests/ssl/upgrade-origin-usage.html http/tests/websocket/tests/hybi/network-process-crash-error.html http/tests/websocket/tests/hybi/simple-wss.html * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformContext): Return the context. 2017-03-30 Sam Weinig Expose the WKView SPI, _prepareForMoveToWindow:withCompletionHandler as WKWebView SPI https://bugs.webkit.org/show_bug.cgi?id=170315 Reviewed by Simon Fraser. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Added. Add test showing the completion handler is called. 2017-03-30 Filip Pizlo Air should support linear scan for optLevel<2 https://bugs.webkit.org/show_bug.cgi?id=170161 Reviewed by Saam Barati. This makes us run a bunch of JS tests at optLevel=1 to force testing of this new compiler pipeline. * Scripts/run-jsc-stress-tests: 2017-03-30 Aakash Jain Support tvOS and watchOS in webkitdirs.pm https://bugs.webkit.org/show_bug.cgi?id=170267 Reviewed by Alexey Proskuryakov. * Scripts/webkitdirs.pm: (determineXcodeSDK): Evaluate sdk for tvos and watchos. (xcodeSDKPlatformName): Added support for tvos and watchos. (determinePortName): Same. (isAppleCocoaWebKit): Same. (willUseAppleTVDeviceSDK): Added. (willUseAppleTVSimulatorSDK): Added. (willUseWatchDeviceSDK): Added. (willUseWatchSimulatorSDK): Added. (isTVOSWebKit): Added. (isWATCHOSWebKit): Added. (isIOSLikeWebKit): Added. 2017-03-30 Wenson Hsieh [WK2] Touches should not cancel when showing a custom action sheet while data interaction is active https://bugs.webkit.org/show_bug.cgi?id=170291 Reviewed by Tim Horton. Adds support for testing how the custom action sheet presentation codepath interacts with data interaction, as well as a new unit test. In this case, we force data interaction to fail if touches are canceled on the shared UIApplication, and verify that data interaction completes successfully. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/ios/DataInteractionSimulator.h: * TestWebKitAPI/ios/DataInteractionSimulator.mm: (-[DataInteractionSimulatorApplication _cancelAllTouches]): (-[DataInteractionSimulator initWithWebView:]): (-[DataInteractionSimulator simulateAllTouchesCanceled:]): (-[DataInteractionSimulator runFrom:to:]): (-[DataInteractionSimulator _advanceProgress]): (-[DataInteractionSimulator _webView:showCustomSheetForElement:]): 2017-03-30 Per Arne Vollan [Win] Pass close_fds = True in Python popen call. https://bugs.webkit.org/show_bug.cgi?id=170172 Reviewed by Brent Fulgham. This was previously not supported on Windows, but in Python 2.7.10 it is. * Scripts/webkitpy/common/system/executive.py: (Executive._should_close_fds): * Scripts/webkitpy/port/server_process.py: (ServerProcess._start): 2017-03-30 Aakash Jain Change my status to be a WebKit reviewer. Unreviewed status update edit. * Scripts/webkitpy/common/config/contributors.json: 2017-03-30 Carlos Alberto Lopez Perez Change my status to be a WebKit reviewer. Unreviewed status update edit. * Scripts/webkitpy/common/config/contributors.json: 2017-03-29 Tim Horton Swipe gesture tests don't work on macOS Sierra https://bugs.webkit.org/show_bug.cgi?id=161675 Reviewed by Darin Adler. * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::platformPlayBackEventStream): (WTR::UIScriptController::beginBackSwipe): (WTR::UIScriptController::completeBackSwipe): * TestRunnerShared/EventSerialization/mac/EventSerializerMac.h: Copied from Tools/DumpRenderTree/mac/UIScriptControllerMac.mm. * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm: Added. (eventIsOfType): (eventIsOfTypes): (eventIsOfGestureType): (eventIsOfGestureTypes): (+[EventSerializer dictionaryForEvent:relativeToTime:]): (+[EventSerializer createEventForDictionary:inWindow:relativeToTime:]): (+[EventSerializer playEventStream:inWindow:completionHandler:]): * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.h: Copied from Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm. * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.mm: Added. (beginSwipeBackEventStream): (completeSwipeBackEventStream): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::playBackEventStream): (WTR::UIScriptController::beginBackSwipe): (WTR::UIScriptController::completeBackSwipe): (WTR::UIScriptController::platformPlayBackEventStream): (WTR::UIScriptController::platformClearAllCallbacks): Deleted. * TestRunnerShared/UIScriptContext/UIScriptController.h: * TestRunnerShared/spi/CoreGraphicsSPI.h: Added. * TestRunnerShared/spi/IOKitSPI.h: Renamed from Tools/WebKitTestRunner/ios/IOKitSPI.h. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::playBackEvents): (WTR::UIScriptController::beginBackSwipe): (WTR::UIScriptController::completeBackSwipe): (WTR::UIScriptController::platformPlayBackEventStream): 2017-03-29 Jonathan Bedard webkitpy: Robust test clean-up https://bugs.webkit.org/show_bug.cgi?id=170255 Reviewed by Alexey Proskuryakov. On-device testing is the motivation for this change. Failure to run clean-up functions can result in zombie processes, residual NFS mounts and other undesirable remnants from a failed test run. Make an effort to clean-up even if exceptions are thrown during set-up or clean-up. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._set_up_run): Clean up test run if set-up fails. * Scripts/webkitpy/port/ios.py: (IOSPort.clean_up_test_run): Continue cleaning up devices even after an exception is thrown. 2017-03-29 Jonathan Bedard Simulator testing stops after the first crash Unreviewed infrastructure fix. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice): (SimulatedDevice.launch_app): Increase timeout when attempting to launch app. 2017-03-29 Jonathan Bedard webkitpy: Standardize web-server port definitions https://bugs.webkit.org/show_bug.cgi?id=170144 Reviewed by Daniel Bates. Default web-server ports should be declared in global variables. Add functions to web-servers which return the ports these servers are using so that other tools can forward them. * Scripts/webkitpy/layout_tests/servers/apache_http_server.py: (LayoutTestApacheHttpd.__init__): Use shared constants in http_server_base.py. * Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py: (TestLayoutTestApacheHttpd.test_start_cmd): Check port_to_forward for expected values. * Scripts/webkitpy/layout_tests/servers/http_server.py: (Lighttpd.__init__): Use shared constants in http_server_base.py. (Lighttpd._prepare_config): Ditto. * Scripts/webkitpy/layout_tests/servers/http_server_base.py: (HttpServerBase): Add default port constants. (HttpServerBase.ports_to_forward): Add function to return ports used for http server. * Scripts/webkitpy/layout_tests/servers/http_server_unittest.py: (TestHttpServer.test_start_cmd): Check port_to_forward for expected values. * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py: (WebPlatformTestServer.ports_to_forward): Add function to return ports used for web-platform tests. * Scripts/webkitpy/layout_tests/servers/websocket_server.py: (PyWebSocket): Make default port values public. (PyWebSocket.__init__): Use public default port. (PyWebSocket.ports_to_forward): Return port used in an array. * Scripts/webkitpy/port/base.py: (Port.to.ports_to_forward): Return all ports used the various web-servers managed by the port object. (Port.to.start_websocket_server): Use PyWebSocket port constants. 2017-03-29 Wenson Hsieh Links with empty hrefs should not be drag sources https://bugs.webkit.org/show_bug.cgi?id=170241 Reviewed by Tim Horton. Adds a new API test: DataInteractionTests.LinkWithEmptyHREF. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/ios/DataInteractionSimulator.h: Expose the current phase of the data interaction simulator for verifying behaviors in unit tests. * TestWebKitAPI/ios/DataInteractionSimulator.mm: (-[DataInteractionSimulator phase]): 2017-03-29 Jonathan Bedard Use TCP instead of FIFOs for Simulator/Device communication https://bugs.webkit.org/show_bug.cgi?id=169419 Reviewed by Alexey Proskuryakov. Using TCP instead of FIFOs when communicating with devices allows the device being tested to be on a different machine then the one handling the management of the test run. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/mac/DumpRenderTree.mm: (dumpRenderTree): Call setUp/tearDownIOSLayoutTestCommunication() instead of using FIFOs. * Scripts/webkitpy/port/device.py: (Device.__init__): Initialize the listening_socket. (Device.listening_port): Return port of listening socket. (Device.prepare_for_testing): Open listening socket on an open port, prepare platform device fro testing. (Device.finished_testing): Close listening socket associated with this device, call the platform device's finished_testing function if it exists. * Scripts/webkitpy/port/ios.py: (IOSPort.setup_test_run): Prepare each device for testing. (IOSPort.clean_up_test_run): Notify each device that testing has completed. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort): Work around device persistence bug. (IOSSimulatorPort.__init__): Ditto. * Scripts/webkitpy/port/simulator_process.py: (SimulatorProcess): (SimulatorProcess.NonBlockingFileFromSocket): Add to work around shortcomings in Python 2’s makefile. (SimulatorProcess.NonBlockingFileFromSocket.__init__): Initialize file with socket. (SimulatorProcess.ReadFileSocket.close): Close file and then socket; (SimulatorProcess.__init__): Pass TCP port over environment, remove FIFO names. (SimulatorProcess.__getattr__): Expose all file attributes. (SimulatorProcess._accept_connection_create_file): Wait for connection from server and create and return a file-like object from the incoming connection. (SimulatorProcess._start): Use TCP connections instead of FIFOs. (SimulatorProcess._start.handler): Output server port in timeout exception. (SimulatorProcess._reset): Deleted. * TestRunnerShared/IOSLayoutTestCommunication.cpp: Added. (connectToServer): Return socket connected to the provided server address. (setupiOSLayoutTestCommunication): Connect stdin, stdout and stderr as socket to a TCP server running on localhost. (tearDownIOSLayoutTestCommunication): Close stdin, stdout and stderr TCP sockets. * TestRunnerShared/IOSLayoutTestCommunication.h: Added. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformInitialize): Call setUpIOSLayoutTestCommunication() instead of using FIFOs. (WTR::TestController::platformDestroy): Call tearDownIOSLayoutTestCommunication(). 2017-03-29 Jonathan Bedard webkitpy: Add IOSDevicePort and IOSPort tests https://bugs.webkit.org/show_bug.cgi?id=170206 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/port/darwin_testcase.py: Removed unused import. * Scripts/webkitpy/port/ios_device_unittest.py: Added. (iosDeviceTest): Contains tests for the IOSDevicePort. (iosDeviceTest.make_port): Creates an IOSDevicePort with arguments. (iosDeviceTest.test_operating_system): Check for the correct operating system. * Scripts/webkitpy/port/ios_simulator_unittest.py: Moved from Tools/Scripts/webkitpy/port/ios_unittest.py. (iosSimulatorTest): Inherit from ios_testcase. (iosSimulatorTest.make_port): Ditto. (iosSimulatorTest.test_get_crash_log): Ditto. * Scripts/webkitpy/port/ios_testcase.py: Added. (iOSTest): Contains shared tests for the IOSDevicePort and IOSSimulatorPort. (iOSTest.test_driver_name): Tests for iOS app driver. (iOSTest.test_baseline_searchpath): Check that ios and ios-wk1 are in the baseline search path. * Scripts/webkitpy/port/ios_unittest.py: Moved to ios_simulator_unittest.py. * Scripts/webkitpy/port/port_testcase.py: (PortTestCase): Rename is_simulator to disable_setup to more accurately describe it's meaning. (PortTestCase.test_diff_image): Use disable_setup instead of is_simulator. (PortTestCase.test_diff_image_crashed): Ditto. 2017-03-28 Jason Marcell Fix `index-expected.txt` for dashboard test results. https://bugs.webkit.org/show_bug.cgi?id=170214 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/index-expected.txt: 2017-03-28 Alexey Proskuryakov Bot watcher's dashboard has separate settings for "mac" and "macos" https://bugs.webkit.org/show_bug.cgi?id=170164 Reviewed by Tim Horton. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js: (Settings.prototype.parsePlatformFamily): Aded a special case for "macos". 2017-03-28 Alexey Proskuryakov Fix dashboard test results on the dashboard https://bugs.webkit.org/show_bug.cgi?id=170158 Reviewed by Tim Horton. Link to result diff instead of stdio. Looking at the diff, I wonder if it can be further improved, as it's not super readable, but stdio is entirely useless in this context. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js: (Buildbot.prototype.dashboardTestResultsURLForIteration): Generate formatted diff link. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js: Fixed a typo in step name, so that it's actually treated as productive. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js: (BuildbotTesterQueueView.prototype.appendBuilderQueueStatus): (BuildbotTesterQueueView.prototype.update): (BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures): Added special handling for dashboard test results. 2017-03-28 Aakash Jain Fix Dashboard test _presentPopoverForJavaScriptCoreTestRegressions https://bugs.webkit.org/show_bug.cgi?id=170193 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js: Fixed the order of arguments. 2017-03-28 Aakash Jain Dashboard tests fails to fetch the revision from commits https://bugs.webkit.org/show_bug.cgi?id=170191 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockTrac.js: Added recordedCommitIndicesByRevisionNumber. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js: (setup): Populated trac.recordedCommitIndicesByRevisionNumber since the dashboard code uses this variable. 2017-03-28 Timothy Horton Safari crashes when attempting to close tab that is displaying PDF https://bugs.webkit.org/show_bug.cgi?id=170201 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm: (TEST): Add a test for doAfterNextStablePresentationUpdate just like the existing non-stable one. 2017-03-28 Jonathan Bedard webkitpy: Use host pattern for devices https://bugs.webkit.org/show_bug.cgi?id=170121 Reviewed by Daniel Bates. Devices should be treated like hosts throughout webkitpy so that more code can be re-used. Add the needed properties and use executive over custom implemented polling/killing functions. * Scripts/webkitpy/port/device.py: (Device): (Device.executive): Add optional executive property. (Device.filesystem): Add optional filesystem property. (Device.user): Add optional user property. (Device.platform): Add optional platform property. (Device.workspace): Add optional workspace property. (Device.poll): Deleted. * Scripts/webkitpy/port/simulator_process.py: (SimulatorProcess.Popen.poll): Use the devices executive. (SimulatorProcess.stop): Ditto. (SimulatorProcess._kill): Ditto. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice.__init__): Add executive, filesystem, user, platform and workspace to the platform device. (SimulatedDevice.poll): Deleted. 2017-03-28 Aakash Jain Dashboard test fails with error: latestIterationGetter is not a function https://bugs.webkit.org/show_bug.cgi?id=170167 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js: (this.view._latestProductiveIteration): Configure _latestProductiveIteration in setup. 2017-03-27 Lucas Forschler Another test v8. 2017-03-27 Lucas Forschler Another test v7. 2017-03-27 Lucas Forschler Another test v6. 2017-03-27 Lucas Forschler Another test v5. 2017-03-27 Lucas Forschler Another test v4. 2017-03-27 Lucas Forschler Another test v3. 2017-03-27 Lucas Forschler Another test v2. 2017-03-27 Lucas Forschler Another test. 2017-03-27 Lucas Forschler Update build.webkit.org to use port 16000 for PBChangeSource. Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/master.cfg: 2017-03-27 Jason Marcell Bots should run the dashboard tests https://bugs.webkit.org/show_bug.cgi?id=168994 Reviewed by Daniel Bates and David Kilzer. We pull the `--results-directory` argument value out so that `RunDashboardTests` can override it so that we can separately run the dashboard layout tests. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunWebKitTests): Define a class variable called resultDirectory for the `--results-directory` argument so that subclasses can override this if needed. (RunWebKitTests.start): Set the `--results-directory` argument value to the value of self.resultDirectory. (RunDashboardTests): Subclass of RunWebKitTests in which we run the layout tests for the Bot Watcher's Dashboard. (RunDashboardTests.start): Override the `--layout-tests-directory` to point to the dashboard layout tests. (ExtractTestResults.addCustomURLs): Update the current results URL label to indicate that it links to layout tests results and add a new link to link to dashboard layout test results. (TestFactory.__init__): Update unit tests to account for new RunDashboardTests step. * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js: 2017-03-27 Jonathan Bedard webkitpy: Look for 'ios' test expectations for IOSPorts https://bugs.webkit.org/show_bug.cgi?id=169413 Reviewed by Alexey Proskuryakov. Test expectations for iOS tests should include the 'ios' folder. Modify default_baseline_search_path to include 'ios' folder and derivatives for IOSPort. * Scripts/webkitpy/port/ios.py: (IOSPort._generate_all_test_configurations): Moved from IOSSimulatorPort. (IOSPort.default_baseline_search_path): Add ios expectations along with port specific expectations. (IOSPort.test_expectations_file_position): Added for testing. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort._generate_all_test_configurations): Moved to IOSPort. (IOSSimulatorPort.default_baseline_search_path): Moved to IOSPort. 2017-03-27 Jonathan Bedard REGRESSION: Reseting _device_map on each child process Unreviewed infrastructure fix. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort): Add _DEVICE_MAP class variable. (IOSSimulatorPort.__init__): Use shared class variable (IOSSimulatorPort._device_for_worker_number_map): Use _DEVICE_MAP class variable (IOSSimulatorPort._create_devices): Ditto. (IOSSimulatorPort._quit_ios_simulator): Ditto. (IOSSimulatorPort.clean_up_test_run): Ditto. 2017-03-27 Jonathan Bedard REGRESSION: Failing to iterate over Simulator.managed_devices map Unreviewed infrastructure fix. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort._create_devices): Iterate through managed_devices by worker number. 2017-03-27 Alex Christensen Make WebSockets work in network process https://bugs.webkit.org/show_bug.cgi?id=169930 Reviewed by Youenn Fablet. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Add terminateNetworkProcess for the new test http/tests/websocket/tests/hybi/network-process-crash-error.html * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setAllowsAnySSLCertificate): (WTR::TestRunner::terminateNetworkProcess): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::setAllowsAnySSLCertificate): (WTR::TestController::terminateNetworkProcess): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformContext): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::platformContext): (WTR::TestController::platformLibraryPathForTesting): Add some infrastructure for http/tests/websocket/tests/hybi/simple-wss.html which calls testRunner.setAllowsAnySSLCertificate. It used to only be effective for the WebProcess, but SocketStreamHandleImpl::createStreams is now in the NetworkProcess, and we need its call to Settings::allowsAnySSLCertificate to be loosened for this test, which tests that wss works, but our test certificate has an invalid certificate chain. We want production software to not have the ability to have its security weakened, so this is a test code path that is only implemented in WebKitTestRunner. 2017-03-25 Jonathan Bedard webkitpy: Use generalized device instead of platform specific one https://bugs.webkit.org/show_bug.cgi?id=170078 Reviewed by Daniel Bates. SimulatedDevice is re-created each time 'xcrun simctl list' is called. Device should remain persistent. Changing Device to a more explicit interface. SimulatedDevice no longer inherits from Device and IOSSimulator returns Devices wrapping SimulatedDevices. * Scripts/webkitpy/port/device.py: Added. (Device): (Device.__init__): Construct with platform device. (Device.install_app): Install app at app path on platform device. (Device.launch_app): Launch app with bundle ID on platform device. (Device.poll): Poll platform device. (Device.udid): Access platform device UDID. (Device.__nonzero__): Check if instantiated with a valid platform device. (Device.__eq__): Compare by udid. (Device.__ne__): Ditto. (Device.__repr__): Print out platform_device representation. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort.__init__): Initialize the _device_map to an empty dictionary. (IOSSimulatorPort._device_for_worker_number_map): Return self._device_map. (IOSSimulatorPort._create_simulators): Call Simulator.managed_devices directly. (IOSSimulatorPort._create_devices): Place Simulator.managed_devices into the device map. (IOSSimulatorPort._quit_ios_simulator): Reset self._device_map. * Scripts/webkitpy/xcode/device.py: Removed. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice): (SimulatedDevice.__init__): Move host, name and did to SimulatedDevice. (SimulatedDevice.__eq__): Compare two simulated devices. (SimulatedDevice.__ne__): Ditto. (SimulatedDevice.__repr__): Print name and udid. 2017-03-25 Adrian Perez de Castro [GTK] No value returned from PrintCustomWidgetTest::createWebKitPrintOperation() in TestPrinting.cpp https://bugs.webkit.org/show_bug.cgi?id=170059 Reviewed by Carlos Garcia Campos. * TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Use "void" as return type in the declaration, the only use of the method in this same file ignores the returned value anyway. 2017-03-24 Srinivasan Vijayaraghavan webkitpy should be able to run API tests https://bugs.webkit.org/show_bug.cgi?id=170028 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/common/config/ports.py: (DeprecatedPort.run_api_tests_command): Added. * Scripts/webkitpy/port/base.py: (Port.api_results_directory): Added. * Scripts/webkitpy/tool/steps/runtests.py: (RunTests.run): Check if we should be running API tests. (RunTests._run_api_tests): Generate script to run API tests with json output. * Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests. 2017-03-24 Srinivasan Vijayaraghavan Add JSON results for API tests https://bugs.webkit.org/show_bug.cgi?id=170021 Reviewed by Alexey Proskuryakov. * Scripts/run-api-tests: (runTestsBySuite): Appends failures and timeouts to JSON data. (writeJsonDataIfApplicable): Writes JSON data to a file. 2017-03-24 Lucas Forschler update committer_auth.py to be python 2.7 compliant https://bugs.webkit.org/show_bug.cgi?id=170063 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/committer_auth.py: (CommitterAuth.authenticate): convert e.message to e.args[0] 2017-03-24 Srinivasan Vijayaraghavan webkitpy: Parse JSON results from run-api-tests https://bugs.webkit.org/show_bug.cgi?id=170062 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/common/net/apitestresults.py: Added. (APITestResults): Structure to represent API test results. (APITestResults.__init__): (APITestResults.intersection): Return the failures common to both sets of results. (APITestResults.results_from_string): Create an APITestResults object from a JSON results string. (APITestResults.equals): Return True if both results were the same. (APITestResults.is_subset): Return True if failing tests are a subset of the other failing tests. (APITestResults.all_passed): Return True if everything passed. (APITestResults.failing_tests): List of tests that didn't pass. (APITestResults.did_exceed_test_failure_limit): Always False. * Scripts/webkitpy/common/net/apitestresults_unittest.py: Added. (APITestResultsTest): Unit tests. * Scripts/webkitpy/tool/bot/apitestresultsreader.py: Added. (APITestResultsReader): Read contents of JSON results file. 2017-03-24 Alex Christensen REGRESSION: Content Blocker: Blocking "a[href*=randomString]" doesn't work https://bugs.webkit.org/show_bug.cgi?id=169167 Reviewed by Simon Fraser. * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: (TestWebKitAPI::TEST_F): Test an example of a selector that was incorrectly determined to be invalid. 2017-03-24 Jonathan Bedard Increase timeout for booting simulators. Unreviewed infrastructure fix. * Scripts/webkitpy/xcode/simulator.py: (Simulator.wait_until_device_is_booted): Increase timeout. (Simulator.wait_until_device_is_in_state): Increase timeout. 2017-03-24 Carlos Garcia Campos Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r214277. Since r214277 beforeunload events are not fired unless there's some user interaction, so we need to simulate it in our unit tests to work. * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp: (testWebViewJavaScriptDialogs): 2017-03-24 Carlos Garcia Campos [GTK] Add MIMETypeRegistry implementation using xdgmime and remove the GTK+ one https://bugs.webkit.org/show_bug.cgi?id=170001 Reviewed by Michael Catanzaro. Ignore style of xdgmime sources. * Scripts/webkitpy/tool/steps/checkstyle.py: 2017-03-23 Wenson Hsieh Dragging on a large image should not revert to a file icon if data interaction is enabled https://bugs.webkit.org/show_bug.cgi?id=170018 Reviewed by Tim Horton. Add new tests for data interaction. LargeImageToTargetDiv verifies the change made in this patch, while AttachmentElementItemProviders was a test that was previously removed due to . * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Added. * TestWebKitAPI/Tests/ios/DataInteractionTests.mm: (TestWebKitAPI::TEST): 2017-03-23 Fujii Hironori Update WinCairoRequirements.zip https://bugs.webkit.org/show_bug.cgi?id=169950 Reviewed by Alex Christensen. * Scripts/update-webkit-wincairo-libs: Replace $winCairoLibsURL. == Rolled over to ChangeLog-2017-03-23 ==